一、在需求分析阶段:
先进行需求分析,确保对于整体产品的认识和理解无误,统一与各部门的理解,对于业务上有疑问的地方,提出问题,明确业务逻辑,明确测试的颗粒度。 确认测试目的和测试对象: 了解需求并明确测试目的,如测试一个本地 API 还是跨网站的远程 API。确认测试的基本条件: 确定测试所需的测试数据,测试环境以及测试团队中的角色和职责。对接口文档进行验证:将接口文档视为测试过程的重要来源,确认是否需要针对缺少的信息进行补充。
二、在设计评审阶段:
做测试计划,明确需要覆盖的模块和业务,明确每个任务的时间节点、人员分配,脚本实现,测试执行。
三、拿到设计文档和接口文档后:
;即可以进行接口用例的设计,以下是用例编写顺序:
第一点,先编写主流程用例,验证各个接口主流程是否能够完成。
第二点,进行入参校验的用例编写,校验参数必填与非必填项。然后进行数值类型的校验,也可以根据开发的设计文档对比接口文档里面的参数类型是否一致。检查各接口的各项入参是否满足调用函数,查询的方法是否方便,是否由冗余的参数,最后进行身份密钥的校验,验证密钥过期、或不正确是否能操作。
第三点,进行逻辑层校验的用例编写,在各种约束状态下,比如条件约束、时间约束、关系、权限等约束状态下,以及用户ID的唯一性限制,是否满足业务逻辑。
第四点,进行用例设计评审,把自己的用例给别人过一遍,确保测试覆盖尽量完整。
第五点,设置提测门禁,测试提供冒烟测试用例,待开发确认冒烟用例通过以后才允许提测,否则打回。并且给开发制单测覆盖的要求,要求项目全量代码覆盖率。
当时我们团队定义了接口测试的规范,设计理念是围绕服务端的精准测试,比如一条用例会命中对应服务具体代码的哪些语句。通过这个手段可以明确代码覆盖率。
第六点,进行接口自动化框架的编写,以及用例脚本的编写。接口自动化框架也是用python搭建的unittest,数据的驱动化方式实现了数据和用例的分离,把各种请求方式、通用的断言方法、经常用到的业务方法进行封装,编写了一套日志的装饰器。最后用Beatiuful Report进行输出成一份测试报告。
四、开发提测后
测试执行,执行自动化脚本、提出BUG、验证BUG直至关闭。基于测试用例,执行代码覆盖率统计。