The invention discloses a precision recommendation method, device, system, computing equipment and storage medium for a test case. Among them, the test application compared with a test version of the code change information based on information related to the selection of test cases and code changes from the test suite, target test suite, including one or more test cases and code coverage information of test suite, code change information including code change according to the code coverage; information and code change information, determine the target test case of each test case recommendation, according to the test case recommendation to select part of the code change test. Therefore, the test cases in the target test case are all test cases related to the code change part, so that the invalid test can be avoided. Based on the recommended degree, the accuracy of the test can be further improved, and the blindness of the test can be avoided.
【技术实现步骤摘要】
测试用例精准推荐方法、装置、系统、设备及存储介质
本专利技术涉及软件测试领域,特别是涉及一种测试用例推荐方法、装置、系统、计算设备以及存储介质。
技术介绍
软件测试是指在规定的条件下对应用程序进行操作,以发现程序错误,衡量应用质量,对其是否能满足设计要求进行评估的过程。测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行得更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。回归测试理论上应该在代码变化后执行先前的所有测试用例,但是由于工作量巨大,目前经常采用的方式是在代码变化后选择性地执行先前的测试用例,即可以仅选择与代码变化部分相关联的测试用例,所选定的测试用例即为“回归测试用例”。针对应用程序的测试用例集往往很大,在提交针对应用程序的新的代码后,选取回归测试用例时,往往会出现以下问题:选取的回归测试用例中存在很多重复的测试用例,导致对同一段代码测试多遍,浪费了很多测试时间;测试不完全,某些测试代码并没有覆盖到。以测试为Android应用的手工测试为例,Android应用的手工测试用例集往往达到上千个。现有选取手工回归测试用 ...
【技术保护点】
一种测试用例推荐方法,包括:基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述测试用例集包括一个或多个测试用例及其代码覆盖信息,所述代码变更信息包括代码变更部分;根据所述代码覆盖信息以及所述代码变更信息,确定所述目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对所述代码变更部分进行测试的测试用例。
【技术特征摘要】
1.一种测试用例推荐方法,包括:基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述测试用例集包括一个或多个测试用例及其代码覆盖信息,所述代码变更信息包括代码变更部分;根据所述代码覆盖信息以及所述代码变更信息,确定所述目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对所述代码变更部分进行测试的测试用例。2.根据权利要求1所述的测试用例推荐方法,其中,所述确定目标测试用例集中每个测试用例的推荐度的步骤包括:根据所述测试用例对所述代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,所述贡献度与所述测试用例所关联的变更代码占所述代码变更部分的变更比例正相关,所述专一度与所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。3.根据权利要求2所述的测试用例推荐方法,其中,所述代码变更信息还包括所述代码变更部分中变更代码的变更频率,所述确定目标测试用例集中每个测试用例的推荐度的步骤还包括:根据所述测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。4.根据权利要求3所述的测试用例推荐方法,其中,使用如下计算公式计算所述测试用例的推荐度r,r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为所述测试用例所关联的变更代码的变更频率。5.根据权利要求1所述的测试用例推荐方法,其中,所述代码变更部分包括一个或多个代码变更单元,所述代码覆盖信息包括一个或多个代码覆盖单元,所述从测试用例集中选取与所述代码变更信息相关联的测试用例的步骤包括:从所述测试用例集中选取代码覆盖信息中具有与所述代码变更单元相对应的代码覆盖单元的测试用例。6.根据权利要求5所述的测试用例推荐方法,其中,对于所述目标测试用例集中与两个或两个以上的代码变更单元相关联的测试用例,分别确定所述测试用例在每个代码变更单元下的子推荐度,所述测试用例在与其相关的所有代码变更单元下的子推荐度之和即为该测试用例的推荐度。7.根据权利要求1至6中任何一项所述的测试用例推荐方法,还包括:在测试客户端上执行对所述代码变更部分进行测试的测试用例过程中,获取所述待测试应用的代码执行信息;根据所述代码执行信息,重新确定所述测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与所述测试用例关联地保存在所述测试用集中。8.一种测试用例推荐装置,包括:测试用例选取模块,用于基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述测试用例集包括一个或多个测试用例及其代码覆盖信息,所述代码变更信息包括代码变更部分;推荐度确定模块,用于根据所述代码覆盖信息以及所述代码变更信息,确定所述目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对所述代码变更部分进行测试的测试用例。9.根据权利要求8所述的测试用例推荐装置,其中,所述推荐度确定模块根据所述测试用例对所述代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,所述贡献度与所述测试用例所关联的变更代码占所述代码变更部分的变更比例正相关,所述专一度与所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。10.根据权利要求9所述的测试用例推荐装置,其中,所述代码变更信息还包括所述代码变更部分中的变更代码的变更频率,所述推荐度确定模块还根据所述测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。11.根据权利要求10所述的测试用例推荐装置,其中,所述推荐度确定模块使用如下计算公式计算所述测试用例的推荐度贡献分值r,r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比...
【专利技术属性】
技术研发人员:刘泽文,
申请(专利权)人:广州阿里巴巴文学信息技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。