CN107515826B - 测试用例精准推荐方法、装置、系统、设备及存储介质 - Google Patents

测试用例精准推荐方法、装置、系统、设备及存储介质 Download PDF

Info

Publication number
CN107515826B
CN107515826B CN201710751122.8A CN201710751122A CN107515826B CN 107515826 B CN107515826 B CN 107515826B CN 201710751122 A CN201710751122 A CN 201710751122A CN 107515826 B CN107515826 B CN 107515826B
Authority
CN
China
Prior art keywords
test case
code
change
test
recommendation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710751122.8A
Other languages
English (en)
Other versions
CN107515826A (zh
Inventor
刘泽文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201710751122.8A priority Critical patent/CN107515826B/zh
Publication of CN107515826A publication Critical patent/CN107515826A/zh
Application granted granted Critical
Publication of CN107515826B publication Critical patent/CN107515826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis

Abstract

本发明公开了一种测试用例精准推荐方法、装置、系统、计算设备以及存储介质。其中,基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与代码变更信息相关联的测试用例,得到目标测试用例集,测试用例集包括一个或多个测试用例及其代码覆盖信息,代码变更信息包括代码变更部分;根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对代码变更部分进行测试的测试用例。由此,目标测试用例集中的测试用例均为与代码变更部分相关的测试用例,如此可以避免无效测试,而基于确定的推荐度可以进一步提高测试的精准度,并且可以避免测试的盲目性。

Description

测试用例精准推荐方法、装置、系统、设备及存储介质
技术领域
本发明涉及软件测试领域,特别是涉及一种测试用例推荐方法、装置、系统、计算设备以及存储介质。
背景技术
软件测试是指在规定的条件下对应用程序进行操作,以发现程序错误,衡量应用质量,对其是否能满足设计要求进行评估的过程。测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行得更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。
回归测试理论上应该在代码变化后执行先前的所有测试用例,但是由于工作量巨大,目前经常采用的方式是在代码变化后选择性地执行先前的测试用例,即可以仅选择与代码变化部分相关联的测试用例,所选定的测试用例即为“回归测试用例”。
针对应用程序的测试用例集往往很大,在提交针对应用程序的新的代码后,选取回归测试用例时,往往会出现以下问题:选取的回归测试用例中存在很多重复的测试用例,导致对同一段代码测试多遍,浪费了很多测试时间;测试不完全,某些测试代码并没有覆盖到。
以测试为Android应用的手工测试为例,Android应用的手工测试用例集往往达到上千个。现有选取手工回归测试用例的方法,一般是结合产品需求、产品设计以及测试工程师对于业务的熟悉程度和自己的工作经验来选取手工回归测试用例。为了便于区分,测试用例一般会根据功能分成不同粒度的测试用例集,或者给测试用例标上标签,如此在选取测试用例集时,选取的粒度是用例集或者是整个标签,选取粒度比较大,很容易出现漏选或者是多选的情况。
由此,在进行回归测试时,如何从测试用例集中选取合适的测试用例,以使得在满足回归测试的同时,尽量减少乃至消除重复测试或无效测试,是目前面临的主要问题。
发明内容
本发明的主要目的在于提供一种能够在实现对代码变更部分的测试的同时,减少重复测试和/或无效测试的测试用例推荐方案。
根据本发明的一个方面,提供了一种测试用例推荐方法,包括:基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与代码变更信息相关联的测试用例,得到目标测试用例集,其中,测试用例集包括一个或多个测试用例及其代码覆盖信息,代码变更信息包括代码变更部分;根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对代码变更部分进行测试的测试用例。
由此,得到的目标测试用例集中的测试用例均为与代码变更部分相关的测试用例,如此可以避免无效测试;所确定的推荐度可以作为进一步从目标测试用例集中选取针对回归测试的测试用例的参考因素,也可以作为执行目标测试用例集中的测试用例的优先级参考,如此可以进一步提高测试的精准度,并且可以避免测试的盲目性。
优选地,确定目标测试用例集中每个测试用例的推荐度的步骤可以包括:根据测试用例对代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中贡献度与测试用例所关联的变更代码占代码变更部分的变更比例正相关,专一度与测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
由此,贡献度可以反映测试用例对回归测试的有用程度,专一度则可以反映测试用例被执行时的有效测试的占比,根据贡献度和/或专一度确定的推荐度可以准确地衡量测试用例对于回归测试的测试质量。
优选地,代码变更信息还可以包括代码变更部分中变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度的步骤还可以包括:根据测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
由此,在确定测试用例的推荐度时,还可以参考测试用例所关联的变更代码的变更频率,变更频率高的变更代码为需要重点测试的部分。
优选地,可以使用如下计算公式计算测试用例的推荐度r,r=c×a×f,其中,c为测试用例所关联的变更代码占代码变更部分的变更比例,a为测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为所述测试用例所关联的变更代码的变更频率。该计算公式仅为本发明的一个示例性说明,还可以通过其它多种变形公式计算推荐度。
优选地,代码变更部分可以包括一个或多个代码变更单元,代码覆盖信息可以包括一个或多个代码覆盖单元,从测试用例集中选取与所述代码变更信息相关联的测试用例的步骤可以包括:从测试用例集中选取代码覆盖信息中具有与代码变更单元相对应的代码覆盖单元的测试用例。
由此,选取粒度更加精细,在避免漏选的同时,还可以清楚地获知所选取的测试用例与代码变更部分之间的关联关系。
优选地,对于与两个或两个以上的代码变更单元相关联的测试用例,可以分别确定该测试用例在每个代码变更单元下的子推荐度,测试用例在与其相关的所有代码变更单元下的子推荐度贡之和即为该测试用例的推荐度。
由此,可以清楚地了解每个代码变更单元下的测试用例的子推荐度以及每个测试用例的总的推荐度。
优选地,该应用测试方还可以包括:在测试客户端上执行对代码变更部分进行测试的测试用例过程中,获取待测试应用的代码执行信息;根据代码执行信息,重新确定测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与测试用例关联地保存在测试用集中。
由此,本发明的应用测试方法可以实现为一种闭环推荐策略,整个流程是一个不断反馈、优化推荐的过程。
根据本发明的另一个方面,还提供了一种测试用例推荐装置,包括:测试用例选取模块,用于基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与代码变更信息相关联的测试用例,得到目标测试用例集,其中,测试用例集包括一个或多个测试用例及其代码覆盖信息,代码变更信息包括代码变更部分;推荐度确定模块,用于根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对代码变更部分进行测试的测试用例。
优选地,推荐度确定模块可以根据测试用例对代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,贡献度与测试用例所关联的变更代码占代码变更部分的变更比例正相关,专一度与测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
优选地,代码变更信息还包括代码变更部分中的变更代码的变更频率,推荐度确定模块还根据测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
优选地,推荐度确定模块可以使用如下计算公式计算测试用例的推荐度贡献分值r,r=c×a×f,其中,c为测试用例所关联的变更代码占代码变更部分的变更比例,a为测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为测试用例所关联的变更代码的变更频率。
优选地,代码变更部分包括一个或多个代码变更单元,代码覆盖信息包括一个或多个代码覆盖单元,测试用例选取模块从测试用例集中选取代码覆盖信息中具有与代码变更单元相对应的代码覆盖单元的测试用例作为目标测试用例集。
优选地,对于与两个或两个以上的代码变更单元相关联的测试用例,推荐度确定模块将该测试用例在每个代码变更单元下的子推荐度之和作为该测试用例的推荐度。
优选地,该应用测试装置还可以包括:代码执行信息获取模块,用于在测试客户端上执行对代码变更部分进行测试的测试用例过程中,获取待测试应用的代码执行信息;代码覆盖信息确定及保存模块,用于根据代码执行信息,重新确定测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与测试用例关联地保存在测试用集中。
根据本发明的另一个方面,还提供了一种测试用例推荐系统,包括:测试客户端,其上安装有待测试应用,用于在其上执行测试用例以测试待测试应用;测试用例数据库,用于存储测试用例及其代码覆盖信息;以及测试用例决策服务器,用于基于待测试应用相比上一测试版本的代码变更信息,从测试用例数据库中选取与代码变更信息相关联的测试用例,得到目标测试用例集,其中,代码变更信息包括代码变更部分,并根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取用于测试客户端执行的对代码变更部分进行测试的测试用例。
优选地,测试用例决策服务器根据测试用例对代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中贡献度与测试用例所关联的变更代码占代码变更部分的变更比例正相关,专一度与测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
优选地,代码变更信息还包括代码变更部分中变更代码的变更频率,测试用例决策服务器还根据测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
优选地,测试用例决策服务器使用如下计算公式计算测试用例的推荐度r,r=c×a×f,其中,c为测试用例所关联的变更代码占代码变更部分的变更比例,a为测试用例关联的变更代码占其所覆盖的代码的覆盖比例,f为测试用例所关联的变更代码的变更频率。
优选地,代码变更部分包括一个或多个代码变更单元,代码覆盖信息包括一个或多个代码覆盖单元,测试用例决策服务器从测试用例集中选取代码覆盖信息中具有与代码变更单元相对应的代码覆盖单元的测试用例作为目标测试用例集。
优选地,对于与两个或两个以上的代码变更单元相关联的测试用例,测试用例决策服务器将该测试用例在每个代码变更单元下的子推荐度之和作为该测试用例的推荐度。
优选地,该应用测试系统还可以包括:代码覆盖信息分析装置,用于在测试客户端执行对代码变更部分进行测试的测试用例过程中,获取待测试应用的代码执行信息,根据代码执行信息,重新确定测试用例的代码覆盖信息,并将重新确定后的代码覆盖信息与测试用例关联地保存至测试用例数据库。
根据本发明的另一个方面,还提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行上文述及的测试用例推荐方法。
根据本发明的另一个方面,还提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被计算设备的处理器执行时,使处理器执行上文述及的测试用例推荐方法。
综上,利用本发明的测试用例精准推荐方法、装置、系统以及存储介质,得到的目标测试用例集中的测试用例均为与代码变更部分相关的测试用例,如此可以避免无效测试,而所确定的推荐度可以作为进一步从目标测试用例集中选取针对回归测试的测试用例的参考因素,也可以作为执行目标测试用例集中的测试用例的优先级参考,如此可以进一步提高测试的精准度,并且可以避免测试的盲目性。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是示出了根据本发明一实施例的测试用例推荐系统的结构示意图。
图2是示出了根据本发明一实施例的测试用例推荐方法的示意性流程图。
图3是示出了根据本发明一实施例的测试用例推荐装置的结构的示意性方框图。
图4是示出了根据本发明一实施例的计算设备的结构的示意性方框图。
图5是示出了本发明一具体实施例下的测试用例推荐系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
如背景技术部分所述,在对应用的代码进行修改后,需要对其进行回归测试,以验证修改是否引入了新的错误,或导致其他代码产生错误。在渐进和快速迭代开发中,新版本的连续发布使回归测试进行得更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。因此,在进行回归测试时,需要从测试用例集中选取合适的测试用例作为回归测试用例。其中,此处述及的“合适的测试用例”是指选取的测试用例应能够尽可能多地覆盖代码变化的部分,并且尽可能少地出现重复测试或无效测试。
本发明即是在这种需要对待测试应用进行回归测试的场景下提出了一种测试用例推荐方案。其中,本发明述及的“待测试应用”可以是适于运行在多种类型的终端设备上的应用程序,例如可以是适于安装在智能手机、平板电脑或是其他便携式移动终端上的应用程序,也可以是适于安装在台式电脑、智能电视等固定式终端设备上的应用程序。
本发明的测试用例推荐方案可以实现为图1所示的测试用例推荐系统。图1是示出了根据本发明一实施例的测试用例推荐系统的结构的示意性方框图。
参见图1,测试用例推荐系统可以由一个或多个测试客户端(图中10_1、10_2、10_N)、测试用例数据库30以及测试用例决策服务器20构成。
测试客户端10可以经由网络40或其它通讯方式实现与测试用例决策服务器20之间的数据通讯。不同的测试客户端之间(例如,10_1与10_2或10_N之间)也可以经由网络40彼此通信。网络40可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。在一个实施例中,网络40也可以包括卫星网络,由此将移动终端10的GPS信号传送给测试用例决策服务器20。应当注意,如果向图1中添加或从图1中去除附加模块,不会改变本发明的示例实施例的底层概念。另外,虽然为了方便说明而在图中示出了从测试用例数据库30到测试用例决策服务器20的双向箭头,但本领域技术人员可以理解的上,上述数据的收发也是可以通过网络40实现的。
测试客户端10可以是适于执行应用测试的多种形式的电子设备,包括但不限于智能电话、平板电脑或是其他便携式移动客户端,台式电脑、智能电视等终端设备。测试用例决策服务器20则是能够执行本发明的应用测试方法的服务器。图中虽然示出了多个测试客户端10-1…N以及单个测试用例决策服务器20和测试用例数据库30,但是本领域技术人员应该理解的是,上述1…N个测试客户端10旨在表示真实网络中存在的多个客户端设备,示出的单个测试用例决策服务器20和测试用例数据库30旨在表示本发明的技术方案涉及服务器及数据库的操作。对特定编号的测试客户端以及单个服务器和数据库加以详述至少为了说明方便,而非暗示对测试客户端和服务器的类型或是位置等具有限制。
测试客户端10上可以安装有一个或多个待测试应用,可以在测试客户端10上执行测试用例以测试待测试应用。测试用例数据库30中可以存储有针对一个或多个应用的测试用例集,测试用例集中包括一个或多个测试用例及其代码覆盖信息。其中,测试用例可以是自动化测试用例,也可以是手工测试用例,测试用例的代码覆盖信息可以是通过多种方式预先获取的,代码覆盖信息反映了测试用例被执行时待测试应用中的代码覆盖情况。
测试用例数据库30中所存储的测试用例为对之前版本的待测试应用进行测试时所使用的测试用例。在进行回归测试时,测试用例决策服务器20可以根据待测试应用相比上一测试版本的代码变更信息以及测试用例数据库30中所存储的测试用例的代码覆盖信息,从测试用例数据库30中选取与代码变更信息相关联的测试用例,以得到目标测试用例集。在得到目标测试用例集后,测试用例决策服务器20可以进一步确定目标测试用例集中每个测试用例的推荐度,以便后续可以根据推荐度确定用于测试客户端10执行的针对回归测试的测试用例。其中,此处述及的推荐度可以作为进一步从目标测试用例集中选取测试用例的一个参考因素,此外,还可以根据推荐度的大小确定测试用例执行时的优先级顺序,如此可以避免盲目无效的回归测试。
作为本发明的一个可选实施例,图1所示的测试用例推荐系统还可以包括代码覆盖信息分析装置(图中未示出),代码覆盖信息分析装置可以获取测试客户端执行测试用例过程中待测试应用的代码执行信息,根据代码执行信息,重新确定测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与其对应的测试用例关联地保存至测试用例数据库30。如此,本发明的应用测试系统可以实现为一种闭环推荐系统,系统的整个工作流程是一个不断反馈、优化推荐的过程。
下面结合图2就本发明的测试用例推荐系统实现回归测试的原理及过程进行详细说明,图2是示出了根据本发明一实施例的测试用例推荐方法的示意性流程图。其中,下文结合图2所描述的各步骤均可以由相应的功能装置实现,而这些功能装置均可以包含在本发明的测试用例推荐系统中。
在执行图2所示的测试用例推荐方法之前,可以通过多种方式预先获取待测试应用相比上一测试版本的代码变更信息。例如,可以通过代码差异比较工具对当前的待测试应用与上一测试版本的应用之间的源代码进行比较,以得到代码变更信息。此处述及的代码变更信息反映了待测试应用相比上一测试版本的代码变化情况,其可以包括用于指示修改、增加或删除了多少行代码的代码变更部分。
作为本发明的一个可选实施例,代码变更信息可以是单元级别的代码变更信息,即代码变更部分可以包括多个代码变更单元,每个代码变更单元可以视为单元级别下的代码变更部分。此处述及的“单元”需要根据具体情况确定,例如,C语言中的单元指一个函数,Java中可以是一个类或方法,图形化的软件中可以指一个窗口或一个菜单。以待测试应用为Android系统下的应用为例,代码变更单元可以是类文件中方法级的代码变更信息。
在获取了待测试应用相比上一测试版本的代码变更信息后,就可以执行步骤S210,基于代码变更信息从测试用例集中选取与代码变更信息相关联的测试用例,以得到目标测试用例集。
测试用例集中的测试用例为对之前一个或多个测试版本的待测试应用进行测试时所使用的测试用例。测试用例集中可以包括一个或多个测试用例以及每个测试用例的代码覆盖信息,代码覆盖信息反映了测试用例被执行时待测试应用中的代码执行情况。代码覆盖信息也可以包括多个代码覆盖单元,此处述及的单元与上文述及的单元的含义相同,这里不再赘述。根据代码覆盖信息可以将测试用例与其被执行时覆盖的待测试应用中的代码关联起来。因此,可以根据代码覆盖信息从测试用例集中选取与代码变更部分相关联的测试用例,以得到目标测试用例集。
就本发明而言,可以预先通过多种方式获取测试用例的代码覆盖信息,并将其与测试用例关联保存在测试用例集中。例如,可以是在测试客户端上执行测试用例以对之前版本的待测试应用进行测试的过程中,获取待测试应用的代码执行信息,通过对获取的代码执行信息进行分析,就可以确定测试用例的代码覆盖信息。具体实现上,可以利用代码插桩的方式在待测试应用中插入覆盖率生成SDK(Software Development Kit,软件开发工具包),覆盖率生成SDK用于在使用测试用例对待测试应用进行测试时,记录待测试应用中的代码执行情况,如可以记录测试用例执行时待测试应用中可执行语句被执行(即被覆盖)的情况、程序执行的路径、变量的引用、定义等信息。通过对记录的信息做进一步分析就可以将测试用例与代码关联起来,其中,分析操作可以由人工执行也可以由相应的分析脚本执行。确定测试用例的代码覆盖率的具体实现为本领域技术人员所公知,这里不再详述。
基于步骤S210获取的目标测试用例集可以视为对测试用例集的初步筛选结果,所得到的目标测试用例集中的测试用例均为与代码变更部分相关联的测试用例,因此,通过步骤S210可以排除测试用例集中无效的测试用例。在获取目标测试用例集后,可以简单地直接使用目标测试用例集进行测试,以实现对代码变更部分的测试。但是,这种测试方法会产生重复测试,例如,目标测试用例集中可能存在多个测试用例对应于代码变更部分中的同一部分的变更代码。因此,在获取目标测试用例集后,还需要对目标测试用例集中的测试用例做进一步筛选,以减少重复测试。为此,在获取目标测试用例集后,可以执行步骤S220,根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对代码变更部分进行测试的测试用例。
所确定的推荐度可以用于衡量测试用例针对代码变更部分的测试质量,其可以作为测试用例的一个推荐因子,在从目标测试用例集中选取测试用例时,可以参考测试用例的推荐度进行选取。另外,推荐度也可以作为目标测试用例集中的测试用例执行时的优先级参考,即可以根据推荐度的大小决定目标测试用例集中的测试用例的执行顺序。
作为本发明的一个可选实施例,可以根据测试用例对代码变更部分(即回归测试)的贡献度和/或专一度,来确定目标测试用例集中每个测试用例的推荐度。其中,“贡献度”可以反映测试用例对回归测试的有用程度,贡献度可以与测试用例所关联的变更代码占代码变更部分的变更比例正相关。“专一度”则可以反映测试用例被执行时的有效测试率,此处述及的有效测试率是指测试用例被执行时测试到的代码中变更代码所占的比例。优选地,可以根据测试用例所关联的变更代码占其所覆盖的代码的覆盖比例来确定专一度,专一度与覆盖比例正相关。
由于贡献度反映了测试用例对回归测试的有用程度,专一度反映了测试用例被执行时的有效测试率。因此,优选地,在确定目标测试用例集中测试用例的推荐度时,可以同时参考测试用例的贡献度和专一度,此时贡献度和专一度之间为正相关关系。
作为本发明的一个可选实施例,可以使用如下计算公式计算测试用例的推荐度r,r=c×a,其中,c为测试用例所关联的变更代码占代码变更部分的变更比例,a为测试用例所关联的变更代码占其所覆盖的代码的覆盖比例。需要说明的是,上述推荐度的计算公式仅是本发明的一种示例,还可以根据其它多种变形公式来确定测试用例的推荐度r。例如,还可以根据如r=c+a、r=lnc+lna、r=c2+a2等多种公式计算测试用例的推荐度,这里不再赘述。
另外,作为本发明的一个可选实施例,在计算测试用例的推荐度时,还可以参考测试用例所关联的变更代码的变更频率,此时,代码变更信息还可以包括代码变更部分中变更代码的变更频率,这里述及的变更频率是指变更代码或者变更代码所属的代码模块在历次版本中被更改的次数。频繁变更的代码或者模块,表明其调用频率高,耦合度高,应将其作为重点测试部分进行测试。而对于经历若干版本都不怎么变化的代码模块,其可能是历史冗余代码,需要进行删减。由此,在计算测试用例的推荐度时,除了考虑上文述及的贡献度、专一度外,还可以参考测试用例所关联的变更代码的变更频率。例如,可以使用如下计算公式计算所述测试用例的推荐度r,r=c×a×f,其中,f为测试用例所关联的变更代码的变更频率,c、a的含义可以参见上文说明,这里不再赘述。另外,还可以对此处述及的计算公式进行多种变形,这里也不再赘述。
如上文所述,代码变更信息可以包括一个或多个代码变更单元,代码覆盖信息也可以包括一个或多个代码覆盖单元。如此,在执行步骤S210的过程中,可以从测试用例集中选取代码覆盖信息中具有与代码变更单元相对应的代码覆盖单元的测试用例,以得到目标测试用例集。在执行步骤S220的过程中,可以分别计算目标测试用例集中每个测试用例在其关联的每个代码变更单元下的子推荐度。对于与两个或两个以上代码变更单元相关联的测试用例,可以将其在所有关联的代码变更单元下的子推荐度之和作为该测试用例的总的推荐度。由此,可以清楚地了解每个代码变更单元下的测试用例的子推荐度以及每个测试用例的总的推荐度,从而在从目标测试用例集中选取用于回归测试的测试用例时,选取粒度更加精细。其中,计算子推荐度的过程可以参见上文推荐度的计算过程,这里不再赘述。
另外,假如在从测试用例集中选取与代码变更部分的代码变更单元相关联的测试用例时,选取结果表明目标测试用例集中没有与代码变更部分中的一个或多个代码变更单元相关联的测试用例时,可以针对这一个或多个代码变更单元设计新的测试用例参与回归测试。
需要说明的是,本发明述及的推荐度可以作为进一步从目标测试用例集中选取测试用例的一个参考因素,而非唯一因素,在根据推荐度从目标测试用例集中选取测试用例参与回归测试时,还需要兼顾使得所选取的测试用例尽可能地覆盖代码变更部分、尽可能地少地产生重复测试等原则。
例如,假设代码变更部分涉及3个代码变更单元,分别是代码变更单元a、b、c,测试用例集中与代码变更单元a相关联的测试用例为用例1、用例2,测试用例集中与代码变更单元b相关联的测试用例为用例2、用例3,测试用例集中与代码变更单元c相关联的测试用例为用例4。其中,用例1仅与代码变更单元a关联,用例2与代码变更单元a、b关联,用例3仅与代码变更单元b关联,用例4除了与代码变更单元c关联,还与代码单元d关联,假设代码变更单元a、b、c的变更比例相同。
如此,根据本发明上文述及的推荐度的计算公式可以计算得到用例1、用例2、用例3的推荐因子相同,且均大于用例4的推荐因子。由于有且仅有用例4与变更类级别c的代码关联,因此在选取回归测试用例时应选取用例4以使得选取的测试用例能够测试变更类级别c的代码。为了测试变更类级别a、b,可以选取用例1、用例3作为回归测试用例,也可以仅选取用例2作为回归测试用例。优选地,可以选取用例2,以减少测试次数。
最后需要说明的是,本发明的测试用例推荐方法可以实现为一种闭环形式的测试用例推荐方案。具体地说,在利用本发明的测试用例推荐方法选取了针对代码变更部分的测试用例后,可以在测试客户端上执行所选取的测试用例,以进行回归测试。并且,在执行测试用例的过程中,可以获取待测试应用的代码执行信息,根据代码执行信息,重新确定测试用例的代码覆盖信息。由此可以根据重新确定的代码覆盖信息,对之前保存的测试用例的代码覆盖信息进行更新。在后续进行回归测试时,就可以根据最新保存的测试用例的代码覆盖信息,执行图2所示的测试用例推荐方案选取合适的测试用例作为回归测试用例,整个流程是一个不断反馈、优化推荐的过程。
至此,结合图2就本发明的测试用例推荐方法做了详细说明,另外,本发明的测试用例推荐方法还可以实现为一种测试用例推荐装置。图3是示出了根据本发明一实施例的测试用例推荐装置的结构的示意性方框图。其中,测试用例推荐装置300的功能模块可以由实现本发明原理的硬件、软件或硬件和软件的结合来实现。本领域技术人员可以理解的是,图3所描述的功能模块可以组合起来或者划分成子模块,从而实现上述发明的原理。因此,本文的描述可以支持对本文描述的功能模块的任何可能的组合、或者划分、或者更进一步的限定。
下面仅就测试用例推荐装置300可以具有的功能模块以及各功能模块可以执行的操作做简要说明,对于其中涉及的细节部分可以参见上文描述,这里不再赘述。
参见图3,测试用例推荐装置300包括测试用例选取模块310和推荐度确定模块320。
测试用例选取模块310用于基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与代码变更信息相关联的测试用例,得到目标测试用例集,其中,测试用例集包括一个或多个测试用例及其代码覆盖信息,代码变更信息包括代码变更部分。
推荐度确定模块320用于根据代码覆盖信息以及代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对代码变更部分进行测试的测试用例。
具体地,推荐度确定模块320可以根据测试用例对代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,贡献度与测试用例所关联的变更代码占代码变更部分的变更比例正相关,专一度与测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
作为本发明的一个可选实施例,代码变更信息还可以包括代码变更部分中的变更代码的变更频率,推荐度确定模块320还可以根据测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
作为本发明的一个可选实施例,推荐度确定模块320可以使用如下计算公式计算所述测试用例的推荐度贡献分值r,r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为测试用例所关联的变更代码的变更频率。
作为本发明的一个可选实施例,代码变更部分包括一个或多个代码变更单元,代码覆盖信息包括一个或多个代码覆盖单元,测试用例选取模块310可以从测试用例集中选取代码覆盖信息中具有与代码变更单元相对应的代码覆盖单元的测试用例作为目标测试用例集。
对于与两个或两个以上的代码变更单元相关联的测试用例,推荐度确定模块320可以分别将该测试用例在每个代码变更单元下的子推荐度之和作为该测试用例的推荐度。
如图3所示,测试用例推荐装置300还可以可选地包括图中虚线框所示的代码执行信息获取模块330和代码覆盖信息确定及保存模块340。
代码执行信息获取模块330用于获取在测试客户端上执行测试用例过程中的代码执行信息。代码覆盖信息确定及保存模块340用于根据代码执行信息,重新确定测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与测试用例关联地保存在测试用集中。
图4是示出了根据本发明一实施例的计算设备的结构的示意性方框图。
参见图4,计算设备400可以是台式机、便携式计算机、平板电脑、智能手机、个人数据助理(PDA),或者其他类型的计算机装置,但是不限于任何特定形式。计算设备400可以包括但不限于处理器410和存储器420。
处理器410可以是一个多核的处理器,也可以包含多个子处理器。在一些实施例中,处理器410可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。
存储器420可以包括存储文件形式或其他形式的内容的任何类型的存储设备中的一个或多个,包括磁硬盘驱动器、固态硬驱、半导体存储设备、闪存,或者能够存储程序指令或数字信息的任何其他计算机可读可写存储介质。存储器420上可以存储有可执行代码,在本发明中,当存储器420上的可执行代码被处理器410执行时,可以使处理器410执行图2所示的测试用例推荐方法。
具体应用例
图5是示出了本发明一具体实施例下的测试用例推荐系统的结构示意图。
如图5所示,系统可以主要由覆盖率收集装置550、覆盖率文件存储服务器510、自动构建服务器520、用例推荐服务器530四部分构成。
覆盖率收集装置550可以由测试客户端和覆盖率收集SDK构成。覆盖率收集SDK可以集成在待测试应用中,在测试客户端上执行测试用例以对待测试应用进行测试时,覆盖率收集SDK可以标识测试用例ID,获取待测试应用的代码执行信息以生成代码覆盖率文件,然后将代码覆盖率文件上传到覆盖率文件存储服务器510。
在具体实现上,覆盖率收集SDK可以使用Jacoco代码覆盖率工具,无缝嵌入到任何待测应用(例如Android应用)中。在使用测试用例对待测试应用进行测试的时候,覆盖率收集SDK可以记录待测试应用中的被测程序代码的覆盖率信息,并将覆盖率信息存储到测试机文件系统中。在完成一个测试用例的测试时,自动上传该测试用例的代码覆盖率文件,并重置覆盖率记录。同时,覆盖率收SDK可以实现本机持久化结果和失败重传机制,在网络不稳定或者服务器故障的情况下,可以保证覆盖率文件不会丢失。
盖率文件存储服务器510可以根据测试用例ID以及其他可以定义的信息,如用例标签、用例集ID、测试模块名称等,对测试用例的代码覆盖率文件按照约定的存储结构存储。
自动构建服务器520可以是Jenkins服务器,其可以运行覆盖率处理业务,从覆盖率文件存储服务器510拉取覆盖率文件、从版本控制系统570(如git系统)拉取被测代码,生成覆盖率报告,然后解析覆盖率报告,将解析结果存储到用例覆盖结果数据库560中。具体地,自动构建服务器520可以监控覆盖率文件上传事件,执行用例级的覆盖率分析。也就是说,在每次将代码覆盖率文件上传到覆盖率文件存储服务器510时,自动构建服务器520都可以对该代码覆盖率文件进行分析,以生成代码覆盖率报告文件,该文件可以是XML文件。然后可以解析XML文件,并按照一定的格式,将解析结果存储到数据库560中,由此可以建立每个测试用例与代码之间的关联。此处,可以建立测试用例与单元级别的代码之间的关联,相关因子为对应单元的覆盖率。其中,关于单元的解释可以参见上文相关描述,这里不再赘述。
在需要进行回归测试时,可以由自动构建服务器520或者用例推荐服务器530从版本控制系统拉取本次测试时待测试应用的源代码,然后可以通过比较工具通过对待测试应用本次的源代码和上一次测试下的源代码进行比较,以得到代码变更信息,即修改、增加或删除了多少行代码,相比老版本变更占比多少。
在得到代码变更信息后,用例推荐服务器530可以执行图2所示的方法从用例覆盖结果数据库560中拉取与代码变更部分相关联的测试用例及其代码覆盖信息,以得到目标测试用例集。然后计算目标测试用例集中每个测试用例的推荐度,由此就可以向测试人员展示目标测试用例集中的测试用例、每个测试用例的代码覆盖信息、推荐度,如此测试人员就可以根据项目情况灵活选取最小范围测试用例集,在保证测试质量的同时,可以实现快速测试。如图5所示,用例推荐服务器530可以通过显示设备540将目标测试用例集展示给测试人员,以供测试人员选取合适的测试用例作为回归测试用例。在选取回归测试用例后,就可以在测试客户端上执行测试用例,以实现回归测试。
在执行回归测试的过程中,可以通过覆盖率收集装置550继续上传测试过程中的代码覆盖率文件,然后由自动构建服务器520更新测试用例的代码覆盖信息,整个流程是一个不断反馈、优化推荐的过程。
上文中已经参考附图详细描述了根据本发明的测试用例精准推荐方法、装置、系统以及计算设备。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (20)

1.一种测试用例推荐方法,包括:
基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述测试用例集包括一个或多个测试用例及其代码覆盖信息,所述代码变更信息包括代码变更部分;
根据所述代码覆盖信息以及所述代码变更信息,确定所述目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对所述代码变更部分进行测试的测试用例,
其中,所述确定目标测试用例集中每个测试用例的推荐度的步骤包括:根据所述测试用例对所述代码变更部分的贡献度和专一度,确定目标测试用例集中每个测试用例的推荐度,其中,所述贡献度与所述测试用例所关联的变更代码占所述代码变更部分的变更比例正相关,所述专一度与所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
2.根据权利要求1所述的测试用例推荐方法,其中,所述代码变更信息还包括所述代码变更部分中变更代码的变更频率,所述确定目标测试用例集中每个测试用例的推荐度的步骤还包括:
根据所述测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
3.根据权利要求2所述的测试用例推荐方法,其中,使用如下计算公式计算所述测试用例的推荐度r,
r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为所述测试用例所关联的变更代码的变更频率。
4.根据权利要求1所述的测试用例推荐方法,其中,所述代码变更部分包括一个或多个代码变更单元,所述代码覆盖信息包括一个或多个代码覆盖单元,
所述从测试用例集中选取与所述代码变更信息相关联的测试用例的步骤包括:从所述测试用例集中选取代码覆盖信息中具有与所述代码变更单元相对应的代码覆盖单元的测试用例。
5.根据权利要求4所述的测试用例推荐方法,其中,
对于所述目标测试用例集中与两个或两个以上的代码变更单元相关联的测试用例,分别确定所述测试用例在每个代码变更单元下的子推荐度,所述测试用例在与其相关的所有代码变更单元下的子推荐度之和即为该测试用例的推荐度。
6.根据权利要求1至5中任何一项所述的测试用例推荐方法,还包括:
在测试客户端上执行对所述代码变更部分进行测试的测试用例过程中,获取所述待测试应用的代码执行信息;
根据所述代码执行信息,重新确定所述测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与所述测试用例关联地保存在所述测试用集中。
7.一种测试用例推荐装置,包括:
测试用例选取模块,用于基于待测试应用相比上一测试版本的代码变更信息,从测试用例集中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述测试用例集包括一个或多个测试用例及其代码覆盖信息,所述代码变更信息包括代码变更部分;
推荐度确定模块,用于根据所述代码覆盖信息以及所述代码变更信息,确定所述目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取对所述代码变更部分进行测试的测试用例,其中,所述推荐度确定模块根据所述测试用例对所述代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,所述贡献度与所述测试用例所关联的变更代码占所述代码变更部分的变更比例正相关,所述专一度与所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
8.根据权利要求7所述的测试用例推荐装置,其中,所述代码变更信息还包括所述代码变更部分中的变更代码的变更频率,所述推荐度确定模块还根据所述测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
9.根据权利要求8所述的测试用例推荐装置,其中,所述推荐度确定模块使用如下计算公式计算所述测试用例的推荐度贡献分值r,
r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例,f为所述测试用例所关联的变更代码的变更频率。
10.根据权利要求7所述的测试用例推荐装置,其中,所述代码变更部分包括一个或多个代码变更单元,所述代码覆盖信息包括一个或多个代码覆盖单元,所述测试用例选取模块从所述测试用例集中选取代码覆盖信息中具有与所述代码变更单元相对应的代码覆盖单元的测试用例作为所述目标测试用例集。
11.根据权利要求10所述的测试用例推荐装置,其中,
对于与两个或两个以上的代码变更单元相关联的测试用例,所述推荐度确定模块将所述测试用例在每个代码变更单元下的子推荐度之和作为该测试用例的推荐度。
12.根据权利要求7至11中任何一项所述的测试用例推荐装置,还包括:
代码执行信息获取模块,用于在测试客户端上执行对所述代码变更部分进行测试的测试用例过程中,获取待测试应用的代码执行信息;
代码覆盖信息确定及保存模块,用于根据所述代码执行信息,重新确定所述测试用例的代码覆盖信息,并将重新确定的代码覆盖信息与所述测试用例关联地保存在所述测试用集中。
13.一种测试用例推荐系统,包括:
测试客户端,其上安装有待测试应用,用于在其上执行测试用例以测试所述待测试应用;
测试用例数据库,用于存储测试用例及其代码覆盖信息;以及
测试用例决策服务器,用于基于待测试应用相比上一测试版本的代码变更信息,从所述测试用例数据库中选取与所述代码变更信息相关联的测试用例,得到目标测试用例集,其中,所述代码变更信息包括代码变更部分,并根据所述代码覆盖信息以及所述代码变更信息,确定目标测试用例集中每个测试用例的推荐度,以便根据推荐度选取用于所述测试客户端执行的对所述代码变更部分进行测试的测试用例,其中,所述测试用例决策服务器根据所述测试用例对所述代码变更部分的贡献度和/或专一度,确定目标测试用例集中每个测试用例的推荐度,其中,所述贡献度与所述测试用例所关联的变更代码占所述代码变更部分的变更比例正相关,所述专一度与所述测试用例所关联的变更代码占其所覆盖的代码的覆盖比例正相关。
14.根据权利要求13所述的测试用例推荐系统,其中,所述代码变更信息还包括所述代码变更部分中变更代码的变更频率,所述测试用例决策服务器还根据所述测试用例所关联的变更代码的变更频率,确定目标测试用例集中每个测试用例的推荐度。
15.根据权利要求14所述的测试用例推荐系统,其中,所述测试用例决策服务器使用如下计算公式计算所述测试用例的推荐度r,
r=c×a×f,其中,c为所述测试用例所关联的变更代码占所述代码变更部分的变更比例,a为所述测试用例关联的变更代码占其所覆盖的代码的覆盖比例,f为所述测试用例所关联的变更代码的变更频率。
16.根据权利要求13所述的测试用例推荐系统,其中,所述代码变更部分包括一个或多个代码变更单元,所述代码覆盖信息包括一个或多个代码覆盖单元,所述测试用例决策服务器从所述测试用例集中选取代码覆盖信息中具有与所述代码变更单元相对应的代码覆盖单元的测试用例作为所述目标测试用例集。
17.根据权利要求16所述的测试用例推荐系统,其中,对于与两个或两个以上的代码变更单元相关联的测试用例,所述测试用例决策服务器将该测试用例在每个代码变更单元下的子推荐度之和作为该测试用例的推荐度。
18.根据权利要求17所述的测试用例推荐系统,还包括:
代码覆盖信息分析装置,用于在所述测试客户端执行对所述代码变更部分进行测试的测试用例过程中,获取所述待测试应用的代码执行信息,根据所述代码执行信息,重新确定所述测试用例的代码覆盖信息,并将重新确定后的代码覆盖信息与所述测试用例关联地保存至所述测试用例数据库。
19.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的测试用例推荐方法。
20.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的测试用例推荐方法。
CN201710751122.8A 2017-08-28 2017-08-28 测试用例精准推荐方法、装置、系统、设备及存储介质 Active CN107515826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710751122.8A CN107515826B (zh) 2017-08-28 2017-08-28 测试用例精准推荐方法、装置、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710751122.8A CN107515826B (zh) 2017-08-28 2017-08-28 测试用例精准推荐方法、装置、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN107515826A CN107515826A (zh) 2017-12-26
CN107515826B true CN107515826B (zh) 2020-12-01

Family

ID=60724362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710751122.8A Active CN107515826B (zh) 2017-08-28 2017-08-28 测试用例精准推荐方法、装置、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN107515826B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427637B (zh) * 2018-01-18 2021-05-25 平安科技(深圳)有限公司 测试案例推荐方法、电子装置及可读存储介质
CN108829575B (zh) * 2018-04-17 2021-08-24 平安科技(深圳)有限公司 测试案例推荐方法、电子装置及可读存储介质
CN110795329A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 覆盖率测试方法及系统、处理器、存储介质
CN109828911A (zh) * 2018-12-26 2019-05-31 北京仁科互动网络技术有限公司 一种测试方法和装置
CN109783382A (zh) * 2019-01-07 2019-05-21 郑州云海信息技术有限公司 一种基于精准测试平台的测试方法及系统
CN110413506B (zh) * 2019-06-19 2023-02-03 平安普惠企业管理有限公司 测试用例推荐方法、装置、设备及存储介质
CN110727597B (zh) * 2019-10-15 2023-03-10 杭州安恒信息技术股份有限公司 一种基于日志排查无效代码补全用例的方法
CN110928770B (zh) * 2019-10-29 2023-11-28 航天信息股份有限公司 软件测试的方法、装置、系统、存储介质和电子设备
CN110908898B (zh) * 2019-11-06 2023-07-21 贝壳找房(北京)科技有限公司 生成测试方案的方法及系统
CN111221737B (zh) * 2020-01-09 2023-11-14 苏州洞察云信息技术有限公司 一种覆盖率确定方法、装置及存储介质
US11119898B1 (en) 2020-05-07 2021-09-14 International Business Machines Corporation Automatic code coverage file recommendation
CN111563041B (zh) * 2020-05-08 2022-02-08 吴迪 一种测试用例按需精准执行方法
CN111382085A (zh) * 2020-05-09 2020-07-07 北京字节跳动网络技术有限公司 测试用例生成方法、装置、设备及介质
CN111858301B (zh) * 2020-06-05 2022-10-11 中国船舶重工集团公司第七0九研究所 基于变更历史的组合服务测试用例集约简方法及装置
CN111858371A (zh) * 2020-07-28 2020-10-30 北京达佳互联信息技术有限公司 软件测试方法、系统、存储介质及计算机设备
CN116097227A (zh) * 2020-09-25 2023-05-09 西门子股份公司 基于变更相关性分析的测试用例选择方法及装置
CN112380125B (zh) * 2020-11-16 2024-04-26 中信银行股份有限公司 测试案例的推荐方法、装置、电子设备及可读存储介质
CN112783800B (zh) * 2021-03-19 2023-09-05 北京奇艺世纪科技有限公司 一种测试用例筛选方法及装置
CN113282519B (zh) * 2021-07-22 2021-11-12 北京关键科技股份有限公司 一种用于软件测试的用例数据推荐方法、系统和介质
CN113760769B (zh) * 2021-09-13 2023-11-07 北京百度网讯科技有限公司 测试用例处理方法、装置、电子设备以及存储介质
CN116501653B (zh) * 2023-06-30 2023-10-03 卡斯柯信号(北京)有限公司 一种软件回归测试方法及装置
CN117093501B (zh) * 2023-09-25 2024-03-12 哈尔滨航天恒星数据系统科技有限公司 一种基于预训练模型的测试用例推荐方法、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750153A (zh) * 2012-06-29 2012-10-24 南京大学 一种基于程序变更的回归测试用例集构建方法
CN102880545A (zh) * 2012-08-30 2013-01-16 中国人民解放军63928部队 一种测试用例优先级排序动态调整方法
CN105930257A (zh) * 2015-10-12 2016-09-07 中国银联股份有限公司 一种确定目标测试用例的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4134218B2 (ja) * 2006-11-16 2008-08-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 回帰テストにおいて実施すべきテストケースの優先度を決定するための情報処理装置、方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750153A (zh) * 2012-06-29 2012-10-24 南京大学 一种基于程序变更的回归测试用例集构建方法
CN102880545A (zh) * 2012-08-30 2013-01-16 中国人民解放军63928部队 一种测试用例优先级排序动态调整方法
CN105930257A (zh) * 2015-10-12 2016-09-07 中国银联股份有限公司 一种确定目标测试用例的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"回归测试中的测试用例优先排序技术述评";陈翔等;《软件学报》;20130523;第24卷(第8期);第1695-1712页 *

Also Published As

Publication number Publication date
CN107515826A (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN107515826B (zh) 测试用例精准推荐方法、装置、系统、设备及存储介质
CN108959059B (zh) 一种测试方法以及测试平台
US20150026664A1 (en) Method and system for automated test case selection
CN111679990B (zh) 测试数据生成方法、装置、可读介质及电子设备
CN114186697B (zh) 基于深度学习框架生成和应用深度学习模型的方法及装置
CN110674047A (zh) 软件测试方法、装置及电子设备
CN111552669A (zh) 数据处理方法、装置、计算设备和存储介质
CN113138927B (zh) 一种软件功能测试方法和装置
CN112905262A (zh) 一种航天测控系统配置方法及装置
CN115470101A (zh) 数据测试方法、装置、计算机设备和存储介质
CN112114789B (zh) 一种业务开发方法及设备
US20110154292A1 (en) Structure based testing
CN106557419B (zh) 程序的测试方法及装置
CN110704099B (zh) 联盟链的构建方法、装置和电子设备
CN115984022B (zh) 分布式支付系统统一对账方法和装置
CN110806967A (zh) 一种单元测试方法和装置
CN114185805A (zh) 一种埋点验证方法、装置、设备及存储介质
US11436130B1 (en) System, method, and computer program for automating manually written test cases
CN116257422A (zh) 自测用例生成方法、装置及电子设备
CN114116480A (zh) 应用程序测试覆盖率的确定方法、装置、介质及设备
CN113515447A (zh) 系统自动化测试方法及装置
CN114371866A (zh) 业务系统的版本重构测试方法、装置和设备
CN112035360A (zh) 中间件测试方法、装置、计算机设备及可读存储介质
CN111159988A (zh) 一种模型处理方法、装置、计算机设备及存储介质
CN105278983A (zh) 一种应用软件预装次数的控制方法及装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200710

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 510627 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping radio square B tower 13 floor 03 unit self

Applicant before: GUANGZHOU ALIBABA LITERATURE INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant