● 结果
基于以上的回归测试解决方案,我们对一个有着 30 个测试用例的程序进行回归测试,得到如下测试用例优化选择分析报表:
Change Analysis Report
总函数 | 变更函数 | 覆盖数 | 未覆盖 | 覆盖率 |
108 | 12 | 10 | 2 | 83.3% |
表 1 优化选择测试用例: 3 (of Total 30)
Case Name | Cover Changed Method | |
TestCase001 | 5 | details |
TestCase005 | 3 | details |
TestCase013 | 2 | details |
分析报告显示这次代码变更共有 12 个函数发生了更改。在 30 个测试用例中有 3 个测试用例与这些更改相关,它们覆盖了这次代码更改 12 个中的 10 个。而其它 27 的测试用例则与这 12 个代码改动毫不相关。
表 2 回归测试结果分析
全部测试用例 | 优化选择 | 函数变更 | 覆盖率分析 | ||
已覆盖 | 未覆盖 | 覆盖率 | |||
30 | 3 | 12 | 10 | 2 | 83.3% |
从表中我们可以看到,经过测试用例优化选择之后,我们选出了 3 个和函数变更相关的测试用例,达到了 83.3% 的覆盖率。同时由于 27 个与函数变更无关的测试用例不需要重测,使得 90% 的回归测试资源得到了节省。
从表中我们可以看到,经过测试用例优化选择之后,我们选出了 3 个和函数变更相关的测试用例,达到了 83.3% 的覆盖率。同时由于 27 个与函数变更无关的测试用例不需要重测,使得 90% 的回归测试资源得到了节省。
图 7. 覆盖率分析
从上图,我们可以清楚地看到基于每个函数改动的相关测试用例的数目,以及测试覆盖率。比如 ManageCommodityAction 这个 Class 里面,存在了 2 个 Change Method, 只有 1 个 changed method 被现有的 1 个 Test Case 所覆盖,测试覆盖率为 50% 。
上面分析报告中总共有 12 个函数发生改动,基中还有 2 个没有被任何测试用例覆盖到。那么未被覆盖的 Change Method 就需要测试人员对之进行分析并且添加新的测试用例以提高我们的测试覆盖率 , 保证测试质量。
总结
回归测试用例的优化选择,以最少的测试用例,准确地覆盖所作改动,极大地提高了我们回归测试的测试效率与测试质量。
自动测试过程中的覆盖率反馈分析,以最小的测试代价,最精确的分析,来获得当前的测试完成情况,为测试人员提高了良好的分析报告,以便测试人员改进和新增新的测试用例。大大提高了回归测试的测试效率与质量。
文章来源于领测软件测试网 https://www.ltesting.net/