测试用例确定方法、装置、介质和计算设备与流程

文档序号:35805757发布日期:2023-10-22 02:54阅读:29来源:国知局
测试用例确定方法、装置、介质和计算设备与流程

本发明的实施方式涉及计算机,更具体地,本发明的实施方式涉及一种测试用例确定方法、装置、介质和计算设备。


背景技术:

1、本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

2、代码覆盖率是软件测试中的一项重要评价指标,通过计算测试过程中被执行的源代码占全部源代码的比例描述对程序源代码的测试程度。在目前的软件测试中,可以根据测试用例的执行情况,生成该测试用例对应的代码覆盖率报告,该报告中包括已经执行过的代码和未被执行过的代码。

3、随着软件的版本迭代,软件的测试用例集中的测试用例数目逐渐增多。在对修改后的源代码进行测试时,通常是将测试用例集中的所有测试用例全部执行一次,或者由测试人员从测试用例集中人工选择相应的测试用例并执行,根据各个测试用例的代码覆盖率报告,确认修改是否引入新的错误或导致其他代码产生错误。

4、相关技术中第一种方式的测试工程量大且耗时较长,对于未被修改的代码重复测试,存在资源浪费以及测试效率低下的问题;第二种方式主要基于测试人员的主观判断,依赖测试人员的水平,易因测试人员主观分析导致测试遗漏,影响测试效果。


技术实现思路

1、有鉴于此,需要一种改进的测试用例确定方法,以实现针对修改的源代码自动化推荐相应的测试用例,提高软件测试效率。

2、在本上下文中,本发明的实施方式期望提供一种测试用例确定方法、

3、装置、介质和计算设备。

4、在本发明实施方式的第一方面中,提供了一种测试用例确定方法,所述方法包括:

5、确定待测试版本代码相较于前一版本代码的变更代码的信息;

6、基于所述变更代码的信息,根据各个第一测试用例与所述前一版本代码的映射关系,确定出用于测试所述变更代码的备用测试用例集;其中,第一测试用例用于测试所述前一版本代码;

7、依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集。

8、可选地,所述各个第一测试用例与所述前一版本代码的映射关系通过下述方式确定:

9、若所述前一版本代码为应用程序的首个版本代码,则依据所述各个第一测试用例对所述首个版本代码进行测试,获取各个所述第一测试用例对应的代码覆盖率文件;

10、根据所述代码覆盖率文件,确定出所述第一测试用例与所述首个版本代码的映射关系并存储。

11、可选地,所述根据所述代码覆盖率文件,确定出所述第一测试用例与所述首个版本代码的映射关系并存储,包括:

12、根据所述代码覆盖率文件,获取所述第一测试用例对应的已执行代码的信息,所述已执行代码的信息至少包括已执行代码的行号、已执行代码所包含的方法以及所包含的类;

13、建立所述第一测试用例与所述已执行代码的信息的映射关系。

14、可选地,在对所述首个版本代码进行测试之前,所述方法还包括:

15、获取针对所述应用程序创建的初始测试用例集;所述初始测试用例集中的测试用例对应第二编号;

16、根据所述初始测试用例集,确定用于测试首个版本代码的测试执行集,所述测试执行集中的各个第一测试用例对应第一编号;

17、根据同一测试用例对应的所述第一编号和所述第二编号,建立测试执行集与初始测试用例集的映射关系;

18、所述根据所述代码覆盖率文件,确定出所述第一测试用例与所述首个版本代码的映射关系并存储,包括:

19、根据测试执行集与初始测试用例集的映射关系,确定所述第一测试用例的第一编号对应在初始测试用例集中的第二编号;

20、建立所述初始测试用例集中第二编号的测试用例与所述首个版本代码的映射关系。

21、可选地,所述各个第一测试用例与所述前一版本代码的对应关系通过下述方式确定:

22、若所述前一版本代码不是应用程序的首个版本代码,则获取该前一版本代码中的变更代码的目标测试用例的代码覆盖率文件;

23、根据所述代码覆盖率文件,更新已存储的各个第一测试用例与历史版本代码的映射关系,所述历史版本代码是指该前一版本代码之前的版本代码。

