CN112346952A - 用于测试用例的回归测试的方法、设备和电子设备 - Google Patents
用于测试用例的回归测试的方法、设备和电子设备 Download PDFInfo
- Publication number
- CN112346952A CN112346952A CN201910722809.8A CN201910722809A CN112346952A CN 112346952 A CN112346952 A CN 112346952A CN 201910722809 A CN201910722809 A CN 201910722809A CN 112346952 A CN112346952 A CN 112346952A
- Authority
- CN
- China
- Prior art keywords
- test
- test case
- test cases
- serial
- regression
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 362
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000003860 storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000002360 preparation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种用于测试用例的回归测试的方法、设备和电子设备。该用于测试用例的回归测试的方法包括:获取待执行的测试用例集合;从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
Description
技术领域
本发明涉及回归测试技术,更具体地,涉及一种用于测试用例的回归测试的方法、用于测试用例的回归测试的设备和电子设备。
背景技术
回归测试指的是,当系统发生改变时,重新执行之前针对原有系统的测试。通过回归测试,可以检测这种改变是否会引入新的错误。
回归测试向来是影响研发流程效率的重要因素。在实际测试工作中,随着软件功能的增加、完善,所积累的测试用例也不断增长。这导致在进行回归测试时的回归时长也呈线性增长。例如,在较成熟的系统模块中,测试用例可能高达几千个,因此,回归时长也会超过若干小时。降低回归时长可以显著提升测试效率。
在现有的回归测试过程中,测试人员通常一个测试用例接着一个测试用例地,顺序执行各个测试用例。
此外,有些测试人员同时启动多套独立的测试环境,简单地将测试用例人为分配到这些测试环境中。在这种情况下,测试人员需要启动多次测试任务。在每个测试环境中,测试人员仍然一个测试用例接着一个测试用例地,顺序执行所分配的测试用例。
发明内容
本发明的一个目的是提供一种用于测试用例的回归测试的新技术方案。
根据本发明的第一方面,提供了一种用于测试用例的回归测试的方法,包括:获取待执行的测试用例集合;从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
根据本发明的第二方面,提供了一种用于测试用例的回归测试的设备,包括:第一获取模块,用于获取待执行的测试用例集合;第二获取模块,用于从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;获得模块,用于基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;以及分配模块,用于基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
根据本发明的第三方面,提供了一种用于测试用例的电子设备,包括:处理器和存储器,其中,所述存储器存储可执行指令,以及所述可执行指令当被处理器执行时实现根据本公开的实施例的方法。
根据本发明的一个实施例,由于本发明基于测试用例的历史执行方式和历史执行时间,将测试用例分配到多个回归环境,从而使得每个回归环境都能以基本接近的时间执行完毕分配到的测试用例,最终保证所有的测试用例可以基本同时被执行完毕。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1示出了根据本公开的一个实施例的方法的示意性流程图。
图2示出了根据本公开的一个实施例的设备的示意性框图。
图3示出了根据本公开的一个实施例的电子设备的示意性框图。
图4示出了可应用根据本公开的实施例的方案的网络的示意图。
图5示出了对测试用例进行分类处理的例子。
图6示出了在两个回归环境中执行测试用例的例子。
图7示出了根据本公开的一个实施例的例子。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照附图描述根据本发明的各个实施例和例子。
<方法>
图1示出了根据本公开的一个实施例的用于测试用例的回归测试的方法的示意性流程图。
如图1所示,在步骤S1100,获取待执行的测试用例集合。
在步骤S1200,从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式。
由于测试用例会按照一定的时间周期重复执行,因此,所述历史执行时长可以是之前若干次执行该测试用例的平均时长。
在步骤S1300,基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合。
在步骤S1400,基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
此外,通过按照各个测试用例的历史运行时长来将测试用例分配到多个回归环境,可以优化测试用例分配的效果,从而减小总运行时长。
在这里,所述多个回归环境可以是位于同一个处理系统或关联的处理系统中的多个关联的回归环境。所述关联的处理系统例如可以云系统。这样,可以集中控制对与测试用例的分配,而无需人工的介入。这有利于系统自动地、动态地分配数据和测试用例。
这里,例如将历史执行方式是并行的测试用例,分入并行测试用例集合。此外,将历史执行方式是串行的测试用例,分入串行测试用例集合。但是历史执行方式是串行的测试用例,可能在本次执行时并不必然还是串行执行,因此,本发明另一个优选实施例中,对历史执行方式是串行的测试用例可以进一步进行串行依赖分析,将不存依赖关系的测试用例分入并行测试用例集合,对剩余的历史执行方式是串行的测试用例执行分入串行测试用例集合的步骤。
在分配测试用例时,可以基于所述并行测试用例集合中的测试用例的历史执行时间,将并行测试用例集合中的测试用例分配给N个回归环境,分配并行测试用例集合的条件是:每个回归环境处理分配到历史执行方式是并行的测试用例的时间接近。另外,基于所述串行测试用例集合中的测试用例的历史执行时间,将串行测试用例集合中的测试用例分配给所述N个回归环境,分配串行测试用例集合的条件是:每个回归环境执行分配到的历史执行方式是并行和/或串行的测试用例的时间方差最小。
可以通过使得回归测试的预估运行时长方差最小,将所述多个测试用例分配到所述多个回归环境,以使得各个回归环境的预估运行时长差异最小。通过这种方式可以使得全局的系统性能最优。
在一个可选的实施例中,可以首先对多个待测试的测试用例进行扫描,以形成用于回归测试的全量数据并且确定能够并行执行的并行测试用例和需要串行执行的串行测试用例。所述全量数据是可以预先准备的数据,例如,可以是不依赖于其他测试用例的数据等。接着,将所述全量数据设置到各个回归环境中;将所述并行测试用例分配到各个回归环境的并行测试用例集合中,以便并行运行;以及将所述串行测试用例分配到各个回归环境的串行测试用例集合中,以便串行运行。
在这个实施例中,通过预先准备全量数据,可以减小每个回归环境单独处理时的重复工作量,从而提升效率。
在这里,在执行测试用例之前区分并行用例和串行用例,可以尽量避免运行时的冲突。
此外,可以将对全量数据的扫描和对并行/串行测试用例的扫描进行合并,从而减小扫描次数,避免重复的处理任务。
在对测试用例执行回归测试时,还可以检测运行失败的测试用例,将失败的测试用例放置到失败重试集合中,以及重新执行失败重试集合中的测试用例。失败的测试用例可能是由于多种原因产生的,通过在最后阶段重新执行失败的测试用例,可以避免由于测试顺序导致对测试用例的结果的误判。
在这里,通过利用并行测试用例集合、串行测试用例集合和失败重试集合对测试用例进行分类,从而按照不同方式执行,这有利于对于测试用例的运行的灵活管理,并同时避免有依赖关系的测试用例的不当执行。
在进行回归测试时,还可以记录如下项目中的至少一个,即,每个测试用例的运行时长、测试用例运行失败的原因、数据冲突的测试用例、并行测试用例的信息和串行测试用例的信息。可以基于所记录的项目生成回归测试报告。所述测试报告可以供下一次回归测试时参考。
在一个例子中,可以基于所述回归测试报告,形成用于将所述多个测试用例分配到所述多个回归环境的分配策略。例如,在下一次分配测试用例时,可以基于所述分配策略将所述多个测试用例分配到所述多个回归环境。
这样,在分配测试用例时,除了考虑运行时长因素之外,还可以参考实际回归测试时的影响因素,例如,测试用例的先后运行顺序的影响,等等。通过这种方式,可以不断改进回归测试的性能。
此外,还可以自动对测试用例运行失败的情况进行排查。例如,可以准备对应于回归测试前的运行环境的基准环境和对应于回归测试后的运行环境的目标环境。分别在基准环境和目标环境中执行所选择的失败的测试用例,记录在基准环境中执行该测试用例的基准日志,并记录在目标环境中执行该测试用例的目标日志。接着,可以提供基准日志和目标日志的比较结果。可以将所述比较结果直接提供给测试人员,供测试人员分析使用。也可以基于所述比较结果,自动确定测试用例运行失败的原因。这样,可以减小测试人员人工分析的工作量。
<设备>
图2示出了根据本公开的一个实施例的用于产生用例的设备2000的示意性框图。
设备2000包括:第一获取模块2010,用于获取待执行的测试用例集合;第二获取模块2020,用于从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;获得模块2030,用于基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;以及分配模块2040,用于基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
所述设备2000可以用于实现上面方法实施例中的方案。因此,在这里不再描述与上面重复的内容。
此外,所述设备2000还可以包括处理模块,用于执行上面方法实施例中所描述的其他处理步骤
本领域技术人员应当明白,随着电子技术的发展,软件和硬件的界限越来越不明显。能够使用软件来实现的技术方案同样也能够使用硬件来实现;除了部分机械结构的方案之外,能够使用硬件来实现的技术方案同样也能够使用软件来实现。技术人员可以根据需求来选择是使用软件来实现一个技术方案,还是使用硬件来实现该技术方案。通常来说,所述需求是非技术性的因素,例如,所需器件的价格、数量、市场可获得性等。因此,可以通过各种方式来实现上述模块。例如,可以通过软件方式来实现上述模块,也可以通过专用硬件的方式来实现上述模块,或者可以通过二者结合的方式来实现上述模块。从所要实现的功能的角度来说,这些实现方式都是等价的。
<电子设备>
图3示出了根据本公开的一个实施例的电子设备的示意性框图。
电子设备3000可以是电脑、笔记本电脑、平板电脑、服务器等等。
如图1所示,电子设备3000包括处理器3010、存储器3020、显示屏3040、用户接口3050、摄像头3060、音频/视频接口3070、传感器3080和通信部件3090。在电子设备3000需要自己供电的情况下,它还包括电源管理芯片3030以及电池3031。
处理器3010可以是各种处理器。例如,它可以是ARM架构的处理器,诸如,苹果公司的应用处理器、高通公司的处理器、华为公司的处理器等。
存储器3020可以存储电子设备3000运行所需的底层软件、系统软件、应用软件、数据等。存储器3020可以包括多种形式的存储器,例如,ROM、RAM、Flash等。
显示屏3040可以是液晶显示屏、OLED显示屏等。在一个例子中,显示屏4040可以是触摸屏。用户可以通过显示屏1102进行输入操作。此外,用户还可以通过触摸屏进行指纹识别。
用户接口3050可以包括USB接口、闪电接口、键盘、触摸屏等。
摄像头3060可以是单摄像头,也可以是多摄像头。此外,摄像头3060可以用于用户的面容识别。
音频/视频接口3070例如可以包括扬声器接口、麦克风接口、诸如HDMI的视频传输接口等。
传感器3080例如可以包括陀螺仪、加速度计、温度传感器、湿度传感器、压力传感器等等。
通信部件3090例如可以包括WiFi通信部件、蓝牙通信部件、3G、4G和5G通信部件等。
电源管理芯片3030用于对电池3031进行管理,以保证较大的利用效率。电池3031例如是锂离子电池等。
图3所示的电子设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
电子设备3000的存储器3020可以存储可执行指令。所述可执行指令当被处理器3010执行时实现上面所描述的实施例中的任何一个的方法。由于上面已经详细描述了实施例的具体内容,因此,在这里不再重复这些详细描述。
<网络电子设备>
图4示出了可应用根据本公开的实施例的方案的网络的示意图。
如图4所示,网络4100可以包括服务器4200、4300。
在图4中,终端设备4400-1、4400-2、4400-3与网络4100连接,并分别与服务器4200、4300通信。终端设备4400-1、4400-2、4400-3例如是电脑、笔记本电脑、智能手机等。终端设备4400-1、4400-2、4400-3可以与网络4000中的服务器4200、4300协同工作,以实现这里公开的实施例中的技术方案。这里,网络中的服务器和终端设备都可以采用处理器和存储器,并且可以将根据本公开的实施例中的各个特征分布到服务器和终端设备,从而共同实现所述实施例的方案。从这个方面来说,它们整体上可以看做一个电子设备。该电子设备的存储器可以以集中或分布式的方式存储可执行指令,所述可执行指令当被处理器以集中或分布式的方式执行时实现上面所描述的实施例中的任何一个的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单相关之处参见方法实施例的部分说明即可。
<例子>
图5示出了对测试用例进行分类处理的一个例子。
如图5所示,在测试用例的集合SET中包括多个测试用例(d1-c1、d2-c2、d3-c3、d4-c4)。每个测试用例包括数据准备集(d1、d2、d3、d4)和测试用例的查询/预期内容(c1、c2、c3、c4)。
例如,测试用例d1-c1、d2-c2的数据准备集d1、d2中的数据可以独立使用,因此,它们可以被设置到全量数据准备集D中。
测试用例d3-c3的数据准备集d3中包含不会与其他测试用例的数据产生冲突的数据,这部分数据也可以被设置到全量数据准备集D中。数据准备集d3还包括会产生冲突的数据,例如,某些key相同但是value不同的数据。测试用例d4-c4的数据准备集d4是无法全量准备的数据。
测试用例c1、c2可以不存在依赖数据,因此,它们可以被放入到并行队列中以并行运行。测试用例d3-c3、d4-c4包括依赖数据,因此,它们被放入到串行队列中以串行运行。可以基于对测试用例的扫描来划分串行队列和并行队列中的测试用例。此外,也可以基于测试用例的历史执行方式来划分串行队列和并行队列中的测试用例。例如,将历史执行方式是并行的测试用例,分入并行测试用例队列;将历史执行方式是串行的测试用例,分入串行测试用例队列。
如图5下方所示,首先在数据准备阶段P1准备用于执行测试用例的全量数据。接着,在用例并行执行阶段P2,执行并行测试用例c1、c2。最后,在用例并行执行阶段P3,执行并行测试用例c3、c4。
图6示出了在两个回归环境E1、E2中执行测试用例的情景。
首先,准备全量数据集D1。将测试用例划分为并行用例和串行用例。如图6所示,在并行用例队列Q1中包括测试用例C1、C2、C3,在串行用例队列Q2中包括测试用例D11-C11、D12-C12、D13-C13。
例如,根据历史数据,并行测试用例C1、C2的历史运行时长之和约等于并行测试用例C3的历史运行时长。因此,可以将并行测试用例C1、C2放置到回归环境E1的并行测试用例队列q11中,以及将并行测试用例C3放置到回归环境E2的并行用例队列q21中。
串行测试用例C11的历史运行时长大于串行测试用例C12、C13的历史运行时长之和。可以将串行测试用例C11放置到回归环境E1的串行用例队列q12中,将串行测试用例C12、C13放置到回归环境E2的串行用例队列q22中。最终,回归环境E2执行C12、C13及C3的时间方差值最小。回归环境E1同理。
图7示出了根据本公开的一个例子。
如图7所示,在步骤S1,用户提交回归测试任务。这里,可以通过一次回归测试任务,实现多个回归环境中的回归测试。
在步骤S2,由用例编排模块721对测试用例数据库710中的测试用例进行多环境用例编排。可以基于各个测试用例的历史运行时长,将测试用例分配到多个回归环境中。在分配时,还可以预估各个回归环境的运行时长的方差,使得预估的方差最小,从而实现最优的全局结果。
根据分配的结果730,测试用例被分配到多个回归环境731、732、733中。
在步骤S3,在每个回归环境中对测试用例执行回归测试725。在每个回归环境中设置全量数据集。在每个测试环境中,将测试用例分别设置在并行测试用例集合、串行测试用例集合和失败重试集合中。
在执行完测试用例之后,得到测试报告740。
在步骤S4,收集回归报告中的数据。回归报告可以包括测试用例的运行时长、测试用例识别的可能原因标记、数据冲突的测试用例标记、并行队列信息、串行队列信息等。可以通过数据收集和分析模块722对所述数据进行处理。在步骤S5,可以将处理分析的结果返回给用例编排模块721,以便调整用例编排模块721在下一次分配测试用例的策略机制。
回归报告740还可以包括成功/失败测试用例集合541。例如,在集合541中,实心圆圈表示失败的测试用例,空心圆圈表示成功的测试用例。在步骤S6,可以选择失败的测试用例进行排查。
在步骤S7,利用自动排查模块723,分别在基准环境751和目标环境752中执行所选择的失败的测试用例。记录执行过程中的日志、环境配置等,并得到对比结论760。
在步骤S8,利用失败归因模块724分析测试用例失败的原因。例如,可以利用对比结论760,在失败归因特征集合770中查找对应的失败原因。失败归因特征集合770中设置的失败原因可以包括配置差异771、人工标注的失败原因772、数据因素773、环境因素774等。
在步骤S9,可以将查找到的失败原因反馈给用户。
这里,通过将测试用例分配到多个回归环境,并在测试过程中对测试用例进行分集合处理,可以提升处理效率。
此外,通过采用归因定位技术,可以提升失败排查的效率。
本发明可以是设备、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种用于测试用例的回归测试的方法,包括:
获取待执行的测试用例集合;
从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;
基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;
基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
2.根据权利要求1所述的方法,基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合,包括:
将历史执行方式是并行的测试用例,分入并行测试用例集合;
将历史执行方式是串行的测试用例,分入串行测试用例集合。
3.根据权利要求2所述的方法,进一步包括:
对历史执行方式是串行的测试用例进行串行依赖分析,将不存依赖关系的测试用例分入并行测试用例集合,对剩余的历史执行方式是串行的测试用例执行所述分入串行测试用例集合的步骤。
4.根据权利要求1-3所述的任一方法,其中,基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境执行分配到的并行和/或串行的测试用例的总时间接近,包括:
基于所述并行测试用例集合中的测试用例的历史执行时间,将并行测试用例集合中的测试用例分配给N个回归环境,分配并行测试用例集合的条件是:每个回归环境处理分配到历史执行方式是并行的测试用例的时间接近;
基于所述串行测试用例集合中的测试用例的历史执行时间,将串行测试用例集合中的测试用例分配给所述N个回归环境,分配串行测试用例集合的条件是:每个回归环境执行分配到的历史执行方式是并行和/或串行的测试用例的时间方差最小。
5.根据权利要求1所述的方法,还包括:
检测运行失败的测试用例;
将失败的测试用例放置到失败重试集合中;以及
重新执行失败重试集合中的测试用例。
6.根据权利要求5所述的方法,还包括:
在对所述测试用例进行回归测试期间记录如下项目中的至少一个,即,每个测试用例的运行时长、测试用例运行失败的原因、数据冲突的测试用例、并行测试用例的信息和串行测试用例的信息;以及
基于所记录的项目生成回归测试报告。
7.根据权利要求5或6所述的方法,还包括:
准备对应于回归测试前的运行环境的基准环境和对应于回归测试后的运行环境的目标环境;
分别在基准环境和目标环境中执行所选择的失败的测试用例;
记录在基准环境中执行该测试用例的基准日志;
记录在目标环境中执行该测试用例的目标日志;以及
提供基准日志和目标日志的比较结果。
8.根据权利要求7所述的方法,还包括:
基于所述比较结果,确定测试用例运行失败的原因。
9.一种用于测试用例的回归测试的设备,包括:
第一获取模块,用于获取待执行的测试用例集合;
第二获取模块,用于从测试用例历史执行结果记录中,获取所述测试用例集合中测试用例的历史执行时间和历史执行方式;
获得模块,用于基于测试用例的历史执行方式,获得并行测试用例集合和串行测试用例集合;以及
分配模块,用于基于所述并行测试用例集合中的测试用例的历史执行时间和所述串行测试用例中的测试用例的历史执行时间,将所述并行测试用例集合中的测试用例和所述串行测试用例集合中的测试用例分配给N个回归环境执行,以使每个回归环境并行和/或串行执行分配到的测试用例的时间接近。
10.一种用于测试用例的电子设备,包括:处理器和存储器,其中,所述存储器存储可执行指令,以及所述可执行指令当被处理器执行时实现根据权利要求1-8中的任何一个的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722809.8A CN112346952A (zh) | 2019-08-06 | 2019-08-06 | 用于测试用例的回归测试的方法、设备和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910722809.8A CN112346952A (zh) | 2019-08-06 | 2019-08-06 | 用于测试用例的回归测试的方法、设备和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346952A true CN112346952A (zh) | 2021-02-09 |
Family
ID=74367235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910722809.8A Pending CN112346952A (zh) | 2019-08-06 | 2019-08-06 | 用于测试用例的回归测试的方法、设备和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346952A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743040A (zh) * | 2021-09-06 | 2021-12-03 | 海宁奕斯伟集成电路设计有限公司 | 测试方法、装置、电子设备以及可读存储介质 |
CN116560967A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种数据采集器工作方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556550A (zh) * | 2009-05-22 | 2009-10-14 | 北京星网锐捷网络技术有限公司 | 一种自动化测试日志分析方法和装置 |
CN106294151A (zh) * | 2016-08-09 | 2017-01-04 | 合智能科技(深圳)有限公司 | 日志测试方法及装置 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN108959003A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种实现多存储器压力测试方法,系统,设备及计算机可读存储介质 |
CN109271309A (zh) * | 2017-07-18 | 2019-01-25 | 北京嘀嘀无限科技发展有限公司 | 自动化测试软件的方法及装置、服务器、设备和存储介质 |
CN109871308A (zh) * | 2017-12-04 | 2019-06-11 | 中兴通讯股份有限公司 | 自动化测试方法及装置、终端设备及计算机可读存储介质 |
-
2019
- 2019-08-06 CN CN201910722809.8A patent/CN112346952A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101556550A (zh) * | 2009-05-22 | 2009-10-14 | 北京星网锐捷网络技术有限公司 | 一种自动化测试日志分析方法和装置 |
CN106294151A (zh) * | 2016-08-09 | 2017-01-04 | 合智能科技(深圳)有限公司 | 日志测试方法及装置 |
CN108459953A (zh) * | 2017-02-22 | 2018-08-28 | 北京京东尚科信息技术有限公司 | 测试方法和装置 |
CN109271309A (zh) * | 2017-07-18 | 2019-01-25 | 北京嘀嘀无限科技发展有限公司 | 自动化测试软件的方法及装置、服务器、设备和存储介质 |
CN109871308A (zh) * | 2017-12-04 | 2019-06-11 | 中兴通讯股份有限公司 | 自动化测试方法及装置、终端设备及计算机可读存储介质 |
CN108959003A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种实现多存储器压力测试方法,系统,设备及计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743040A (zh) * | 2021-09-06 | 2021-12-03 | 海宁奕斯伟集成电路设计有限公司 | 测试方法、装置、电子设备以及可读存储介质 |
CN113743040B (zh) * | 2021-09-06 | 2024-03-08 | 海宁奕斯伟集成电路设计有限公司 | 测试方法、装置、电子设备以及可读存储介质 |
CN116560967A (zh) * | 2023-07-06 | 2023-08-08 | 苏州浪潮智能科技有限公司 | 一种数据采集器工作方法、装置、设备及介质 |
CN116560967B (zh) * | 2023-07-06 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 一种数据采集器工作方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061718B2 (en) | Pattern-based artificial intelligence planner for computer environment migration | |
US10353913B2 (en) | Automating extract, transform, and load job testing | |
CN108287694B (zh) | 应用程序构建方法、系统、计算机设备和存储介质 | |
US9223610B2 (en) | Management of virtual machine snapshots | |
US10366112B2 (en) | Compiling extract, transform, and load job test data cases | |
US11144437B2 (en) | Pre-populating continuous delivery test cases | |
US9946630B2 (en) | Efficiently debugging software code | |
US10268549B2 (en) | Heuristic process for inferring resource dependencies for recovery planning | |
CN109672722B (zh) | 数据部署方法及装置、计算机存储介质和电子设备 | |
CN110688111A (zh) | 业务流程的配置方法、装置、服务器和存储介质 | |
CN112346952A (zh) | 用于测试用例的回归测试的方法、设备和电子设备 | |
US11100233B2 (en) | Optimizing operating system vulnerability analysis | |
CN109408361A (zh) | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 | |
CN114356521A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
US11288170B1 (en) | Log analysis debugging without running on real production environment | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
US10331419B2 (en) | Creating composite templates for service instances | |
CN112463574A (zh) | 软件测试方法、装置、系统、设备和存储介质 | |
US8819494B2 (en) | Automatically changing parts in response to tests | |
US11429472B1 (en) | Automated cognitive software application error detection | |
US11294804B2 (en) | Test case failure with root cause isolation | |
CN112749034B (zh) | 一种数据异常处理方法、装置、存储介质及电子设备 | |
CN112183982A (zh) | 一种工作流程创建方法、装置、计算机设备及存储介质 | |
CN111679885A (zh) | 确定虚拟机漂移方法、装置、介质及电子设备 | |
CN110688295A (zh) | 数据测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |