接口自动化测试
测试前期工作
1)项目概要:接入工作首要了解项目背景,主要包含:项目时间计划、研发同学、产品同学、项目主负责人、项目开发主负责人、产品上层服务、产品下层服务、项目是做什么的、测试范围。
2)时间:详细化了解项目的时间节点安排,有条件的情况下了解开发周期,具体测试主要需要了解,也是必要了解项,测试时间预期多少、验收时间和上线时间。
3)人员:详细化了解到研发主负责人是谁,有效提高接入项目效率,部分负责人并非开发者本人,需要分清开发产品的同学对应是谁。
4)文档:获取项目相关的文档;产品概述和设计可以很快的了解到项目的业务设计和业务对接。接口文档,拿到接口文档检查完整性、真实性进行接口文档梳理。
5)项目里程碑:了解测试任务和缺陷管理地址等。
测试方案
利用Xmind等思维导图编写测试方案,方案主要包含:接口、用例设计、时间节点、优先级划分、环境。
编写方案注意事项:
1)确认测试接口有多少个?
2)当前文档是否可靠?
3)文档是否会更新,如果是同步会更新接口文档,要先确认好,避免浪费时间用错误的文档编写无效的用例。
4)除了正常场景的用例编写以外,结合整理的对项目的了解,异常场景或异常参数设计接口用例
5)与负责人确定好重点接口和一般接口,优先级。
6)标注是否有压力测试的接口,若有,后续进一步跟进相关需求参数。
7)根据设计的接口方案整理出预估合理测试时间。
8)以上信息确认,可进一步进行开测试方案评审会,需要研发和负责人确认当前设计的测试方案是否通过,是否有补充。
接口用例设计
按照已有的文档覆盖需求:
1、必须参数是否真的全部必须组合。
2、必须参数缺少部分组合。
3、必须参数一个不带组合。
4、非必须参数一个不带组合(为空)。
5、非必须参数缺少部分组合。
6、非必须参数和必须参数组合。
7、开启全部非必须参数组合。
文档未提及的异常场景:
1、考虑特殊参数请求
2、考虑从数据库拿多条数据同时发生请求
3、多条数据同时写入
4、写出或者读取数据字符限制是否生效
5、权限过滤。
6、研发自定义返回码是否达标。
7、异常返回码处理是否达标
执行测试
根据测试方案整理出来的接口测试用例,用接口测试工具一一录入,录入用例需要进一步考虑是否有用例设计的盲区。
主要考虑几点:
1)请求方式:post/get
2)必须参数组合、非必须参数组合、非必须参数、异常数据
3)接口协议是否合法。
4)下断言,确定监听的内容。(正确的断言会使接口测试更有效,不做无谓的接口测试。协议层也会同步。)
5)前置脚本处理,部分参数设计是组合加密处理,例如获取当前时间进行组合MD5后作为一个参数传入请求,类似情况使用前置脚本处理参数化,还可以观察是否是全局参数进行设置全局的前置脚本处理。
6)接口回归可复用性,使用的参数以及下的断言要考虑该用例的复用性,可回归性。
接口测试质量评估标准:
a) 业务功能覆盖是否完整
b) 业务规则覆盖是否完整
c) 参数验证是否达到要求(边界、业务规则)
d) 接口异常场景覆盖是否完整
e) 接口覆盖率是否达到要求
f) 代码覆盖率是否达到要求
g) 性能指标是否满足要求
h) 安全指标是否满足要求
测试总结
测试结束接口相关测试以后,需要总结测试问题,是否遗留问题为解决,回归情况。尽可能用一目了然的数据报表说明报告。
需要输出:测试用例执行情况、bug产生数量、bug回归情况、以及测试结论和测试建议。
个人也可以根据做的相关项目进行个人总结。
贯穿全程都需要及时的沟通,正确的梳理问题,提问,归纳,提高沟通的质量。