🌈赏金任务 - 怎么去提高接口自动化的覆盖率,怎么衡量?

赏金任务每周更新,请持续关注哦 :love_letter:

题目

  • 怎么去提高接口自动化的覆盖率,怎么衡量?

参与方式

  • 本帖下方回复你的答案即可

赏金

  • 100元京东购物卡

活动时间

  • 2023å¹´2月6日 - 2023å¹´2月10日

本周赏金任务汇总:🌈 赏金任务发布 2023-02-06

本问题参与赏金活动,详情点击 :rainbow: 赏金活动上线啦 丨做赏金任务挑战千元奖金 查看活动介绍

1. 评估出整个系统可以实行接口自动化的具体模块和方法,不能实现的部分需要统计出来并记录(因为什么不能覆盖)
2. 根据可以覆盖的具体模块和方法,整理出每一个可实现的校验和判断的case,根据已实现的部分可以获得对应的覆盖率。

1、测试用例设计方面:需要考虑单接口用例设计和场景用例设计
1) 单接口用例设计:根据需求文档、接口文档,结合测试用例设计方法、业务逻辑等编写用例,并进行评审;
2) 场景测试用例设计:根据具体的场景设计用例,进行多接口间的组合测试;

2、自动化框架设计方面:需要提高框架的稳定性,可以从下面角度进行考虑。
1)增加失败重跑机制;
2)增强校验结果的稳定性,避免由于数据变化第问题导致校验不通过;
3)单接口测试时,尽量减少接口间的依赖;
4)垃圾数据清理;

3、测试接口统计:统计出总接口数、可进行自动化的接口(以及由于复杂度太高等原因通过自动化不能实现的case)、不可做自动化的接口;

1、如何提高?

  • 首先,我们要对需求文档所涉及到的功能我们都要进行充分的评审(可以评审几轮),确保功能层面的需求没有任何遗漏。(ps:这是最核心本质的地方)

  • 其次,针对需求给出的文档去查看开发给出的接口文档,将接口中的文档仔细结合前面的业务需求文档,梳理出接口具体的业务功能

  • 接下来,针对每个单接口,进行接口测试用例的编写,在编写的过程中从以下几个方面去考虑,从 参数输入、参数输出、逻辑处理、数据库校验、接口超时、兼容性、安全性、性能来阐述

  • 然后,我们在单接口测试完成之后,还要针对关联性的接口,有上下游关系进行测试。

  • 最后,针对上下游接口测试完成之后,还要根据整个项目的业务情况,做全链路的接口测试。

2、怎么衡量?

  • 1.分支覆盖:计算if…else; switch…case的覆盖比例
  • 2.类覆盖:该类被覆盖,类中多个任意方法被执行,计算比例
  • 3.方法覆盖:方法覆盖比例,方法中任一行代码被执行,该方法被覆盖
  • 4.代码行覆盖:每行代码覆盖率,理论上100%的行覆盖率能保证程序没有Bug

分析目前的接口覆盖情况,难自动化、未自动化、已自动化的占比,通过定okr或kpi的方式推动自动化的覆盖率,同时针对难覆盖的场景进行专项解决,比如统一mock方案、优化自动化框架或平台;
衡量分为两个方面:
1、业务接口覆盖率:接口功能测试用例与自动化用例占比;全链路测试用例与全链路自动化用例占比;
2、代码覆盖率:增量覆盖率及全量覆盖率;另外具体到接口、类、方法覆盖率等;