一种持续集成环境中的回归测试混合方法、装置及存储介质

文档序号:35283930发布日期:2023-09-01 04:30阅读:33来源:国知局
一种持续集成环境中的回归测试混合方法、装置及存储介质

本技术涉及回归测试领域,尤其涉及一种持续集成环境中的回归测试混合方法、装置及存储介质。


背景技术:

1、企业广泛使用敏捷开发和持续集成(continuous integration,ci)来保证软件的质量和成本效益。持续集成环境中,新版本迭代快,回归测试更加频繁。例如,谷歌这样大型和复杂的系统,代码变动率非常高。项目预算或工程进度往往不允许测试人员运行所有测试用例来验证修改后的程序。虽然这是最安全的方法,但只能用于规模小的测试集。


技术实现思路

1、本技术实施例提供了一种持续集成环境中的回归测试混合方法、装置及存储介质,用于减小测试用例集的规模,降低测试成本,提高测试效率,更快地检测到故障。

2、本技术第一方面提供一种持续集成环境中的回归测试混合方法,可以包括:

3、初始化测试用例集,添加新旧功能标志和失败标志;

4、在增量性回归测试中,选择第一测试用例;对根据需求影响因素计算得到的所述第一测试用例的优先级进行排序,所述第一测试用例为所述新旧功能标志为1对应的测试用例,以及与新增测试有交互的测试用例;

5、在改错性回归测试中,选择第二测试用例;对根据历史、错误及成本影响因素计算得到的所述第二测试用例的优先级进行排序,所述第二测试用例为所述失败标志为1对应的测试用例,迭代中曾发现缺陷的测试用例以及与受缺陷影响的测试用例;

6、其中,所述测试用例集包括所述第一测试用例和所述第二测试用例。

7、可选的,所述新旧功能标志表示是否为增加或删除功能模块对应的测试用例,对为增加或删除功能模块对应的测试用例赋值为1,否则为0;

8、所述失败标志表示是否为测试失败的测试用例,对为测试失败的测试用例赋值为1,否则为0。

9、可选的,所述方法还可以包括:

10、根据需求影响因素计算需求的重要性;

11、构造所述需求与测试用例关系矩阵,得到所述第一测试用例覆盖的需求数量和重要性;

12、根据所述第一测试用例覆盖的需求数量和重要性,计算得到所述第一测试用例的优先级。

13、可选的,所述需求影响因素包括;客户分配的需求优先级cp、开发人员指定的需求实现复杂度dp、需求变更情况rv、需求依赖因子rf、需求风险可能性rl和需求风险影响ri;

14、所述根据所述需求影响因素计算需求的重要性,可以包括:

15、通过第一公式,计算得到所述需求的重要性iv;

16、所述第一公式为;iv=w1*cp+w2*dp+w3*rv+w4*rf+w5*rl+w6*ri;

17、其中,w1为所述客户分配的需求优先级对应的权重,w2为所述开发人员指定的需求实现复杂度对应的权重,w3为所述需求变更情况对应的权重,w4为所述需求依赖因子对应的权重,w5为所述需求风险可能性对应的权重,w6为所述需求风险影响对应的权重,且w1+w2+w3+w4+w5+w6=1;

18、所述根据所述第一测试用例覆盖的需求数量和重要性,计算得到所述第一测试用例的优先级,可以包括:

19、根据第二公式,计算得到所述第一测试用例的优先级wpv;

20、所述第二公式为:

21、其中,wpv(t)为第一测试用例t的优先级,m为第一测试用例t覆盖的需求个数,rk表示第一测试用例t覆盖的第k个需求。

22、可选的,所述方法还可以包括:

23、计算所述第二测试用例的严重程度检测评分;

24、根据严重程度检测评分动态调整需求的重要性,利用调整后的需求的重要性重新计算所述第一测试用例的优先级wpv;

25、根据所述第一测试用例的优先级wpv和历史数据,重新排序所有测试用例。

26、可选的,所述历史、错误及成本影响因素包括:软件缺陷严重性等级dl、错误检测数量dn、检测错误类型dt和测试用例执行时间;所述计算所述第二测试用例的严重程度检测评分,可以包括:

27、通过第三公式计算所述第二测试用例的缺陷严重程度ds;

28、所述第三公式为:ds=w7*dl+w8*dn+w9*dt;

29、其中,w7为所述软件缺陷严重性等级对应的权重,w8为所述错误检测数量对应的权重,w9为所述检测错误类型对应的权重,且w7+w8+w9=1;

30、通过第四公式计算严重程度检测评分sds;

31、所述第四公式为:

32、其中,ds为所述缺陷严重程度,time为所述第二测试用例执行时间;

33、所述根据严重程度检测评分动态调整需求的重要性,可以包括:

34、计算相邻两次的严重程度检测评分sds的差值;

35、通过第五公式动态调整所述需求的重要性;

36、所述第五公式为:ivk(ti,rj)=ivk-1(ti,rj)+dvalue_sds;

37、其中,dvalue-sds为所述相邻两次的严重程度检测评分sds的差值,ivk-1为r在第k-1次回归测试中所述需求的重要性,ivk(ti,rj)为r在第k次回归测试中所述需求的重要性。

38、可选的,所述根据所述第一测试用例的优先级wpv和历史数据,重新排序所有测试用例,可以包括;

39、根据第六公式,计算每个测试用例的执行概率;

40、根据每个测试用例的执行概率,重新排序所有测试用例;

41、所述第六公式为;

42、

43、其中,nwpv1为wpv1的标准化形式,每个测试用例的nwpv为所述每个测试用例的wpv占所有测试用例的wpv之和的比率。

