什么是接口测试及其测试流程
感谢大家的莅临,文章末尾为大家准备了一些福利,需要的可以获取哦。
1 什么是接口测试
接口测试是项目测试的一部分,正如其名,它测试的主要对象是接口,是测试系统组件间接口的一种测试。
百度百科对接口测试的定义:接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
一般来说接口测试按测试对象分为两种类型:模块接口测试、web接口测试;web接口测试又可以分为服务端接口测试和外部接口测试。
模块接口测试其实就是单元测试的基础,适用于分别开发一些功能模块,数据会在这些功能模块之间传递。服务端接口测试,就是测试客户端/浏览器与服务端接口,一般开发人员都分为前端开发和后端开发,他们之间的怎么进行接口交互,可以参考我之前的文章接口测试基础-了解http请求。外部接口测试,其实相对而言的,这个接口不是本系统内部的,而是调用的是第三方的接口,如支付宝授权登录,需要调用支付宝授权接口。
接口测试是一种完整的测试体系,也分为接口功能测试、接口性能测试、接口稳定性测试、接口安全性测试。
接口测试也可以分为参数测试和场景测试。参数测试就是对单个接口的入参和出参进行详细的测试,包括入参默认值、必传项、非必传项、业务逻辑、兼容性测试(是否兼容不同版本的前端)、错误码、异常类型、安全加密等。场景测试,就是指单个接口组成的连续的场景,比如注册功能,需要包括发送验证码接口、注册接口,其中注册接口包含的功能有验证注册账号和注册验证码功能。
2 接口测试的测试流程
了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境。
3 接口测试持续集成
对接口测试而言,持续集成自动化是核心内容,通过自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:
a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
c) 问题定位:报错信息、日志更精准,方便问题复现与定位。
d) 结果校验:加强自动化校验能力,如数据库信息校验。
e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。
f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。
4 接口测试质量评估标准
a) 业务功能覆盖是否完整
b) 业务规则覆盖是否完整
c) 参数验证是否达到要求(边界、业务规则)
d) 接口异常场景覆盖是否完整
e) 接口覆盖率是否达到要求
f) 代码覆盖率是否达到要求
g) 性能指标是否满足要求
h) 安全指标是否满足要求
5 接口测试工具
postman:接口测试工具。常用必备!
fiddler:抓包工具。常用必备!
(温馨提示,文末滑动栏有相关文章哦)
mock:模拟出参的工具,有很多实现方案;
jemter:性能测试工具,也可以用来做接口测试;
python:requests库,学python绕不开这家伙;
swagger-ui等一些web工程。
……
福利
什么是接口测试及其测试流程相关推荐
- app、web和接口测试测试流程
一.web测试流程 1.需求分析,了解具体需求 2.测试准备:原型图.效果图.需求文件.测试用用例.用例评审.各种测试数据准备 3.测试环节:接受版本开始执行 1)冒烟测试:对版本质量的控制以及此版本 ...
- 接口测试、APP和web测试流程(面试简化)
web测试流程,确保后台接口已测试完毕 一.需求分析,了解具体需求 二.测试准备:原型图.效果图.需求文件.测试用用例.用例评审.各种测试数据准备 三.测试环节:接受版本开始执行 1)冒烟测试 ...
- 一个项目的整个测试流程
最近一直在进行接口自动化的测试工作,同时对于一个项目的整个测试流程进行了梳理,希望能对你有用~~~ 需求分析: 整体流程图: 需求提取 -> 需求分析 -> 需求评审 -> 更新后的 ...
- 从测试流程角度,阿里P8大佬对产品质量的一些总结思考...
两个熟悉的场景: 生产环境出现问题,解决问题,原因复盘.责任分配到人: 无休止的测试-回归-再测试-再回归测试,已经投入了很大精力,但仍对项目质量不信心: 如果自己所负责或参与的项目经常遇到上面的两种 ...
- 个人版整理APP测试流程
个人版整理APP测试流程 2016.1.5 我的笔记 一 .APP测试基本流程 1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版 ...
- 移动APP的测试流程及方法
App的测试流程整理 1. APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长 ...
- 测试流程如何有效落地?
前言:之前有小伙伴问了我一个问题:作为测试leader,你该如何有效落地测试流程? 这个问题看起来很简单,只要落地流程做个宣讲然后有人执行就行了,但仔细一想却没那么简单.团队人员有多少?技术和经验如何 ...
- 项目测试流程规范(不同公司流程规范不一样,仅供参考)
前言:结合公司的项目情况制定合理的测试流程,提高测试效率和产品质量.核心还是要加强项目成员之间的沟通,在保障研发效率的前提下提高产品质量. 一.测试流程图 上述流程图为项目的测试流程图,每家公司用的项 ...
- itest work(爱测试) 开源接口测试敏捷测试管理平台 9.5.0 发布,接口测试及脑图用例重大升级
(一)itest work 简介 itest work (爱测试) 一站式工作站让测试变得简单.敏捷,"好用.好看,好敏捷" ,是itest wrok 追求的目标.itest w ...
最新文章
- 从未在一起更让人遗憾_我们从未在一起和我们最终没在一起,哪一个更让人难过?...
- (已解决)pycharm调试报错-UnicodeDecodeError:‘utf-8‘ codec can‘t decode byte 0xe8 in position 1023
- 学嵌入式Linux软件开发需要的知识
- 2021合工大超越卷数二好题精选
- [unity3d]导出安卓版设置
- java泛型集合_Java泛型集合(Set)
- 【前端就业课 第一阶段】HTML5 零基础到实战(九)列表
- JDK 9已完成功能!
- 有关struts2中用到 js 总结
- markdown引入代码_markdown简单使用之插入代码段
- android之获取手机号码、获取手机操作系统版本号
- Python代码刷博客访问量
- 手机端和PC端开发区别
- Oracle 11.2.0.4 RAC 最新补丁下载(11.2.0.4.200714)
- php html ubb,php UBB 解析实现代码
- linux r7 4800u,r7 4800u和r7 4800h差距大吗?下面解读可以帮您
- eclipse点餐系统的框架
- 单片机初学者电路常识
- 脱离文档流的三种方法
- php酷狗音乐json,酷狗音乐API
热门文章
- 物联网毕业设计 STM32的智能饮水机控制系统(源码+硬件+论文)
- 统计手机品牌的市场占有率
- MLBF网络:一种用于12导联心电图多类别心律失常分类的多导联分支融合网络
- java 连接 usb串口_树莓派 3 java usb串口通讯485
- 用getpoints和addpolyline输入点生成polyline(多段线)——rhinopython
- Python学习笔记(21)-目录遍历
- ESP8266采集多个传感器数据通过WIFI上传到本地数据库(风速、风向、CO、颗粒物)
- vue实现3D旋转相册
- FPGA智能交通灯控制器系统系统设计
- 联想x220笔记本风扇替换改装