CN105760291B - 一种回归测试方法和系统 - Google Patents

一种回归测试方法和系统 Download PDF

Info

Publication number
CN105760291B
CN105760291B CN201410790587.0A CN201410790587A CN105760291B CN 105760291 B CN105760291 B CN 105760291B CN 201410790587 A CN201410790587 A CN 201410790587A CN 105760291 B CN105760291 B CN 105760291B
Authority
CN
China
Prior art keywords
test
snippets
data
nodes
test data
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.)
Expired - Fee Related
Application number
CN201410790587.0A
Other languages
English (en)
Other versions
CN105760291A (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 Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410790587.0A priority Critical patent/CN105760291B/zh
Publication of CN105760291A publication Critical patent/CN105760291A/zh
Application granted granted Critical
Publication of CN105760291B publication Critical patent/CN105760291B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种回归测试方法和系统,所述方法包括:对输入的数据进行切分,获得一段或多段测试数据;在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;以及在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测。本发明实施例在分布式系统中实现了回归测试,应用分布式计算,并行进行回归测试,可以大大减少回归测试的耗时,进而大大提高了回归测试的效率。

Description

一种回归测试方法和系统
技术领域
本申请涉及测试技术领域,特别是涉及一种回归测试方法和一种回归测试系统。
背景技术
在程序生命周期中的任何一个阶段,只要程序发生了改变,就可能给该程序带来问题。
每当程序发生变化时,就需要重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修改了的功能。
为了验证修改的正确性及其影响就需要进行回归测试。
回归测试是指修改了程序后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,回归测试作为程序生命周期的一个组成部分,在整个程序测试中占有很大的工作量比重。
程序开发的各个阶段都会进行多次回归测试。在渐进和快速迭代开发中,新版本程序的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。
一般而言,回归测试作为整个测试过程中必不可少且耗时较多的一个步骤,由于需要回归的功能/场景多,且需要保证回归的覆盖率,输入数据一般会比较大,测试耗时比较长,导致测试效率很低。对于复杂的回归测试,测试耗时少则需要一天,多则长达一个星期。
目前,为了减少测试耗时,提高测试效率,一般通过缩小回归测试范围。
但是,对于不同的系统架构,不同的功能场景,需要先判断影响了哪些分支,进而判断哪些场景受到影响,再缩小输入数据,以此来提高测试效率,因此,缩小回归测试范围的方法种类繁多,但并不通用,判断过程花费较高成本,并且,需要修改程序代码,带来额外的风险。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种回归测试机制,用以在减少测试耗时,提高测试效率,提高通用性,降低成本,减少风险。
发明内容
本申请实施例所要解决的技术问题是提供一种回归测试方法,用以减少测试耗时,提高测试效率,提高通用性、降低成本、减少风险。
相应的,本申请实施例还提供了一种回归测试装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种回归测试方法,包括:
对输入的数据进行切分,获得一段或多段测试数据;
在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;以及
在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测。
优选地,所述对输入的数据进行切分,获得一段或多段测试数据的步骤包括:
当所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;以及
分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
优选地,所述对输入的数据进行切分,获得一段或多段测试数据的步骤包括:
当所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;以及
分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
优选地,所述分布式系统的处理节点包括一个或多个映射节点和一个或多个化简节点。
优选地,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤包括:
在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;以及
在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
优选地,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤包括:
在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;以及
在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
优选地,所述在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中的步骤包括:
在一个或多个映射节点中,分别输出所述一段或多段测试数据;以及
对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
优选地,所述在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤包括:
在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;以及
分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
优选地,所述在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤包括:
在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;以及
分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
优选地,所述在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测的步骤包括:
在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
在一个或多个化简节点中,分别计算所述新版测试结果和所述旧版测试结果之间的差异;以及
在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则获得符合预期的检测结果;若否,则获得未符合预期的检测结果。
优选地,所述在一个或多个映射节点中,分别将基于相同测试数据获得新版测试结果和旧版测试结果透传到一个或多个化简节点中的步骤包括:
在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
优选地,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤,与,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤并行执行,或者,串行执行。
本申请实施例还公开了一种回归测试系统,其特征在于,包括:
测试数据切分模块,用于对输入的数据进行切分,获得一段或多段测试数据;
新版测试结果获得模块,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
旧版测试结果获得模块,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;
结果检测模块,用于在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测。
优选地,所述测试数据切分模块包括:
第一切分子模块,用于在所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;
第一序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
优选地,所述测试数据切分模块包括:
第二切分子模块,用于在所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;以及
第二序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
优选地,所述分布式系统的处理节点包括一个或多个映射节点和一个或多个化简节点。
优选地,所述新版测试结果获得模块包括:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第一执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
优选地,所述旧版测试结果获得模块包括:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第二执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
优选地,所述第一透传子模块包括:
第一输出子模块,用于在一个或多个映射节点中,分别输出所述一段或多段测试数据;
第一取余操作子模块,用于对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
优选地,所述第一执行子模块包括:
第一反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第一获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
优选地,所述第二执行子模块包括:
第二反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第二获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
优选地,所述结果检测模块包括:
第二透传子模块,用于在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
差异计算子模块,用于在一个或多个化简节点中,分别计算所述新版测试结果和所述旧版测试结果之间的差异;
差异判断子模块,用于在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则调用第三获得子模块,若否,则调用第四获得子模块;
第三获得子模块,用于获得符合预期的检测结果;
第四获得子模块,用于获得未符合预期的检测结果。
优选地,所述第二透传子模块包括:
第二输出子模块,用于在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
第二取余操作子模块,用于对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
优选地,所述新版测试结果获得模块与所述旧版测试结果获得模块并行调用,或者,串行调用。
与背景技术相比,本申请实施例包括以下优点:
本申请实施例对输入的数据进行切分,获得一段或多段测试数据,在分布式系统的处理节点中,分别按照该一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果,分别按照该一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果,对该一个或多个新版测试结果与一个或多个旧版测试结果进行结果检测,在分布式系统中实现了回归测试,应用分布式计算,并行进行回归测试,可以大大减少回归测试的耗时,进而大大提高了回归测试的效率。
此外,相对于缩小回归测试范围的方法,本申请实施例可以不关心不同的系统架构、不同的功能场景造成的影响,基本属于全量黑盒回归测试,因此,大大提高了通用性,减少了回归测试的成本,并且,无需对新版测试对象或旧版测试对象进行修改,避免了修改所带来的风险。
本申请实施例并行按照测试数据执行新版测试对象和旧版测试对象,进一步减少了回归测试的耗时,进一步提高了回归测试的效率。
附图说明
图1是本申请的一种回归测试方法实施例的步骤流程图;
图2是本申请的一种基于Hadoop的测试流程图;
图3是本申请的一种基于Hadoop的MapReduce的示例流程图;
图4是本申请的一种回归测试系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种回归测试方法实施例的步骤流程图,所述方法100具体可以包括如下步骤:
步骤101,对输入的数据进行切分,获得一段或多段测试数据;
需要说明的是,输入的数据可以为执行新版测试对象和旧版测试对象中逻辑所需的参数等信息,由于回归的功能/场景多,保证回归的覆盖率,输入的数据一般会比较大。
在本申请实施例中,可以对输入的数据进行切分,以进行分布式计算。
在实际应用中,可以随意进行切分,但是为了保证每个处理节点处理相当的数据量,可以按照均衡负载的原则进行切分。
其中,分布式计算可以是指一种把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,在上传运算结果后,将结果统一合并得出数据结论。
在分布式计算中,可以对不同的功能/场景进行并行回归,因此,可以大大减少测试耗时。
在本申请的一种优选实施例中,步骤101可以包括如下子步骤:
子步骤S11,当所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;
子步骤S12,分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
在本申请实施例中,若输入的数据是一个较大的独立文件,那么在切分时,可以对每段切分获得的候选数据进行序列化(Serialization)操作。
在实际应用中,当两个进程在进行远程通信时,彼此可以发送各种类型的数据。所发送的可以是各种类型的数据,通常以二进制序列的形式在网络上传送。
应用于分布式计算,序列化操作的目的之一,可以是把对象(例如,候选数据)转换成一个可在网络上传输的字节流,在网络上传输对象(例如,候选数据)。
在本申请的另一种优选实施例中,步骤101可以包括如下子步骤:
子步骤S13,当所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;
子步骤S14,分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
在诸如电子商务等领域,通常会存储海量的数据,其数据量通常在数TB以上,一般在多个存储对象(如数据库、表)中存储。
在本申请实施例中,可以以存储对象为切分单位,对输入的数据进行切分。
当然,上述切分方式只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他切分方式,例如,定义一个插件,运行该插件按照自定义的方式进行切分,本申请实施例对此不加以限制。
对于切分后的测试数据,可以为其配置唯一标识该测试数据的信息,即测试数据标识。
在具体实现中,分布式计算可以由分布式系统(Distributed System)实现。
分布式系统可以指一个由多个互相连接的处理资源组成的计算机系统,它们在整个系统的控制下协同执行同一个任务,这些资源可以是地理上相邻的,也可以是在地理上分散的。
为使本领域技术人员更好地理解本申请实施例,在本申请实施例中,将Hadoop作为分布式系统的一种实施例进行说明。
Hadoop主要包括两部分,一是分布式文件系统(Hadoop Distributed FileSystem,HDFS),另外是分布式计算框架,即MapReduce。
HDFS是一个高度容错性的系统,能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型,其基本原理可以是将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析。
在Hadoop中,用于执行MapReduce的机器角色有两个:一个是JobTracker,另一个是TaskTracker。JobTracker可以用于调度工作,TaskTracker可以用于执行工作。
进一步而言,在Hadoop中TaskTracker可以指所述分布式系统的处理节点,该处理节点可以包括一个或多个映射(Map)节点和一个或多个化简(Reduce)节点。
在分布式计算中,MapReduce负责处理了并行编程中分布式存储、工作调度、负载均衡、容错均衡、容错处理以及网络通信等复杂问题,把处理过程高度抽象为两个函数:映射函数(map函数)和规约函数(reduce函数),map函数可以把任务分解成多个任务,reduce函数可以把分解后的多任务处理的结果汇总起来。
在Hadoop中,每个MapReduce的任务可以被初始化为一个Job,每个Job又可以分为两种阶段:map阶段和reduce阶段。这两个阶段分别用两个函数表示,即map函数和reduce函数。
map函数可以接收一个<key,value>形式的输入(Input),然后同样产生一个<key,value>形式的中间输出(Output),Hadoop函数可以接收一个如<key,(list of values)>形式的输入(Input),然后对这个value集合进行处理,每个reduce函数产生0或1个输出(Output),reduce函数的输出也是<key,value>形式的。
如图2所示,在Map节点中可以把输入的信息(如测试数据)通过自定义的map函数转变为一组临时的中间键值对的集合。
在Reduce节点中可以通过reduce函数对该临时的中间键值对进行规约处理,获得处理结果(如测试结果)。
步骤102,在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
需要说明的是,新版测试对象可以为对原始版本的测试对象修改后的测试对象,该测试对象具体可以为java程序等等。
在本申请的一种优选实施例中,步骤102可以包括如下子步骤:
子步骤S21,在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
在具体实现中,在Map节点可以不对测试数据进行处理,而直接透传至Reduce节点中。
在本申请的一种优选实施例中,子步骤S21可以包括如下子步骤:
子步骤S211,在一个或多个映射节点中,分别输出所述一段或多段测试数据;
子步骤S212,对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
在本申请实施例中,测试数据标识可以默认为某个信息,例如,测试数据中的第一行数据。
在Map节点中,可以定义map函数为cat命令(一种linux命令)等,以将Map节点的数据透传到Reduce节点中。
Map节点从输入的测试数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。
在Map节点中,输入(Input)可以为(key:测试数据标识,value:测试数据)作为,输出(Output)可以为(key:测试数据标识,value:测试数据)。
在本申请的另一种优选实施例中,若测试数据标识不采用默认的信息,则可以在Map节点中,可以定义映射函数(map函数)为对测试数据配置测试数据标识。
Map节点中的map函数的输出经由MapReduce框架处理后,最后分发到Reduce节点中的reduce函数。
具体而言,可以通过取余操作(Mod)对测试数据进行分发。
例如,在某个Map节点共有10个输出,而Reduce节点共有3个,则可以对该10个输出分配1-10的序号,Reduce节点分配1-3的序号,计算输出的序号取3的余数,余数为1的输出,分配到序号为1的Reduce节点中,余数为2的输出,分配到序号为2的Reduce节点中,余数为0的输出,分配到序号为3的Reduce节点中。
子步骤S22,在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
在本申请实施例中,Reduce节点中可以使用原来的单机环境,即定义规约函数(reduce函数)为按照测试数据执行新版测试对象,即使新版测试对象按照内部的逻辑进行处理测试数据。
在本申请的一种优选实施例中,子步骤S22可以包括如下子步骤:
子步骤S221,在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
子步骤S222,分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
在本申请实施例中,若在先对测试数据进行了序列化操作,则在Reduce节点中,可以对测试数据进行反序列化操作,把用于传输的字节流转化为对象(例如,候选数据)。
在Reduce节点中,输入(Input)可以为(key:测试数据标识,value:测试数据)作为,输出(Output)可以为(key:测试数据标识,value:新版测试结果)。
步骤103,在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;
需要说明的是,新版测试对象可以为原始版本的测试对象。
在本申请的一种优选实施例中,步骤103可以包括如下子步骤:
子步骤S31,在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
在具体实现中,在Map节点可以不对测试数据进行处理,而直接透传至Reduce节点中。
在本申请的一种优选实施例中,子步骤S31可以包括如下子步骤:
子步骤S311,在一个或多个映射节点中,分别输出所述一段或多段测试数据;
子步骤S312,对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
在本申请实施例中,测试数据标识可以默认为某个信息,例如,测试数据中第一行数据。
在Map节点中,可以定义map函数为cat命令(一种linux命令)等,以将Map节点的数据透传到Reduce节点中。
Map节点从输入的测试数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。
在Map节点中,输入(Input)可以为(key:测试数据标识,value:测试数据)作为,输出(Output)可以为(key:测试数据标识,value:测试数据)。
在本申请的另一种优选实施例中,若测试数据标识不采用默认的信息,则可以在Map节点中,可以定义映射函数(map函数)为对测试数据配置测试数据标识。
Map节点中的map函数的输出经由MapReduce框架处理后,最后分发到Reduce节点中的reduce函数。
具体而言,可以通过取余操作(Mod)对测试数据进行分发。
子步骤S32,在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
在本申请实施例中,Reduce节点中可以使用原来的单机环境,即定义规约函数(reduce函数)为按照测试数据执行旧版测试对象,即使旧版测试对象按照内部的逻辑进行处理测试数据。
在本申请的一种优选实施例中,子步骤S32可以包括如下子步骤:
子步骤S321,在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
子步骤S322,分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
在本申请实施例中,若在先对测试数据进行了序列化操作,则在Reduce节点中,可以对测试数据进行反序列化操作,把用于传输的字节流转化为对象(例如,候选数据)。
在Reduce节点中,输入(Input)可以为(key:测试数据标识,value:测试数据)作为,输出(Output)可以为(key:测试数据标识,value:旧版测试结果)。
需要说明的是,步骤102和步骤103可以并行执行,也可以串行执行,即可以同时执行步骤102和步骤103,也可以先执行步骤102,然后执行步骤103,还可以先执行步骤103,然后执行步骤102,本申请实施例对此不加以限制。
具体而言,如图3所示,在第一轮MapReduce中,可以并行执行两个job,一个job是按照测试数据执行新版测试对象,另一个job是按照测试数据执行旧版测试对象,在第二轮MapReduce中,对新版测试结果和旧版测试结果进行分析。
本申请实施例并行按照测试数据执行新版测试对象和旧版测试对象,进一步减少了回归测试的耗时,进一步提高了回归测试的效率。
步骤104,在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测。
在本申请实施例中,可以对新版测试结果与旧版测试结果进行分析,以判断是否符合预期。
在本申请的一种优选实施例中,步骤104可以包括如下子步骤:
子步骤S41,在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
在具体实现中,在Map节点可以不对测试数据进行处理,而直接透传至Reduce节点中。
在本申请的一种优选实施例中,子步骤S41可以包括如下子步骤:
子步骤S411,在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
子步骤S412,对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
在Map节点中,可以定义map函数为cat命令(一种linux命令)等,以将Map节点的数据透传到Reduce节点中。
Map节点从输入的测试数据中抽取出键值对,每一个键值对都作为参数传递给map函数,map函数产生的中间键值对被缓存在内存中。
在Map节点中,输入(Input)可以为(key:测试数据标识,value:新版测试结果、旧版测试结果)作为,输出(Output)可以为(key:测试数据标识,value:新版测试结果、旧版测试结果)。
具体而言,可以通过取余操作(Mod)对新版测试结果和旧版测试结果进行分发。
子步骤S42,在一个或多个化简节点中,分别计算所述新版测试结果和旧版测试结果之间的差异;
子步骤S43,在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则执行子步骤S44,若否,则执行子步骤S45;
子步骤S44,获得符合预期的检测结果;
子步骤S45,获得未符合预期的检测结果。
应用本申请实施例,可以根据对旧版测试对象的修改预先设定参考差异。
在本申请实施例中,Reduce节点中可以定义规约函数(reduce函数)为别计算所述新版测试结果和旧版测试结果之间的差异,以及,判断该差异是否符合预设的参考差异。
在具体实现中,可以采用diff函数计算新版测试结果和旧版测试结果之间的差异。
若差异符合预期,则可以表示修改成功,若差异未符合预期,则可以表示修改出现错误,后期可以针对该为符合预期的差异查找错误的位置,进行更正。
在Reduce节点中,输入(Input)可以为(key:测试数据标识,value:新版测试结果、旧版测试结果)作为,输出(Output)可以为(key:测试数据标识,value:检测结果)。
本申请实施例对输入的数据进行切分,获得一段或多段测试数据,在分布式系统的处理节点中,分别按照该一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果,分别按照该一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果,对该一个或多个新版测试结果与一个或多个旧版测试结果进行结果检测,在分布式系统中实现了回归测试,应用分布式计算,并行进行回归测试,可以大大减少回归测试的耗时,进而大大提高了回归测试的效率。
此外,相对于缩小回归测试范围的方法,本申请实施例可以不关心不同的系统架构、不同的功能场景造成的影响,基本属于全量黑盒回归测试,因此,大大提高了通用性,减少了回归测试的成本,并且,无需对新版测试对象或旧版测试对象进行修改,避免了修改所带来的风险。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请一种回归测试系统实施例的结构框图,所述装置400具体可以包括如下模块:
测试数据切分模块401,用于对输入的数据进行切分,获得一段或多段测试数据;
新版测试结果获得模块402,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
旧版测试结果获得模块403,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;
结果检测模块404,用于在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测。
在本申请的一种优选实施例中,所述测试数据切分模块401可以包括如下子模块:
第一切分子模块,用于在所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;
第一序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
在本申请的一种优选实施例中,所述测试数据切分模块401可以包括如下子模块:
第二切分子模块,用于在所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;以及
第二序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
在本申请的一种优选实施例中,所述分布式系统的处理节点可以包括一个或多个映射节点和一个或多个化简节点。
在本申请的一种优选实施例中,所述新版测试结果获得模块402可以包括如下子模块:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第一执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
在本申请的一种优选实施例中,所述旧版测试结果获得模块403可以包括如下子模块:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第二执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
在本申请的一种优选实施例中,所述第一透传子模块可以包括如下子模块:
第一输出子模块,用于在一个或多个映射节点中,分别输出所述一段或多段测试数据;
第一取余操作子模块,用于对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
在本申请的一种优选实施例中,所述第一执行子模块可以包括如下子模块:
第一反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第一获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
在本申请的一种优选实施例中,所述第二执行子模块可以包括如下子模块:
第二反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第二获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
在本申请的一种优选实施例中,所述结果检测模块404可以包括如下子模块:
第二透传子模块,用于在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
差异计算子模块,用于在一个或多个化简节点中,分别计算所述新版测试结果和所述旧版测试结果之间的差异;
差异判断子模块,用于在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则调用第三获得子模块,若否,则调用第四获得子模块;
第三获得子模块,用于获得符合预期的检测结果;
第四获得子模块,用于获得未符合预期的检测结果。
在本申请的一种优选实施例中,所述第二透传子模块可以包括如下子模块:
第二输出子模块,用于在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
第二取余操作子模块,用于对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
在具体实现中,所述新版测试结果获得模块402与所述旧版测试结果获得模块403可以并行调用,或者,串行调用。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种回归测试方法和一种回归测试系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (20)

1.一种回归测试方法,其特征在于,包括:
对输入的数据进行切分,获得一段或多段测试数据;
在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;以及
在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测;
其中,所述分布式系统的处理节点包括一个或多个映射节点和一个或多个化简节点,所述在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测的步骤包括:
在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
在一个或多个化简节点中,分别计算所述新版测试结果和所述旧版测试结果之间的差异;以及
在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则获得符合预期的检测结果;若否,则获得未符合预期的检测结果。
2.根据权利要求1所述的方法,其特征在于,所述对输入的数据进行切分,获得一段或多段测试数据的步骤包括:
当所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;以及
分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
3.根据权利要求1所述的方法,其特征在于,所述对输入的数据进行切分,获得一段或多段测试数据的步骤包括:
当所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;以及
分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
4.根据权利要求1所述的方法,其特征在于,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤包括:
在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;以及
在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
5.根据权利要求1所述的方法,其特征在于,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤包括:
在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;以及
在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
6.根据权利要求4或5所述的方法,其特征在于,所述在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中的步骤包括:
在一个或多个映射节点中,分别输出所述一段或多段测试数据;以及
对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
7.根据权利要求4所述的方法,其特征在于,所述在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤包括:
在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;以及
分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
8.根据权利要求5所述的方法,其特征在于,所述在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤包括:
在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;以及
分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
9.根据权利要求1所述的方法,其特征在于,所述在一个或多个映射节点中,分别将基于相同测试数据获得新版测试结果和旧版测试结果透传到一个或多个化简节点中的步骤包括:
在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
10.根据权利要求1所述的方法,其特征在于,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果的步骤,与,所述在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果的步骤并行执行,或者,串行执行。
11.一种回归测试系统,其特征在于,包括:
测试数据切分模块,用于对输入的数据进行切分,获得一段或多段测试数据;
新版测试结果获得模块,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果;
旧版测试结果获得模块,用于在分布式系统的处理节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果;
结果检测模块,用于在分布式系统的处理节点中,对所述一个或多个新版测试结果与所述一个或多个旧版测试结果进行结果检测;
其中,所述分布式系统的处理节点包括一个或多个映射节点和一个或多个化简节点;所述结果检测模块包括:
第二透传子模块,用于在一个或多个映射节点中,分别将基于相同测试数据获得的新版测试结果和旧版测试结果透传到一个或多个化简节点中;
差异计算子模块,用于在一个或多个化简节点中,分别计算所述新版测试结果和所述旧版测试结果之间的差异;
差异判断子模块,用于在一个或多个化简节点中,分别判断所述差异是否符合预设的参考差异;若是,则调用第三获得子模块,若否,则调用第四获得子模块;
第三获得子模块,用于获得符合预期的检测结果;
第四获得子模块,用于获得未符合预期的检测结果。
12.根据权利要求11所述的系统,其特征在于,所述测试数据切分模块包括:
第一切分子模块,用于在所述输入的数据为一个独立的文件时,对所述独立的文件进行切分,获得一段或多段候选数据;
第一序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
13.根据权利要求11所述的系统,其特征在于,所述测试数据切分模块包括:
第二切分子模块,用于在所述输入的数据为归属多个存储对象的多个数据时,分别对每个数据进行切分,获得一段或多段候选数据;以及
第二序列化子模块,用于分别对所述一段或多段候选数据进行序列化操作,获得一段或多段测试数据。
14.根据权利要求11所述的系统,其特征在于,所述新版测试结果获得模块包括:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第一执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
15.根据权利要求11所述的系统,其特征在于,所述旧版测试结果获得模块包括:
第一透传子模块,用于在一个或多个映射节点中,分别将所述一段或多段测试数据透传到一个或多个化简节点中;
第二执行子模块,用于在一个或多个化简节点中,分别按照所述一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
16.根据权利要求14或15所述的系统,其特征在于,所述第一透传子模块包括:
第一输出子模块,用于在一个或多个映射节点中,分别输出所述一段或多段测试数据;
第一取余操作子模块,用于对输出的一段或多段测试数据进行取余操作,传输到对应的化简节点中。
17.根据权利要求14所述的系统,其特征在于,所述第一执行子模块包括:
第一反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第一获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行新版测试对象,获得一个或多个新版测试结果。
18.根据权利要求15所述的系统,其特征在于,所述第二执行子模块包括:
第二反序列化子模块,用于在一个或多个化简节点中,分别对所述一段或多段测试数据进行反序列化操作;
第二获得子模块,用于分别按照反序列化操作后的一段或多段测试数据执行旧版测试对象,获得一个或多个旧版测试结果。
19.根据权利要求11所述的系统,其特征在于,所述第二透传子模块包括:
第二输出子模块,用于在一个或多个映射节点中,分别输出基于相同测试数据获得的新版测试结果和旧版测试结果;
第二取余操作子模块,用于对输出的基于相同测试数据获得新版测试结果和旧版测试结果进行取余操作,传输到对应的化简节点中。
20.根据权利要求11所述的系统,其特征在于,所述新版测试结果获得模块与所述旧版测试结果获得模块并行调用,或者,串行调用。
CN201410790587.0A 2014-12-17 2014-12-17 一种回归测试方法和系统 Expired - Fee Related CN105760291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410790587.0A CN105760291B (zh) 2014-12-17 2014-12-17 一种回归测试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410790587.0A CN105760291B (zh) 2014-12-17 2014-12-17 一种回归测试方法和系统

Publications (2)

Publication Number Publication Date
CN105760291A CN105760291A (zh) 2016-07-13
CN105760291B true CN105760291B (zh) 2019-08-09

Family

ID=56340387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410790587.0A Expired - Fee Related CN105760291B (zh) 2014-12-17 2014-12-17 一种回归测试方法和系统

Country Status (1)

Country Link
CN (1) CN105760291B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110109824B (zh) * 2019-04-09 2022-05-17 平安科技(深圳)有限公司 大数据自动回归测试方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN102902619A (zh) * 2011-07-29 2013-01-30 阿里巴巴集团控股有限公司 Web应用程序的回归测试方法和装置
CN103455420A (zh) * 2013-08-16 2013-12-18 华为技术有限公司 一种测试数据的构造方法和设备
CN103793318A (zh) * 2012-10-29 2014-05-14 百度在线网络技术(北京)有限公司 一种模块稳定性的分布式测试方法及装置
CN103970605A (zh) * 2013-02-06 2014-08-06 珠海世纪鼎利通信科技股份有限公司 一种基于低性能终端的数据分析方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN102902619A (zh) * 2011-07-29 2013-01-30 阿里巴巴集团控股有限公司 Web应用程序的回归测试方法和装置
CN103793318A (zh) * 2012-10-29 2014-05-14 百度在线网络技术(北京)有限公司 一种模块稳定性的分布式测试方法及装置
CN103970605A (zh) * 2013-02-06 2014-08-06 珠海世纪鼎利通信科技股份有限公司 一种基于低性能终端的数据分析方法及装置
CN103455420A (zh) * 2013-08-16 2013-12-18 华为技术有限公司 一种测试数据的构造方法和设备

Also Published As

Publication number Publication date
CN105760291A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
US10861013B2 (en) Containerization of network services
Savchenko et al. Microservices validation: Mjolnirr platform case study
US9569288B2 (en) Application pattern discovery
CN109725911A (zh) 一种多环境项目部署方法、装置、存储介质及处理器
US10996997B2 (en) API-based service command invocation
CN104423961B (zh) 一种生成测试脚本的方法及系统
CN109144511B (zh) 数值模拟图形用户界面自动生成方法及系统
Soukaras et al. IoTSuite: a ToolSuite for prototyping internet of things applications
US11200048B2 (en) Modification of codified infrastructure for orchestration in a multi-cloud environment
CN110532044A (zh) 一种大数据批处理方法、装置、电子设备及存储介质
Elkhatib et al. Experiences of using a hybrid cloud to construct an environmental virtual observatory
CN113867600A (zh) 处理流式数据的开发方法、装置和计算机设备
CN112463588A (zh) 一种自动化测试系统及方法、存储介质、计算设备
AU2021359236A1 (en) Distributed resource-aware training of machine learning pipelines
CN110795331A (zh) 软件测试的方法和装置
CN105760291B (zh) 一种回归测试方法和系统
US11055213B2 (en) Facilitating localization of code defect
US9519566B2 (en) Modeling memory use of applications
CN105373409A (zh) 基于Hadoop的测试用例分布式测试方法及系统
CN109710487A (zh) 一种监控方法和装置
CN110554892A (zh) 信息获取方法和装置
CN114443337A (zh) 一种基于js的日志分析方法、装置、电子设备和介质
CN114143235A (zh) Nfv自动测试方法、装置、设备及存储介质
He et al. An aspect-oriented approach to SLA-driven monitoring multi-tenant cloud application
Gopularam et al. Mechanism for on demand Tag-Based software testing in virtualized environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190809