Page 193 - 《软件学报》2021年第7期
P. 193
周小莉 等:基于偶然正确性概率的回归测试选择方法 2111
的充分度的前提下,根据偶然正确性的发生概率,从被选择集合中删除对于大部分被修改语句都具有较高偶
然正确性概率的测试用例,达到进一步缩减回归测试集合大小的目的.对一个测试用例 t,如果存在至少一条
被修改的语句 s,使得 CCP(s,t)的值较低,我们就认为这个用例很可能发现故障.如果测试用例对于所有被修改
语句的偶然正确性概率都非常高,则认为这个用例很可能无法检测故障,在测试资源受限时将其从测试集合
中删除.
算法 3.2. 采用安全策略的基于偶然正确性概率的测试选择算法 1.
Input:
覆盖修改代码的测试集合T;
程序中被修改的语句的集合S;
针对S中每一条语句,T中每个测试用例的偶然正确性概率;
偶然正确性概率选择下限K 2 ;
Output:
回归测试用例集合T.
1: 初始情况下,T=T;
2: for each tT do
3: if 如果对于S中的90%以上的所有语句s,t都使得CCP(s,t)≥K 2 then
4: if 将t从T中删除后,对于S中的任意一条语句s,都满足s被T覆盖并且满足基于CCP的充分度
即AC(s,T)≥ then
5: 将t从T中删除;
6: end if
7: end if
8: end for
算法 3.3. 采用安全策略的基于偶然正确性概率的测试选择算法 2.
Input:
覆盖修改代码的测试集合T;
程序中被修改的语句集合S;
针对S中每一条语句,T中每个测试用例的偶然正确性概率;
基于CCP的充分度的变化幅度的限制值K 2 ;
Output:
回归测试用例集合T.
1: 初始情况下,T=T;
2: //计算测试用例对充分度的影响程度
3: for each tT do
4: for each sS do
(,T
ACs ) AC ( ,s T ) t
5: 计算t被删除后对测试集针对s的CCP充分度的影响AC dec (s,t,T)= ;
AC (, s T )
6: //ACdec(s,t,T)表示t被删除后测试集对于s的充分度的影响程度
7: end for
8: //将被删除后测试集仍满足充分度标准的用例加入备选集
9: 计算其对所有语句的充分度降低程度的平均值AC avg (t);
10: if AC avg (t)≤K 2 并且对于S中的任意一条语句s,都满足s被T−t覆盖并且满足基于CCP的充分度
即AC(s,T−t)≥ then