降低回归测试成本的一个办法就是从回归测试转变为选择性回归测试。所谓选择性回归测试,就是在因为代码改动需要执行回归测试时,只选择回归测试用例集合中可能受到本次改动影响的子集执行。
选择性回归测试的可行性在于:一次代码的改动不太会对所有回归测试用例产生影响。另外,根据迭代开发的要求,我们通常倾向于将较大的改动分多次提交。也就是说,每次代码提交只会包含比较小的改动。这意味着,真正受影响的测试用例,应当只占全部测试用例的小部分。这进而意味着,选择性回归测试有潜力显著降低回归测试成本。
根据实现方式,选择性回归测试分为两种:
(1) 手动选择:由每个代码提交者根据自己的改动情况,手动选择本次提交需要执行的回归测试用例。
(2) 自动选择:由程序自动选择每一次提交时需要执行的回归测试用例。
在大规模回归测试的情况下,人工识别需要花费每一位代码提交者的工作量。更重要的,人工容易产生疏忽,将badcode合入主干代码,破坏主干代码和持续集成/持续交付流程,造成严重的后果。
那么,如何实现自动选择?首先,一个回归测试选择程序,需要满足以下三个要求:
(1) 安全:所有受当前改动影响的用例都能够被选择。
(2) 高效:选择用例的时间应当小于执行未被选择的用例的时间。
(3) 准确:不受改动影响的用例没有被选择。
一般来说,可以通过静态或者动态分析来建立测试用例与代码改动之间的相关性。然而,由于计算机程序内在和外在的复杂性,要实现满足上述三个条件的自动回归测试选择是一件相当有挑战的事情。事实上,“回归测试选择”是近十几年来软件工程领域比较活跃的研究方向之一。
以上内容为大家介绍了什么是选择性回归测试,本文由多测师亲自撰写,希望对大家有所帮助。
标签:改动,回归,选择,选择性,测试用例,测试,软件测试 From: https://www.cnblogs.com/lfc666/p/17276155.html