CN112965910A - 自动化回归测试方法、装置、电子设备、存储介质 - Google Patents

自动化回归测试方法、装置、电子设备、存储介质 Download PDF

Info

Publication number
CN112965910A
CN112965910A CN202110297304.9A CN202110297304A CN112965910A CN 112965910 A CN112965910 A CN 112965910A CN 202110297304 A CN202110297304 A CN 202110297304A CN 112965910 A CN112965910 A CN 112965910A
Authority
CN
China
Prior art keywords
tested
execution result
software
execution
regression testing
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.)
Granted
Application number
CN202110297304.9A
Other languages
English (en)
Other versions
CN112965910B (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.)
Ctrip Travel Information Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Information Technology Shanghai 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 Ctrip Travel Information Technology Shanghai Co Ltd filed Critical Ctrip Travel Information Technology Shanghai Co Ltd
Priority to CN202110297304.9A priority Critical patent/CN112965910B/zh
Priority claimed from CN202110297304.9A external-priority patent/CN112965910B/zh
Publication of CN112965910A publication Critical patent/CN112965910A/zh
Application granted granted Critical
Publication of CN112965910B publication Critical patent/CN112965910B/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/3684Test management for test design, e.g. generating new test cases

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)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种自动化回归测试方法、装置、电子设备、存储介质,方法包括:确定当前版本软件中,不同于前一版本软件的待测试方法;上线当前版本软件,使得待测试方法关联一开关组件;于生产环境中运行当前版本软件;当需调用待测试方法时获取开关组件的指示状态;若当前开关组件的指示状态为默认状态,则调用前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;在执行前一版本软件中对应的已测试方法,获取第一执行结果后,使开关组件的指示状态调整为调用待测试方法;调用待测试方法进行执行,并获取第二执行结果;根据第一执行结果和第二执行结果的比对,确定待测试方法是否通过测试。本发明提供的方法及装置实现自动化回归测试。

Description