44、本技术第二方面提供一种持续集成环境中的回归测试混合装置,可以包括:

45、初始化模块,用于初始化测试用例集,添加新旧功能标志和失败标志;

46、处理模块,用于在增量性回归测试中,选择第一测试用例;对根据需求影响因素计算得到的所述第一测试用例的优先级进行排序,所述第一测试用例为所述新旧功能标志为1对应的测试用例,以及与新增测试有交互的测试用例;在改错性回归测试中,选择第二测试用例;对根据历史、错误及成本影响因素计算得到的所述第二测试用例的优先级进行排序,所述第二测试用例为所述失败标志为1对应的测试用例,迭代中曾发现缺陷的测试用例以及与受缺陷影响的测试用例;

47、其中,所述测试用例集包括所述第一测试用例和所述第二测试用例。

48、可选的,所述新旧功能标志表示是否为增加或删除功能模块对应的测试用例,对为增加或删除功能模块对应的测试用例赋值为1,否则为0;

49、所述失败标志表示是否为测试失败的测试用例,对为测试失败的测试用例赋值为1,否则为0。

50、可选的,所述处理模块,还用于根据需求影响因素计算需求的重要性;构造所述需求与测试用例关系矩阵,得到所述第一测试用例覆盖的需求数量和重要性;根据所述第一测试用例覆盖的需求数量和重要性,计算得到所述第一测试用例的优先级。

51、可选的,所述需求影响因素包括:客户分配的需求优先级cp、开发人员指定的需求实现复杂度dp、需求变更情况rv、需求依赖因子rf、需求风险可能性rl和需求风险影响ri;

52、所述处理模块,具体用于通过第一公式,计算得到所述需求的重要性iv;

53、所述第一公式为:iv=w1*cp+w2*dp+w3*rv+w4*rf+w5*rl+w6*ri;

54、其中,w1为所述客户分配的需求优先级对应的权重,w2为所述开发人员指定的需求实现复杂度对应的权重,w3为所述需求变更情况对应的权重,w4为所述需求依赖因子对应的权重,w5为所述需求风险可能性对应的权重,w6为所述需求风险影响对应的权重,且w1+w2+w3+w4+w5+w6=1;

55、所述处理模块,具体用于根据第二公式,计算得到所述第一测试用例的优先级wpv;

56、所述第二公式为:

57、其中,wpv(t)为第一测试用例t的优先级,m为第一测试用例t覆盖的需求个数,rk表示第一测试用例t覆盖的第k个需求。

58、可选的,所述处理模块,还用于计算所述第二测试用例的严重程度检测评分;根据严重程度检测评分动态调整需求的重要性,利用调整后的需求的重要性重新计算所述第一测试用例的优先级wpv;根据所述第一测试用例的优先级wpv和历史数据,重新排序所有测试用例。

59、可选的,所述处理模块,具体用于通过第三公式计算所述第二测试用例的缺陷严重程度ds;

60、所述第三公式为:ds=w7*dl+w8*dn+w9*dt;

61、其中,w7为所述软件缺陷严重性等级对应的权重,w8为所述错误检测数量对应的权重,w9为所述检测错误类型对应的权重,且w7+w8+w9=1;

62、通过第四公式计算严重程度检测评分sds;

63、所述第四公式为:

64、其中,ds为所述缺陷严重程度,time为所述第二测试用例执行时间;

65、所述处理模块,具体用于计算相邻两次的严重程度检测评分sds的差值;通过第五公式动态调整所述需求的重要性;

66、所述第五公式为:ivl(ti,rj)=ivk-1(ti,rj)+dvalie_sds;

67、其中,dvalue_sds为所述相邻两次的严重程度检测评分sds的差值,ivk-1为r在第k-1次回归测试中所述需求的重要性,ivk(ti,rj)为r在第k次回归测试中所述需求的重要性。

68、可选的,所述处理模块,具体用于根据第六公式,计算每个测试用例的执行概率;根据每个测试用例的执行概率,重新排序所有测试用例;

69、所述第六公式为;

70、

71、其中,nwpv1为wpv1的标准化形式,每个测试用例的nwpv为所述每个测试用例的wpv占所有测试用例的wpv之和的比率。

72、本技术实施例又一方面提供一种计算机可读存储介质,包括指令,当其在处理器上运行时,使得处理器执行本技术第一方面所述的方法。

73、本技术实施例又一方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本技术第一方面所述的方法。

74、本技术实施例又一方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本技术第一方面所述的方法。

75、从以上技术方案可以看出,本技术实施例具有以下优点:

76、在本技术实施例中,初始化测试用例集,添加新旧功能标志和失败标志;在增量性回归测试中,选择第一测试用例;对根据需求影响因素计算得到的所述第一测试用例的优先级进行排序,所述第一测试用例为所述新旧功能标志为1对应的测试用例,以及与新增测试有交互的测试用例;在改错性回归测试中,选择第二测试用例;对根据历史、错误及成本影响因素计算得到的所述第二测试用例的优先级进行排序,所述第二测试用例为所述失败标志为1对应的测试用例,迭代中曾发现缺陷的测试用例以及与受缺陷影响的测试用例;其中,所述测试用例集包括所述第一测试用例和所述第二测试用例。相比于传统的回归测试方法,本技术考虑到持续集成环境中测试时间有限,快速反馈和修复。通过排序和选择技术只重新执行部分测试用例以及先执行那些优先级高的测试用例,减小测试用例集的规模,降低测试成本,提高测试效率,更快地检测到故障。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1