目录
什么是接口?
通常是指对外部提供数据交换的程序,以此来实现不同系统模块或不同系统之间的数据交换
例如:restful接口、soap协议的web service接口、JDK开发包等。
接口测试:按照接口文档的要求,验证接口程序能否满足对外部程序提供数据的使用需求
soap协议的web service接口
Restful 接口
Rest(Representational State Transfer):含状态传输是一种软件架构风格,使用REST架构实现的接口叫做Restful接口
特点:
➢资源由URI(统一资源定位符)来指定,通常基于HTTP协议来实现
➢对资源的操作包括获取、创建、修改和删除资源,对应HTTP协议提供的GET、POST、PUT、DELETE方法
➢使用Json串来传递参数
接口测试用例的测试框架
单接口的测试用例设计
1.严格参阅接口文档,接口的所有参数进行输入判断测试,分别使用特殊字符、空字符串("")、空、数字(数字的边界值、整数和小数)、非数字、中文、英文、不同长度字符(最大值和最小值的边界值)
2.接口所有的必填参数,均使用合法值,验证是否可以收到接口稳定定义的返回结果
3.接口所有的必填参数少填写其中的任意一个,其他参数值均使用合法值,验证是否收到服务器返回的错误码
4.接口所有的必填参数中的某一个参数使用非法值,其他参数均使用合法值,验证是否收到服务器端返回的错误码
5.接口所有的必填参数中的某一个参数的值为空,其他参数值均使用合法值,验证是否收到服务器端返回的错误码
6.接口所有的必填参数和选填参数,均使用合法参数,验证服务器端是否返回正确结果
7.接口所有的必填参数都使用和任意一个选填参数,均使用合法参数,验证服务器是否返回正确的结果
8.接口的所有必填参数都使用合法值,使用任意一个选填参数,并使用非法参数,验证服务器是否返回错误码
9.接口的所有必填参数中缺少任意一个必填参数,使用所有选填参数,均使用合法值,验证服务器是否返回错误码
10.接口的所有的必填参数都是用合法值,填写一个不存在的参数和值,验证服务器是否返回错误码
多接口的测试用例设计
多接口(增删改查接口)的组合测试流程:
1.建数据
2.查数据
3.修改数据
4.删除数据
5.查数据
6.建数据
7.查数据
8.修改数据
9.删除数据
接口测试需要考虑的一些特殊点
1.接口参数是否存在冗余的情况、接口是否可以满足调用方需求、接口调用是否方便
2.重复提交相同数据,验证是否有问题,有些接口禁止提交相同数据
3.查询接口:参数使用数据库中不存在的值进行查询
4.修改接口:参数使用数据库中不存在的值进行修改
5.删除接口:参数使用数据库中不存在的值进行删除
6.按照文档的参数类型和范围进行多组值的测试
7.考虑数据的状态,进行测试,比如:具备50积分的用户才可以调用购买接口进行某商品购买
8.基于权限来进行测试,验证是否有权限未生效的情况,例如:a用户改b用户数据,登录用户才可以调用某些接口
9.常见的错误情况,未给出明确的错误码
10.废弃的接口,依旧可以调用
11.业务最可能调用接口的顺序和使用的参数值
接口测试常见问题
- 接口请求的错误参数值造成接口的后台程序崩溃
- 接口文档的描述和实现不一致
- 批量接口返回数据的时候特别慢
- 接口返回的数据和写入的数据不一致,例如:写入a,取出来是a+1
- 接口的权限限定失败,例如:a用户操作了b用户的数据
- 接口数据的状态处理错误,例如:注销用户应该为注销状态,而不是激活状态
- 接口存在安全隐患,例如:重复请求后,多次重复充值