背景介绍

方案设计

对于上述测试痛点,要解决的核心问题就是测试效率测试质量,我们从以下几个方面来逐个击破:

测试功能点评估


这里涉及到几个关键能力:

1. 从代码变更获取方法集合

2. 通过变更方法获取影响接口

覆盖结果分析

在增量覆盖率的基础上,通过对未覆盖方法的分析,可以得知影响到了哪些接口,结合下面的接口分析能力来进行测试

接口分析

有了之前的能力,我们可以知道通过哪些接口可以去测试这次改动的代码;然而不同的接口重要程度是不同的,在时间有限的情况下,我们需要清楚哪些接口是一定要保证,这就需要获取到接口的以下信息:

接口优先级分析

  1. 假设选取 1 个月作为时间窗口,拉取系统 API 1 个月的调用情况。时间窗口选取过长,可能会有历史高调用量数据影响结果,而这些接口可能已经下线;选取过短,可能有运营活动或其他突发状况造成的次优先级 API 调用量较高,不具有统计分析的意义。
  2. 对拉取的离散数据进行曲线拟合,采用简单的最小二乘法
  3. 对拟合后的数据求取拐点。假设:相同 priority 的数据有相同的分布 4.采用拐点切分数据,获得 priority 区间

接口自动化覆盖情况

接口自动化覆盖的情况可以从持续集成的结果获取,需要自动化平台提供相关接口。

自动化用例覆盖代码函数

通过自动化框架调度与精准测试和覆盖率平台对接可以获取每个自动化 case 覆盖到的方法树。

接口入口以及影响业务方接口

从监控系统获取服务间调用关系的数据进行分析,获取影响的依赖方接口以及调用入口。

智能用例推荐


应用场景

具备以上的能力后,回过头来看精准测试解决了哪些问题:

想了解更多关于酷家乐技术质量的文章,欢迎关注我们的公众号


↙↙↙阅读原文可查看相关链接,并与作者交流