自动化回归测试方法、装置、电子设备、存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种自动化回归测试方法、装置、电子设备、存储介质。
背景技术
在软件生命周期中的任何一个阶段,只要软件发生了改变,就可能给该软件带来问题,此时,必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。这就是回归测试,回归测试最重要的就是测试用例库的维护问题:
1)回归测试需要维护测试用例库,以保证测试用例的时效性、准确性、完整性,产生一定测试成本;
2)接口级的测试用例只能测试接口,但是一个接口由多个方法组成,其它方法可能会影响被修改方法的验证准确性(例如其他方法的缓存);如果是方法级的回归测试,将会产生更大的用例维护测试成本;
3)回归测试的执行,需要测试参与,产生测试成本;
4)测试用例库是经验的总结,测试人员对业务的熟练度,直接影响测试结果的准确度。即使资深测试人员,某些特殊实际场景也可能无法覆盖。
由此,如何解决回归测试用例维护问题,以从用例维护的硬件成本、人力成本等多方面,降低测试成本,同时,提高测试场景覆盖率,优化测试效果,是本领域亟待解决的技术问题。
发明内容
本发明为了克服上述现有技术存在的缺陷,提供一种自动化回归测试方法、装置、电子设备、存储介质,解决回归测试用例维护问题,以从用例维护的硬件成本、人力成本等多方面,降低测试成本,同时,提高测试场景覆盖率,优化测试效果。
根据本发明的一个方面,提供一种自动化回归测试方法,包括:
确定当前版本软件中,不同于前一版本软件的待测试方法;
上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法;
于生产环境中,运行所述当前版本软件;
当需调用所述待测试方法时,获取所述开关组件的指示状态;
若当前所述开关组件的指示状态为默认状态,则调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;
在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法;
调用所述待测试方法进行执行,并获取第二执行结果;
根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
在本发明的一些实施例中,所述调用所述待测试方法进行执行,并获取第二执行结果包括:
采用异步调用的方式,调用所述待测试方法进行执行,并获取第二执行结果。
在本发明的一些实施例中,通过埋点获取所述第一执行结果和所述第二执行结果。
在本发明的一些实施例中,所述根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
根据多组所述第一执行结果和所述第二执行结果的比对,计算所述第二执行结果的准确率;
当所计算的准确率大于设置准确率阈值时,所述待测试方法通过测试。
在本发明的一些实施例中,所述根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
采用对象比较框架对所述第一执行结果和所述第二执行结果进行比对;
根据所述第一执行结果和所述第二执行结果的比对,确定执行结果的差异;
根据所述执行结果的差异确定是否调整所述待测试方法。
在本发明的一些实施例中,根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法通过测试之后,还包括:
使所述开关组件的指示状态调整为调用所述待测试方法;
释放所述前一版本软件中对应的已测试方法;
使所述待测试方法标记为已测试方法。
在本发明的一些实施例中,所述于生产环境中,运行所述当前版本软件包括:
判断运行所述当前版本软件的终端的资源利用率、负载率、终端性能中的一项或多项是否小于设定满载阈值;
若否,则不执行获取第二执行结果,并与第一执行结果进行比对的步骤。
根据本发明的又一方面,还提供一种自动化回归测试装置,包括:
确定模块,用于确定当前版本软件中,不同于前一版本软件的待测试方法;
上线模块,用于上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法;
运行模块,用于于生产环境中,运行所述当前版本软件;
获取模块,用于当需调用所述待测试方法时,获取所述开关组件的指示状态;
第一调用模块,若当前所述开关组件的指示状态为默认状态,则用于调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;
调整模块,用于在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法;
第二调用模块,用于调用所述待测试方法进行执行,并获取第二执行结果;
测试结果模块,用于根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述自动化回归测试方法的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述自动化回归测试方法的步骤。
相比现有技术,本发明的优势在于:
通过在生产环境中,运行新版本的软件,并使得新版本的软件中的更新的方法一开关组件,在生产环境中能够首先执行原版本的方法后再执行更新后的方法,可以根据两个方法的执行结果进行比对,从而可以采用生产环境的数据进行测试,同时保证软件的正常执行。由此,以便捷的实现方式,抽样生产环境实际请求数据作为测试用例,依据方法原处理结果为指标标准,自动校验修改代码块是否损害原有功能,并提供分析以快速定位问题点,于验证过程中保证接口正常返回;合理利用生产环境机器剩余性能,以实际数据进行回归测试,降低用例维护成本和测试成本。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的自动化回归测试方法的流程图。
图2示出了根据本发明具体实施例的根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试的流程图。
图3示出了根据本发明实施例的根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试的流程图。
图4示出了根据本发明实施例的自动化回归测试装置的模块图。
图5示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
图6示意性示出本公开示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了解决现有技术的缺陷,将用户提出需求申请、审批需求、用户需求处理、反馈处理结果,通过技术手段实现自动流转并形成闭环,最终快速完成用户需求,本发明提供一种自动化回归测试方法、装置、电子设备、存储介质。
首先参见图1,图1示出了根据本发明实施例的自动化回归测试方法的示意图。自动化回归测试方法包括如下步骤:
步骤S110:确定当前版本软件中,不同于前一版本软件的待测试方法。
步骤S120:上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法。
步骤S130:于生产环境中,运行所述当前版本软件。
步骤S140:当需调用所述待测试方法时,获取所述开关组件的指示状态。
步骤S150:若当前所述开关组件的指示状态为默认状态,则调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果。
步骤S160:在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法。
步骤S170:调用所述待测试方法进行执行,并获取第二执行结果。
步骤S180:根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
在本发明提供的自动化回归测试方法中,通过在生产环境中,运行新版本的软件,并使得新版本的软件中的更新的方法一开关组件,在生产环境中能够首先执行原版本的方法后再执行更新后的方法,可以根据两个方法的执行结果进行比对,从而可以采用生产环境的数据进行测试,同时保证软件的正常执行。由此,以便捷的实现方式,抽样生产环境实际请求数据作为测试用例,依据方法原处理结果为指标标准,自动校验修改代码块是否损害原有功能,并提供分析以快速定位问题点,于验证过程中保证接口正常返回;合理利用生产环境机器剩余性能,以实际数据进行回归测试,降低用例维护成本和测试成本。
具体而言,本发明各实施例中,上述的待测试方法和已测试方法实际上是软件中的功能函数或功能模块,其在被调用后能够实现代码段的功能方法。待测试方式实际上是软件版本更新后对上一版本中执行相同或类似功能的方法的更新和改进。进一步额,待测试方法和已测试方法在软件的调用关系中所处的位置相同。
在本发明的一些实施例中,图1中步骤S170调用所述待测试方法进行执行,并获取第二执行结果包括如下步骤:采用异步调用的方式,调用所述待测试方法进行执行,并获取第二执行结果。具体而言,通过异步调用的方式调用待测试方法,不影响已测试方法的后续执行过程。
在本发明的一些实施例中,通过埋点获取所述第一执行结果和所述第二执行结果。具体而言,通过埋点的方式,便于执行结果的获取。进一步地,执行结果可以包括有返回结果和无返回结果,本发明并非以此为限制。
下面参见图2,图2示出了根据本发明具体实施例的根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试的流程图。图1中步骤S180根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
步骤S181:根据多组所述第一执行结果和所述第二执行结果的比对,计算所述第二执行结果的准确率。
具体而言,准确率可以根据如下方式计算,使1减去第一执行结果和第二执行结果不一致的数量与第一执行结果的总数量的比,从而能够获得第二执行结果的准确率。
具体而言,本发明中,上述步骤在多个终端中执行,从而能够获得多组第一执行结果和第二执行结果。
步骤S182:当所计算的准确率大于设置准确率阈值时,所述待测试方法通过测试。
具体而言,准确率阈值可以按需设置。当步骤S181计算的准确率大于准确率阈值时,可以判断待测试方法通过测试。
下面参见图3,图3示出了根据本发明实施例的根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试的流程图。
图1中步骤S180根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
步骤S183:采用对象比较框架对所述第一执行结果和所述第二执行结果进行比对。
具体而言,对象比较框架可以采用JaVers。具体而言,JaVers可以实时比较生产环境的处理结果和备份环境的处理结果,或是在新系统中重放生产环境的请求,或者像代码一样对对象进行版本管理。JaVers不仅可以比较对象,也可以将比较结果存储在数据库中以便审计。由此,本发明可以通过JaVers实现第一执行结果和第二执行结果的比对。
步骤S184:根据所述第一执行结果和所述第二执行结果的比对,确定执行结果的差异。
步骤S185:根据所述执行结果的差异确定是否调整所述待测试方法。
由此,在本实施例中,还可以依据获取的第一执行结果和第二执行结果的比对,从而确定他们之间的差异点。一方面,可以根据差异点生成对应的测试报告;另一方面,可以供测试人员和开发人员参考,从而确定待测试方法和已测试方法产生差异的原因。
在本发明的一些实施例中,图1中步骤S180根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法通过测试之后,还可以包括如下步骤:使所述开关组件的指示状态调整为调用所述待测试方法;释放所述前一版本软件中对应的已测试方法;使所述待测试方法标记为已测试方法。由此,可以便于待测试方法直接上线使用。
在本发明的一些实施例中,图1中步骤S130于生产环境中,运行所述当前版本软件还可以包括:判断运行所述当前版本软件的终端的资源利用率、负载率、终端性能中的一项或多项是否小于设定满载阈值;若否,则不执行获取第二执行结果,并与第一执行结果进行比对的步骤。由此,可以针对性得选择终端资源利用率不高、负载率不高或者终端性能较高的终端执行上述步骤,其它终端仍然执行上一版本的软件,或者使得当前版本的软件中的开关组件始终指示调用所述前一版本软件中对应的已测试方法,由此,可以避免调用待测试方法对终端运行产生影响。
在本发明的另一些实施例中,还可以随机选择终端执行上述步骤,其它终端仍然执行上一版本的软件,或者使得当前版本的软件中的开关组件始终指示调用所述前一版本软件中对应的已测试方法,从而减少第一执行结果和第二执行结果的对比数量,提高测试效率。
在本发明可以通过如下实施方式来实现:
(1)前置条件:引用jar包。组件基于aop(Aspect Oriented Programming,面向切面编程)实现。组件中需要开启注解功能,并保证根目录“XXXXXX.comparator.x”被扫描到。需新建qconfig配置(文件名:comparator_sdk.properties),key为类名+方法名+"_ValidateRate",值为验证百分比,以控制方法的验证对比数;
(2)方法n有变更时,新老逻辑都保留,通过开关控制线上实际走哪段逻辑。验证期间开关关闭,走老逻辑。
(3)在方法n上增加注解“@ComparatorAnnotation”,并通过ComparatorThreadLocal.isValidate()控制走到新逻辑。方法执行结束后,组件会异步重新调用方法n,此时会走到新逻辑;
(4)如果需要验证方法返回值,直接查看打点与日志数据;如果需要验证方法里某一个对象obj,新老逻辑代码块最后都调用ComparatorThreadLocal.setResult(obj);
(5)默认对比对象的所有属性。当存在干扰属性时(例如时间),可以继承对比类(设置注解属性“comparatorClazz”,值为子类类名),并重写对比方法validate。对比基于javers方法,并将不一致点记录日志,便于快速定位问题。
(6)验证通过后,开启开关,走新逻辑。设置验证百分比为-1,关闭对比。
(7)清理旧逻辑与对比注解
本发明实施简单易行,方法上直接添加注解即可。合理利用生产环境机器剩余性能,以实际数据进行回归测试,降低用例维护成本和测试成本。
以上仅仅是示意性地描述本发明的多个实现方式,本发明并非以此为限制。
本发明还提供一种自动化回归测试装置,图4示出了根据本发明实施例的自动化回归测试装置的示意图。自动化回归测试装置200包括确定模块210、上线模块220、运行模块230、获取模块240、第一调用模块250、调整模块260、第二调用模块270以及测试结果模块280。
确定模块210用于确定当前版本软件中,不同于前一版本软件的待测试方法;
上线模块220用于上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法;
运行模块230用于于生产环境中,运行所述当前版本软件;
获取模块240用于当需调用所述待测试方法时,获取所述开关组件的指示状态;
第一调用模块250若当前所述开关组件的指示状态为默认状态,则用于调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;
调整模块260用于在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法;
第二调用模块270用于调用所述待测试方法进行执行,并获取第二执行结果;
测试结果模块280用于根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
在本发明提供的自动化回归测试装置中,通过在生产环境中,运行新版本的软件,并使得新版本的软件中的更新的方法一开关组件,在生产环境中能够首先执行原版本的方法后再执行更新后的方法,可以根据两个方法的执行结果进行比对,从而可以采用生产环境的数据进行测试,同时保证软件的正常执行。由此,以便捷的实现方式,抽样生产环境实际请求数据作为测试用例,依据方法原处理结果为指标标准,自动校验修改代码块是否损害原有功能,并提供分析以快速定位问题点,于验证过程中保证接口正常返回;合理利用生产环境机器剩余性能,以实际数据进行回归测试,降低用例维护成本和测试成本。
图4仅仅是示意性的示出本发明提供的自动化回归测试装置,在不违背本发明构思的前提下,模块的拆分、合并、增加都在本发明的保护范围之内。本发明提供的自动化回归测试装置可以由软件、硬件、固件、插件及他们之间的任意组合来实现,本发明并非以此为限。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述自动化回归测试方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述自动化回归测试方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图5所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述自动化回归测试方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图6来描述根据本发明的这种实施方式的电子设备600。图6显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述自动化回归测试方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1至图3中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述自动化回归测试方法。
相比现有技术,本发明的优势在于:
通过在生产环境中,运行新版本的软件,并使得新版本的软件中的更新的方法一开关组件,在生产环境中能够首先执行原版本的方法后再执行更新后的方法,可以根据两个方法的执行结果进行比对,从而可以采用生产环境的数据进行测试,同时保证软件的正常执行。由此,以便捷的实现方式,抽样生产环境实际请求数据作为测试用例,依据方法原处理结果为指标标准,自动校验修改代码块是否损害原有功能,并提供分析以快速定位问题点,于验证过程中保证接口正常返回;合理利用生产环境机器剩余性能,以实际数据进行回归测试,降低用例维护成本和测试成本。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种自动化回归测试方法,其特征在于,包括:
确定当前版本软件中,不同于前一版本软件的待测试方法;
上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法;
于生产环境中,运行所述当前版本软件;
当需调用所述待测试方法时,获取所述开关组件的指示状态;
若当前所述开关组件的指示状态为默认状态,则调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;
在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法;
调用所述待测试方法进行执行,并获取第二执行结果;
根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
2.如权利要求1所述的自动化回归测试方法,其特征在于,所述调用所述待测试方法进行执行,并获取第二执行结果包括:
采用异步调用的方式,调用所述待测试方法进行执行,并获取第二执行结果。
3.如权利要求1所述的自动化回归测试方法,其特征在于,通过埋点获取所述第一执行结果和所述第二执行结果。
4.如权利要求3所述的自动化回归测试方法,其特征在于,所述根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
根据多组所述第一执行结果和所述第二执行结果的比对,计算所述第二执行结果的准确率;
当所计算的准确率大于设置准确率阈值时,所述待测试方法通过测试。
5.如权利要求1所述的自动化回归测试方法,其特征在于,所述根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试包括:
采用对象比较框架对所述第一执行结果和所述第二执行结果进行比对;
根据所述第一执行结果和所述第二执行结果的比对,确定执行结果的差异;
根据所述执行结果的差异确定是否调整所述待测试方法。
6.如权利要求1所述的自动化回归测试方法,其特征在于,根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法通过测试之后,还包括:
使所述开关组件的指示状态调整为调用所述待测试方法;
释放所述前一版本软件中对应的已测试方法;
使所述待测试方法标记为已测试方法。
7.如权利要求1至6任一项所述的自动化回归测试方法,其特征在于,所述于生产环境中,运行所述当前版本软件包括:
判断运行所述当前版本软件的终端的资源利用率、负载率、终端性能中的一项或多项是否小于设定满载阈值;
若否,则不执行获取第二执行结果,并与第一执行结果进行比对的步骤。
8.一种自动化回归测试装置,其特征在于,包括:
确定模块,用于确定当前版本软件中,不同于前一版本软件的待测试方法;
上线模块,用于上线当前版本软件,使得所述待测试方法关联一开关组件,所述开关组件用于确定调用所述待测试方法或者所述前一版本软件中对应的已测试方法,所述开关组件默认调用所述前一版本软件中对应的已测试方法;
运行模块,用于于生产环境中,运行所述当前版本软件;
获取模块,用于当需调用所述待测试方法时,获取所述开关组件的指示状态;
第一调用模块,若当前所述开关组件的指示状态为默认状态,则用于调用所述前一版本软件中对应的已测试方法进行执行,并获取第一执行结果;
调整模块,用于在执行所述前一版本软件中对应的已测试方法,获取第一执行结果后,使所述开关组件的指示状态调整为调用所述待测试方法;
第二调用模块,用于调用所述待测试方法进行执行,并获取第二执行结果;
测试结果模块,用于根据所述第一执行结果和所述第二执行结果的比对,确定所述待测试方法是否通过测试。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如权利要求1至7任一项所述的自动化回归测试方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的自动化回归测试方法。
CN202110297304.9A 2021-03-19 自动化回归测试方法、装置、电子设备、存储介质 Active CN112965910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110297304.9A CN112965910B (zh) 2021-03-19 自动化回归测试方法、装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110297304.9A CN112965910B (zh) 2021-03-19 自动化回归测试方法、装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN112965910A true CN112965910A (zh) 2021-06-15
CN112965910B CN112965910B (zh) 2024-06-21

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704129A (zh) * 2021-09-03 2021-11-26 中国农业银行股份有限公司 一种回归测试方法、装置、存储介质和设备

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050114839A1 (en) * 2003-11-26 2005-05-26 Andreas Blumenthal Testing flow control at test assertion level
US7062753B1 (en) * 1999-03-31 2006-06-13 British Telecommunications Public Limited Company Method and apparatus for automated software unit testing
US20070006031A1 (en) * 2004-03-26 2007-01-04 Advantest Corporation Testing apparatus and testing method
US20150254165A1 (en) * 2014-03-05 2015-09-10 Concurix Corporation Automated Regression Testing for Software Applications
WO2016008398A1 (zh) * 2014-07-16 2016-01-21 北京奇虎科技有限公司 程序性能测试方法和装置
CN108170606A (zh) * 2018-01-03 2018-06-15 中国工商银行股份有限公司 系统软件升级类应用的测试系统及方法
CN108199923A (zh) * 2018-01-23 2018-06-22 平安普惠企业管理有限公司 服务器测试方法、装置、计算机设备及可读存储介质
CN108446222A (zh) * 2018-03-05 2018-08-24 百度在线网络技术(北京)有限公司 应用测试方法、装置及设备
CN108509212A (zh) * 2018-02-07 2018-09-07 平安科技(深圳)有限公司 应用程序更新测试方法、装置、终端设备及存储介质
CN108763091A (zh) * 2018-05-31 2018-11-06 恒生电子股份有限公司 用于回归测试的方法、装置及系统
CN108763077A (zh) * 2018-05-24 2018-11-06 上海微小卫星工程中心 基于星上在轨可重构fpga软件的验证测试系统
CN109818778A (zh) * 2018-12-21 2019-05-28 北京奇安信科技有限公司 一种自动回归测试方法、系统、设备及介质
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN109960653A (zh) * 2019-02-18 2019-07-02 天津五八到家科技有限公司 回归测试方法、装置、设备和存储介质
US20190310931A1 (en) * 2018-04-05 2019-10-10 Sap Se Software performance regression analysis using execution timelines
CN110764895A (zh) * 2019-10-30 2020-02-07 江苏满运软件科技有限公司 应用服务动态切换方法、系统、设备及存储介质
CN110928786A (zh) * 2019-11-20 2020-03-27 中国工商银行股份有限公司 针对财务程序的测试方法和装置
CN111666201A (zh) * 2019-03-08 2020-09-15 北京京东尚科信息技术有限公司 回归测试方法、装置、介质及电子设备
CN111694734A (zh) * 2020-05-26 2020-09-22 五八有限公司 软件接口校验方法、装置及计算机设备

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062753B1 (en) * 1999-03-31 2006-06-13 British Telecommunications Public Limited Company Method and apparatus for automated software unit testing
US20050114839A1 (en) * 2003-11-26 2005-05-26 Andreas Blumenthal Testing flow control at test assertion level
US20070006031A1 (en) * 2004-03-26 2007-01-04 Advantest Corporation Testing apparatus and testing method
US20150254165A1 (en) * 2014-03-05 2015-09-10 Concurix Corporation Automated Regression Testing for Software Applications
WO2016008398A1 (zh) * 2014-07-16 2016-01-21 北京奇虎科技有限公司 程序性能测试方法和装置
CN108170606A (zh) * 2018-01-03 2018-06-15 中国工商银行股份有限公司 系统软件升级类应用的测试系统及方法
CN108199923A (zh) * 2018-01-23 2018-06-22 平安普惠企业管理有限公司 服务器测试方法、装置、计算机设备及可读存储介质
CN108509212A (zh) * 2018-02-07 2018-09-07 平安科技(深圳)有限公司 应用程序更新测试方法、装置、终端设备及存储介质
CN108446222A (zh) * 2018-03-05 2018-08-24 百度在线网络技术(北京)有限公司 应用测试方法、装置及设备
US20190310931A1 (en) * 2018-04-05 2019-10-10 Sap Se Software performance regression analysis using execution timelines
CN108763077A (zh) * 2018-05-24 2018-11-06 上海微小卫星工程中心 基于星上在轨可重构fpga软件的验证测试系统
CN108763091A (zh) * 2018-05-31 2018-11-06 恒生电子股份有限公司 用于回归测试的方法、装置及系统
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN109818778A (zh) * 2018-12-21 2019-05-28 北京奇安信科技有限公司 一种自动回归测试方法、系统、设备及介质
CN109960653A (zh) * 2019-02-18 2019-07-02 天津五八到家科技有限公司 回归测试方法、装置、设备和存储介质
CN111666201A (zh) * 2019-03-08 2020-09-15 北京京东尚科信息技术有限公司 回归测试方法、装置、介质及电子设备
CN110764895A (zh) * 2019-10-30 2020-02-07 江苏满运软件科技有限公司 应用服务动态切换方法、系统、设备及存储介质
CN110928786A (zh) * 2019-11-20 2020-03-27 中国工商银行股份有限公司 针对财务程序的测试方法和装置
CN111694734A (zh) * 2020-05-26 2020-09-22 五八有限公司 软件接口校验方法、装置及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
飞鸟2011: "AB测试-产品增长的利器", 《HTTPS://WWW.CNBLOGS.COM/SUNXF2011/P/5793267.HTML》, pages 1 - 4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113704129A (zh) * 2021-09-03 2021-11-26 中国农业银行股份有限公司 一种回归测试方法、装置、存储介质和设备

