接口测试总结
1.功能点测试用例(单个测试用例)
必输项的测试
1) 必填项全部是正常值 ——〉成功
2) 取长度最大边界值和最小边界——〉成功
3) 取长度为最长值+1,其他参数值都是正常的——〉失败(所有字段需要进行临界值+1的逐个遍历)
4) 输入类型判断,比如定义为int型,测试输入字母等字符类型——〉失败
5) 必输项有其中一项或多项不填,其他项都填写正常——〉失败
6) 输入值取空值或者空格——〉成功/失败/(根据接口定义来验证)
7) 特殊字符输入判断,比如:,% “ < > ? ! @等,或输入正常转义后的字符——〉成功/失败
8) md5篡改,验证加密的信息是否正确。
非必输项的测试
1) 正常情况下,非必输项都有输入值,其他项都正常——〉成功
2) 正常情况下,非必输项都有输入值,逐一遍历每个非必输项有值——〉成功
3) 非必输项都没有,其他项输入正常——〉成功
4) 正常必输项缺少+非必输项——〉失败
2.流程测试用例(组合测试用例)
1) 建数据
2) 查数据
3) 修改数据
4) 删除数据
此为一个完整的测试流程。为确保操作和数据的正确性,需要重复两次该操作。即:
1) 建数据
2) 查数据
3) 修改数据
4) 删除数据
5) 查数据
6) 建数据
7) 查数据
8) 修改数据
9) 删除数据
3.测试执行时候,还需注意的地方:
1) 测试执行时候可以围绕一套数据进行,比如新建一个用户,与该用户相关的个人基本信息、教育经历、工作经历、生活经历等都可以一并在测试时候考虑
2) 测试需要考虑输入重复记录情况,比如上传用户头像,会出现上传两次相同的头像吗?或者可以上传两次不同的头像吗?
3) 需要针对某些特定的值进行边界值测试,例如一个组里面最多有多少个好友等限制。
新建:
- 提交所有的值(都是长度允许的最大值)都是正常,则成功。可以成功查看添加的数据
- 重复提交数据, 则失败
- 将一个参数设定为超过长度范围1位(或者大于允许的最大值+1),其他参数正常,则失败
- 将一个参数值改为不允许的类型或者数字(例如:数字类型填写为字符串,日期类型填写为字符),其他参数正确,则失败
- 必输项有其中一项不填,其他项都填写正常——〉失败
- 输入值取空值或者空格——〉成功/失败/(根据接口定义来验证),可以成功查看添加的数据
- 特殊字符输入判断,比如:参数为空,参数为空格,% “ < > ? ! @等,或输入正常转义后的字符——〉成功/失败,可以成功查看添加的数据
- 正常情况下,非必输项都有输入值,其他项都正常——〉成功,可以成功查看添加的数据
- 非必输项都没有,其他项输入正常——〉成功。可以成功查看添加的数据
- 正常必输项缺少+非必输项——〉失败
查询接口:
- 查询存在的数据可以成功
- 查询不存在的数据则返回也成功
修改接口:
- 修改存在的userid数据,并且数据合法,则应该成功。能够查询到修改后的数据
- 修改不存在的userid数据,则应该失败。应该查询不到刚才提交的数据
- 使用新建用例的输入判断数据,进行修改接口的输入判断测试
删除接口:
1 删除存在userid数据,则可以立刻成功,并且查询不到删除数据了。
2 删除不存在userid的数据,则返回失败。
查询列表接口:
- 使用单一的精确完整条件查询(例如:使用一个完整的身份证号),逐个儿查询,则可以查询到存在的数据(需要人工先构造一些存在的数据)
- 使用单一的模糊查询条件(例如:使用一个身份证号的一部分)逐个儿查询,则可以查询到存在的数据(需要人工先构造一些存在的数据)
- 使用全部的精确完整条件,可以查询到存在的数据。
- 使用全部的模糊条件,可以查询到存在的数据。
- 什么参数都不输入,则查不到任何数据
- 使用空格参数,则查不到任何数据
测试环境:
- 程序内部的环境和程序所调用的外部接口的环境
容错性:
- 传递数据类型错误时是否可以处理,例如若支持整数,传递小数或者字符串不崩溃
性能测试:
- 接口处理数据的时间等
安全性测试:
1.若接口为外部接口安全性尤其重要
一切技术都是为业务服务,脱离业务的技术一文不值!