通过API接口实现计算机软件之间的相互通信(接口测试是一种针对服务端的功能测试)
①.不通过前端UI界面,或者前端UI界面还没设计出来
②.需要对功能做测试,这也是测试工程师需要尽早介入测试
③.业务的逻辑,数据的资源,安全,都需要通过接口去测试
需求评审-接口评审---->需求分析-接口分析---->接口用例设计---->执行测试用例---->bug的定位与追踪---->接口测试报告
①.对象分类
a.内部接口-集成测试,灰盒(一般开发负责)
b.外部接口-联调测试,方案,联调测试通过准则
②.协议分类
a.Webservice接口--soap协议
b.http api接口---http协议
①.接口名称-功能描述
②.接口URL
③.支持的格式(xml/json)-请求数据格式
④.请求方式-get/post/put/head/delete/trace/opions/Connect/java/dubbo
⑤.请求参数-参数名称,类型,是否必填,参数说明请求头(测试用例设计)
⑥.返回参数-返回码,返回值信息,返回xmll/json信息(预期结果)
①.excel表存储接口测试用例
②.使用postman/jmeter进行接口测试
③.记录测试结果,提交bug
④.在接口测试过程中,如果系统已经完成,验证地方(1.接口响应值 2.系统对应的功能数据 3.数据库的数据验证)
1.了解接口的功能,提交的方式(get/post),接口的URL,接口参数(必填/选填参数)
2.明确接口正常请求,正常情况接口会返回哪些响应参数
3.通过性验证:
①.按照接口文档上的参数,正常传参数值,是否可以返回正确的结果
②.接口的容错性,例如传递数据的类型错误时是否可以处理.(整数 小数 字符串)
③.接口参数的边界值.
④.接口的性能,接口处理数据的响应时间
⑤.接口的安全性,尤其是外部接口
1.正常场景
功能是否按照接口文档要求的功能实现
2.异常场景
参数为空
参数多填
参数少填
参数类型错误
参数数值范围错误
异常场景下是否有正确的处理逻辑以及响应提示
3.必填参数
对于必填参数需设计传参数和不传参数,接口的返回情况
必填参数传参
必填参数都正确
必填参数类型错误(非法 特殊字符)
必填参数数值范围错误(超过边界)
必填参数空格(前 中 尾)
必填参数不传参
必填参数全部为空
必填参数部分为空
4.选填参数
一般接口对于非必填参数都不会做非正常性传值的判断,只需要测试接口返回的内容是否正确.
如果有接口文档说明对非必填参数做了非正常的验证,也要对其进行再次验证
覆盖所有参数,正向用例
覆盖左右必填参数,正向用例
某一必填参数,逆向用例
必填参数的基础上,少传一个参数
多传一个参数,逆向用例
必填参数数据类型错误,数据值错误,逆向用例(整数型—>字符串)
任意组合可选参数,正向用例
与业务逻辑相关的,用户身份认证为空或错误,逆向用例
字段的唯一性校验,如:插入数据字段不能重复,发送两次请求,查看第二次返回的结果
1. 业务功能覆盖是否完整
2. 业务规则覆盖是否完整
3. 参数验证是否达到要求(边界、业务规则)
4. 接口异常场景覆盖是否完整
5. 接口覆盖率是否达到要求
6. 代码覆盖率是否达到要求
7. 性能指标是否满足要求
8. 安全指标是否满足要求