Similar Documents

Publication Publication Date Title
CN107341098B (zh) 软件性能测试方法、平台、设备及存储介质
US9916230B1 (en) White box testing
CN108509212B (zh) 应用程序更新测试方法、装置、终端设备及存储介质
CN111241111B (zh) 数据查询方法及装置、数据对比方法及装置、介质及设备
CN112100079B (zh) 基于模拟数据调用的测试方法、系统和电子设备
CN112631919A (zh) 一种对比测试方法、装置、计算机设备及存储介质
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
US20210263837A1 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN113238930A (zh) 软件系统的测试方法、装置、终端设备和存储介质
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN111767209A (zh) 代码测试方法、装置、存储介质以及终端
CN111581077A (zh) 智能合约测试方法、装置
US11249880B1 (en) Debugging and simulating application runtime execution
CN114064435A (zh) 数据库测试方法、装置、介质与电子设备
CN112965910B (zh) 自动化回归测试方法、装置、电子设备、存储介质
CN112416747A (zh) 一种测试用例执行方法、装置、设备及介质
CN111026651A (zh) 测试方法、装置、存储介质及电子设备
CN112965910A (zh) 自动化回归测试方法、装置、电子设备、存储介质
CN114968770A (zh) 一种自动化测试的方法、装置、设备和存储介质
CN110795338B (zh) 一种基于前后端交互的自动化测试方法、装置及电子设备
CN112306723A (zh) 一种应用于小程序的运行信息获取方法和装置
CN111740876B (zh) 一种应用装置、测试方法、存储介质及电子设备
CN113760723B (zh) 一种业务流程调试方法和装置
CN116306409B (zh) 芯片验证方法、装置、设备及存储介质
CN115484200B (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
GR01 Patent grant