我们团队定义的接口测试流程规范

Posted by comeyke on 08-14,2022

导语

接口测试流程规范的作用是确保在软件开发过程中,接口测试能够有效地进行,并能够发现和解决潜在的问题。它提供了一套标准和指导原则,以确保接口测试的一致性、可靠性和可重复性。

接口测试流程规范

image-1698833821656

项目计划阶段

工作重点:

  • 了解需求迭代计划,了解需求优先级问题,从两个维度来评估:紧急程度+重要程度
    image-1698834968309
    知道了一个需求属于哪一种类型,进行测试进度的把控可以做到心中有数。

需求评审阶段

工作重点:

  1. 参与需求评审,确保需求的准确性和可测试性;
  2. 测试人员理解产品需求,理解业务逻辑,对业务有疑问的地方,提出问题;
  3. 明确业务需求,明确测试目标,明确测试对象,明确测试颗粒度,明确测试策略;
  4. 针对测试对象的可测性提出建议性的建议等,主要是测试环境和测试数据方面的问题。
  5. 编写测试计划,明确测试人力资源分配,测试交付的时间节点,进行风险评估等

风险点:

  • 时间因素:如需求复杂,迭代周期短,需要明确测试颗粒度,采用粗颗粒度的测试用例;
  • 人力资源:测试人员对业务的熟悉层度,业务能力的好坏等,直接影响测试的质量;
  • 项目质量:代码质量问题,如新的研发同事,或者新接手的模块等,需要增加测试的颗粒度;
  • 需求变更:需求质量问题,需求频繁变更,开发时间,测试时间是否影响,需要及时评估;

交付成果:

  • 接口测试计划,性能测试计划;

软件设计评审阶段

工作重点:

  1. 参加设计评审,了解服务之间的调用关系,接口设计等;
  2. 根据研发侧提供的评审通过后的设计文档和接口文档,进行接口测试用例的设计,确保测试覆盖到设计的各个方面;
  3. 编写接口用例,输出接口用例脑图,确定用例评审时间进行评审;
  4. 根据评审的结果修改接口用例,修改完成后,同步修改的内容,邮件和参会人员同步,多次确认直至评审通过,输出完整的接口用例文档。

风险点:

  • 设计文档和接口文档的变更,需要测试人员同步变更测试用例;

交付成果:

  • 评审通过的接口用例文档资料;

软件编码阶段

工作重点:

  • 编写测试脚本,主流程用例级别为3的测试用例,构建冒烟测试集合
  • 编写handle层的测试用例脚本,业务逻辑相关的测试用例,比如条件约束、时间约束、关系、权限等约束状态下,以及用户ID的唯一性限制,是否满足业务逻辑。
  • 编写input层的测试用例脚本,主要进行入参校验,包括必填项校验,选填项校验,参数类型校验;检查各接口的各项入参是否满足调用函数,查询的方法是否方便,是否由冗余的参数,最后进行身份密钥的校验,验证密钥过期、或不正确是否能操作。

风险点:

  • 测试需要提高测试脚本的可靠性,每个测试用例需要有2个以上的检查点;

交付成果:

  • 冒烟测试用例脚本,全量测试用例脚本。

单服务测试阶段

工作重点:

  1. 设置提测门禁,测试提供冒烟测试用例,开发进行单元测试,单元测试的行代码覆盖率达90%;
  2. 提测单据生成后,在开发环境跑冒烟测试接口脚本,全部通过后,修改单据状态,处理人为模块负责的测试人员,状态为提测成功;
  3. 开始测试执行,发现BUG,定位BUG,提BUG单;
  4. 跟进BUG修复,回归BUG,输出测试报告。

风险点:

  • 测试需要提高测试脚本的可靠性,提高BUG发现的效率,尽可能少的出现定位BUG后发现是假BUG,是测试代码导致的测试不通过;

交付成果:

  • 单服务测试报告。

集成测试阶段

单服务测试需要做好业务逻辑的验证,集成测试主要是测试与外部依赖的集成,集成又有 2 种策略,采用 Mock 还是 Real 真实的依赖,应该遵循能 Real 就 Real 的原则,不能 Real 的再采用 Mock。
image-1698909124215
工作重点:

  • 设计测试场景,确定“Happy Path”,指一条正常业务的测试案例,走尽可能多的外部依赖服务;
  • 确定外部依赖是用 Mock 还是用真实的实例;
  • 编写测试脚本,如果Mock,则选择测试桩的测试框架来编写;

风险点:

  • Mock依赖服务,对测试代码能力要求比较高;
  • 锲约测试依赖与接口文档,接口的变更会增加维护的成本;

交付成果:

  • 集成测试报告

UI功能测试阶段

工作重点:

  • UI功能测试是由公司的功能测试同学跟进,服务端测试的同学这个阶段会开始进行接口的性能测试。

风险点:

  • 性能测试环境,测试数据的准备等

交付成果:

  • 性能测试报告

环境切换回归测试阶段

工作重点:

  1. 功能测试通过后,需要进行环境的切换,开始部署测试;
  2. 切换预发布环境,依赖jenkins构建新的master版本执行全量的接口测试脚本进行新老功能的回归测试;
  3. 测试通过后可以切换线上环境,线上jenkins构建新的master执行全量的接口测试脚本进行回归测试。

风险点:

  • 环境切换,部署文档更新不同步,导致环境配置不一致,数据库字段不一致等问题的出现

交付成果:

  • 确认软件版本达到上线标准

线上运维阶段

工作重点:

  • 需求版本上线后,线上jenkins设置定时自动构建执行接口冒烟测试集合,执行完成自动发送邮件,测试负责人及时查看和跟进线上问题。

风险点:

  • BUG泄漏到线上环境,线上问题的发现时间,线上问题的处理时间,线上问题的修复时间

交付成果:

  • 定时巡检尽量早的发现线上问题