24、可选地,所述基于所述变更代码的信息,根据各个第一测试用例与所述前一版本代码的映射关系,确定出用于测试所述变更代码的备用测试用例集,包括:

25、根据所述映射关系,获取所述各个第一测试用例对应的已执行代码的信息;所述已执行代码的信息至少包括已执行代码的行号、已执行代码所包含的方法以及所包含的类;

26、确定已执行代码的信息中包含所述变更代码的信息的第一测试用例,并加入所述备用测试用例集;所述变更代码的信息至少包括变更代码的行号、变更代码所属方法、变更代码所属类中的至少一种。

27、可选地,所述测试执行程度根据测试用例对应的已执行代码的行号确定;

28、所述依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集,包括:

29、对所述备用测试用例集中的测试用例,根据所述变更代码的每一行的行号,逐行匹配已执行代码的行号包含该变更代码的行号的各个第二测试用例;

30、将已执行代码中包含变更代码的行数满足设定的第一行过滤系数的第二测试用例进行聚类,并根据聚类结果获取所述目标测试用例集。

31、可选地,所述测试执行程度根据测试用例对应的已执行代码所包含的方法及所包含的类确定;

32、所述依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集,包括:

33、对所述备用测试用例集中的测试用例,根据所述变更代码所属方法及所属类,获取已执行代码中包含该变更代码所属方法及所属类的第三测试用例,并依据该第三测试用例得到目标测试用例集。

34、可选地,所述测试执行程度根据测试用例对应的已执行代码的行号确定的;

35、所述依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集,包括:

36、对所述备用测试用例集中的测试用例,确定已执行代码的行号包含所述变更代码的剩余行号最多的第四测试用例;其中,所述剩余行号是指除目标行号外的变更代码的行号,所述目标行号是指目标测试用例集中的测试用例对应的已执行代码所包含变更代码的行号;

37、若已执行代码的行数满足设定的第二行过滤系数,则将所述第四测试用例加入所述目标测试用例集;

38、对除所述第四测试用例以外的备用测试用例集,重复执行确定已执行代码的行号包含所述变更代码的剩余行号最多的第四测试用例。

39、可选地,所述测试执行程度根据测试用例的权重值确定;所述权重值根据该测试用例对应的已执行代码的变更次数、存在的缺陷数量、包含的重点功能类的数量中的至少一种信息确定;

40、所述依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集,包括:

41、根据所述权重值,从所述备用测试用例中确定满足设定权重阈值的测试用例,并加入目标测试用例集。

42、可选地,所述方法还包括:

43、根据遗传算法对所述目标测试用例集进行优化,确定优化后的测试用例集为测试所述变更代码的目标测试用例集。

44、在本发明实施方式的第二方面中,提供了一种测试用例确定装置,所述装置包括:

45、变更代码确定模块,用于确定待测试版本代码相较于前一版本代码的变更代码的信息;

46、备用测试用例确定模块,用于基于所述变更代码的信息,根据各个第一测试用例与所述前一版本代码的映射关系,确定出用于测试所述变更代码的备用测试用例集;其中,第一测试用例用于测试所述前一版本代码;

47、目标用例确定模块,用于依据测试用例对代码的测试执行程度,对所述备用测试用例集进行优化,获取用于测试所述变更代码的目标测试用例集。

48、在本发明实施方式的第三方面中,提供了一种可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述测试用例确定方法。

49、在本发明实施方式的第四方面中,提供了一种计算设备,该计算设备包括:处理器、存储器;所述存储器,用于存储计算机程序;所述处理器,用于通过调用所述计算机程序,执行上述测试用例确定方法。

50、根据本发明实施方式所提供的测试用例确定方法,可以自动确定源代码中被修改代码的信息,并针对该被修改代码自动化推荐出相应的测试用例,而无需将源代码的测试用例集中的全部测试用例执行一次或者依赖人工选择测试用例,实现了自动化评估代码修改影响范围以及基于修改代码灵活推荐用例,提高了软件测试效率,为用户带来了更好的体验。

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