CN112631930A - 动态系统测试方法及相关装置 - Google Patents
动态系统测试方法及相关装置 Download PDFInfo
- Publication number
- CN112631930A CN112631930A CN202011610789.4A CN202011610789A CN112631930A CN 112631930 A CN112631930 A CN 112631930A CN 202011610789 A CN202011610789 A CN 202011610789A CN 112631930 A CN112631930 A CN 112631930A
- Authority
- CN
- China
- Prior art keywords
- test
- type
- data
- interface
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 447
- 238000010998 test method Methods 0.000 claims abstract description 196
- 238000000034 method Methods 0.000 claims abstract description 148
- 238000013145 classification model Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 9
- 230000010354 integration Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
本申请是关于一种动态系统测试方法及相关装置,涉及人工智能技术领域,该方法包括:获取测试数据,测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法;根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;执行所述第一测试方法及所述第二测试方法,完成测试。本申请可在区块链中对区块链节点上的系统进行动态测试,本申请有效提升测试可靠性。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种动态系统测试方法及相关装置。
背景技术
目前,测试过程中通常存在测试代码逻辑复杂,不仅难以维护,而且容易出错的问题。以JUNIT测试框架为例的框架是开发过程中的工具,基于此框架编写的测试用例是软件质量的重要保证,也是持续集成过程的重要组成部分。其中,最常用的参数化测试框架,主要是针对不同输入,判断系统处理结果是否正确的有效工具。而JUNIT的参数化测试框架,对于每次执行输入的不同测试数据,必须执行相同的测试方法。而事实上,对于某些输入测试数据而言,某些测试方法可能是不必要的。另一方面,某些数据可能需要一些其它数据不需要的特殊测试。虽然可以列出所有测试方法,再根据数据,使用Assume类来确定是否执行测试,但会造成以下问题:测试代码逻辑复杂,不仅难以维护,容易出错,且测试结果中会出现大量跳过的测试,且无法和注解临时跳过(通常是需要完成但暂时没有时间处理)的测试区分开,导致系统测试可靠性较低。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请的目的在于提供一种动态系统测试方案,进而至少在一定程度上有效提升系统测试可靠性。
根据本申请的一个方面,提供一种动态系统测试方法,包括:
获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
执行所述第一测试方法及所述第二测试方法,完成测试。
在本申请的一种示例性实施方式中,所述方法还包括:
预设测试接口方法表,所述测试接口方法表中保存各测试对象的多种测试接口方法以及与所述测试接口方法对应的对象测试数据样本。
在本申请的一种示例性实施方式中,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
在所述预设测试接口方法表中,确定与所述对象测试数据相似度超过预定阈值的对象测试数据样本;
获取所述相似度超过预定阈值的对象测试数据样本所对应的测试接口方法。
在本申请的一种示例性实施方式中,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
将所述实时测试数据输入方法决策模型,得到各所述测试对象对应的测试接口方法。
在本申请的一种示例性实施方式中,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
获取预设测试方法类型表,所述预设测试方法类型表中包括测试对象的对象类型及所述对象类型对应的测试方法类型;
从所述预设测试方法类型表,所述根据所述对象类型确定各所述测试对象对应的测试方法类型。
在本申请的一种示例性实施方式中,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
根据各所述测试对象的对象类型,获取各所述测试对象在待测试系统中对应的子配置数据;
将所述子配置数据输入方法分类模型,得到各所述测试对象的测试方法类型标签。
在本申请的一种示例性实施方式中,所述方法分类模型的训练方法包括:
获取子配置数据样本集,所述子配置数据样本事先标定了对应的测试方法类型标签;
将所述子配置数据样本输入方法分类模型,控制所述方法分类模型输出预测标签,直到所述预测标签与所述子配置数据样本事先标定了对应的测试方法类型标签一致。
根据本申请的一个方面,一种动态系统测试装置,其特征在于,包括:
获取模块,用于获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
确定模块,用于根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
方法生成模块,用于将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
方法获取模块,用于根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
测试执行模块,用于执行所述第一测试方法及所述第二测试方法,完成测试。
根据本申请的一个方面,提供一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现上述任一项所述的方法。
根据本申请的一个方面,提供一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的程序指令;其中,所述处理器配置为经由执行所述程序指令来执行上述任一项所述的方法。
本申请一种动态系统测试方法及相关装置,首先,获取测试数据,该测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,通过测试接口方法可以指示测试接口的调用逻辑;进而可以获取到测试方法的所有逻辑测试信息。然后,根据对象类型确定各测试对象对应的测试方法类型,该测试方法类型包括第一类型和第二类型;可以确定适应于不同类型的测试对象的测试方法类型。然后,将第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用对象测试数据生成第一测试方法;对于第一类型的测试对象,可以根据对象测试数据灵活地动态生成其测试方法,保证;同时,对于第二类型的测试对象,根据第二类型所对应测试对象的关键字,获取预设的第二测试方法,保证测试方法的稳定性。
最后执行第一测试方法及第二测试方法,可靠地完成测试。
以这种方法,进行参数化测试时,可以用极简单的代码逻辑,配合丰富的测试数据输入,灵活的生成各种输入测试数据适用的第一测试方法。不仅可以大大减少开发人员的测试代码开发时间,同时在后续业务发生变化时,对测试代码的维护难度也明显降低。另一方面,由于按需生成第一测试方法,完全消除了因为测试方法不适用而产生的无效案例,结合固定的第二测试方法,使得测试结果中,未完成的案例/失败的案例的展示一目了然,在持续集成时能够根据测试结果快速定位问题,补全欠缺的测试,最终有效提升系统质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出一种动态系统测试方法的流程图。
图2示意性示出一种动态系统测试方法的应用场景示例图。
图3示意性示出一种测试数据的获取方法流程图。
图4示意性示出一种动态系统测试装置的方框图。
图5示意性示出一种用于实现上述动态系统测试方法的电子设备示例框图。
图6示意性示出一种用于实现上述动态系统测试方法的计算机可读存储介质。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本申请的各方面变得模糊。
此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本示例实施方式中首先提供了动态系统测试方法,该动态系统测试方法可以运行于服务器,也可以运行于服务器集群或云服务器等,当然,本领域技术人员也可以根据需求在其他平台运行本发明的方法,本示例性实施例中对此不做特殊限定。参考图1所示,该动态系统测试方法可以包括以下步骤:
步骤S110,获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
步骤S120,根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
步骤S130,将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
步骤S140,根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
步骤S150,执行所述第一测试方法及所述第二测试方法,完成测试。
上述动态系统测试方法中,首先,获取测试数据,该测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,通过测试接口方法可以指示测试接口的调用逻辑;进而可以获取到测试方法的所有逻辑测试信息。然后,根据对象类型确定各测试对象对应的测试方法类型,该测试方法类型包括第一类型和第二类型;可以确定适应于不同类型的测试对象的测试方法类型。然后,将第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用对象测试数据生成第一测试方法;对于第一类型的测试对象,可以根据对象测试数据灵活地动态生成其测试方法,保证;同时,对于第二类型的测试对象,根据第二类型所对应测试对象的关键字,获取预设的第二测试方法,保证测试方法的稳定性。
最后执行第一测试方法及第二测试方法,可靠地完成测试。
以这种方法,进行参数化测试时,可以用极简单的代码逻辑,配合丰富的测试数据输入,灵活的生成各种输入测试数据适用的第一测试方法。不仅可以大大减少开发人员的测试代码开发时间,同时在后续业务发生变化时,对测试代码的维护难度也明显降低。另一方面,由于按需生成第一测试方法,完全消除了因为测试方法不适用而产生的无效案例,结合固定的第二测试方法,使得测试结果中,未完成的案例/失败的案例的展示一目了然,在持续集成时能够根据测试结果快速定位问题,补全欠缺的测试,最终有效提升系统质量。
下面,将结合附图对本示例实施方式中上述动态系统测试方法中的各步骤进行详细的解释以及说明。
在步骤S110中,获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑。
在本示例的实施方式中,参考图2所示,服务器210可以从服务器220获取测试数据。其中服务器210和服务器220可以是电脑、手机等各种具有程序指令处理功能的终端设备,在此不做特殊限定。
本申请可在区块链中对区块链节点上的系统进行动态测试,即如图2所示的服务器210和服务器220为区块链中的区块链节点设备,服务器210可以获取区块链上其它节点(例如服务器220)共享的测试数据,然后进行进一步的测试。基于区块链数据共享的安全性和不可更改特性,有效保证测试的安全性和可靠性。
测试对象的关键字是唯一标识测试对象的标识。测试对象的对象类型,例如,一金融交易系统中,对于证券交易测试对象,证券交易的类型可以是买入交易类型、卖出交易类型等。对象测试数据是测试时测试对象实时输入的输入数据、条件数据等。测试接口方法指示测试接口的调用逻辑,例如,接口的先后顺序、调用数据等。测试数据可以通过测试表的形式存在。
通过获取上述测试数据,可以获取到测试方法的所有逻辑测试信息。
一种实施例中,所述方法还包括:
预设测试接口方法表,所述测试接口方法表中保存各测试对象的多种测试接口方法以及与所述测试接口方法对应的对象测试数据样本。
对象测试数据样本是预先定义的测试数据样本。通过定义多种对象测试数据样本,根据对象测试数据样本生成对应的测试接口方法。后续可灵活的根据对象测试数据确定对于的测试接口方法,生成测试方法。
一种实施例中,参考图3所示,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
步骤S310,获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
步骤S320,在所述预设测试接口方法表中,确定与所述对象测试数据相似度超过预定阈值的对象测试数据样本;
步骤S330,获取所述相似度超过预定阈值的对象测试数据样本所对应的测试接口方法。
获取测试数据时,首先获取到实时测试数据,也就是获取到本次测试所需要的实时数据,其中包括测试对象对应的对象类型、关键字、对象测试数据。
然后,通过相似度计算,可以在预设测试接口方法表中,确定与对象测试数据相似度超过预定阈值的对象测试数据样本;可以确定匹配本次实时的对象测试数据的对象测试数据样本。
进而,获取相似度超过预定阈值的对象测试数据样本所对应的测试接口方法,可以获取到适合本次测试数据的测试接口方法,保证测试方法生成的可靠性。
一种实施例中,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
将所述实时测试数据输入方法决策模型,得到各所述测试对象对应的测试接口方法。
方法决策模型是预先训练的机器学习模型,可以智能的根据实时测试数据,决策分析出适合本次测试对象的测试接口方法。方法决策模型可以是决策树模型。
方法决策模型的训练方法包括,收集实时测试数据样本集,实时测试数据样本事先由专家标定了对应的测试接口方法标签;
然后,分别将实时测试数据样本输入方法决策模型,控制方法决策模型输出预测标签,直到所有预测标签与实时测试数据样本事先标定的测试接口方法标签一致。
在步骤S120中,根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型。
在本示例的实施方式中,第一类型可以指示需要动态生成测试方法;第二类型可以指示获取固定的测试方法(预设的测试方法)。
根据对象类型确定各测试对象对应的测试方法类型,可以根据测试对象本身的灵活地确定适合其的测试方法类型,可以根据测试对象类型按需生成第一测试方法,完全消除了因为测试方法不适用而产生的无效案例。
例如,在证券交易系统的测试中,对于证券交易的测试对象,无论买或卖的交易类型,都需要进行风控指标变化结果检查测试,因此可以将风控指标变化结果检查测试定义为固定测试方法(测试方法类型)。同时,如果是交易类型是买入,检查资金变动结果的测试,可以根据测试数据动态生成测试方法(测试方法类型)。对于卖出交易类型,则检查持仓结果的变化检查测试也可以动态生成测试方法(测试方法类型)。同理还可以根据申购,赎回,质押等交易类型,生成其它完全不同的测试方法,以验证每种业务都被正确处理。
根据对象类型确定各测试对象对应的测试方法类型的方法可以根据预设测试方法类型表获取,或者通过方法分类模型智能分析获得。
一种实施例中,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
获取预设测试方法类型表,所述预设测试方法类型表中包括测试对象的对象类型及所述对象类型对应的测试方法类型;
从所述预设测试方法类型表,所述根据所述对象类型确定各所述测试对象对应的测试方法类型。
预设测试方法类型表保存了经验获取的对象类型对应的测试方法类型。可以根据对象类型高效地确定各测试对象对应的测试方法类型。
一种实施例中,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
根据各所述测试对象的对象类型,获取各所述测试对象在待测试系统中对应的子配置数据;
将所述子配置数据输入方法分类模型,得到各所述测试对象的测试方法类型标签。
各所述测试对象在待测试系统中对应的子配置数据,可以从系统配置文件中查找到,其可以包括在系统中进行测试对象所进行的各交易所对应的参数,例如,输入、输及前置条件等系统配置信息。方法分类模型是训练好的机器学习模型,例如,多分类模型。
这样可以保证确定的第一类型和第二类型,与各测试对象的类型对应的待测试系统的系统配置相适配,保证动态生成的比必要性及可靠性。某个测试对象的类型对应的子系统配置可以表现出系统的稳定性,由方法分类确定模型可以进行智能学习确定得到。
一种实施例中,所述方法分类模型的训练方法包括:
获取子配置数据样本集,所述子配置数据样本事先标定了对应的测试方法类型标签;
将所述子配置数据样本输入方法分类模型,控制所述方法分类模型输出预测标签,直到所述预测标签与所述子配置数据样本事先标定了对应的测试方法类型标签一致。
将子配置数据样本集中的子配置数据样本依次输入方法分类模型,控制方法分类模型输出预测标签,直到预测标签与子配置数据样本事先标定了对应的测试方法类型标签一致,则可以得到训练好的机器学习模型。
在步骤S130中,将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法。
在本示例的实施方式中,测试接口方法作为测试方法的测试逻辑,可以指示测试接口的调用逻辑,同时可以从对象测试数据中获取对于的测试参数,进而可以生成对应于每个测试方法的名称的第一测试方法。根据测试方法的名称获取对应的测试方法,每个测试方法相互容易区别。
在步骤S140中,根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法。
在本示例的实施方式中,预设的第二测试方法为预设的可以直接用来进行测试的测试方法,根据温度的完成测试。对于第二类型的测试对象,根据第二类型所对应测试对象的关键字,获取预设的第二测试方法,保证测试方法的稳定性。
在步骤S150中,执行所述第一测试方法及所述第二测试方法,完成测试。
在本示例的实施方式中,执行所述第一测试方法及所述第二测试方法,完成测试,可以得到测试报告。由于按需生成第一测试方法,完全消除了因为测试方法不适用而产生的无效案例,结合固定的第二测试方法,使得测试结果中,未完成的案例/失败的案例的展示一目了然,在持续集成时能够根据测试结果快速定位问题,补全欠缺的测试,最终有效提升系统质量。
本身的一个例子中,对于JUNIT测试框架可以构件新的动态参数化测试框架,可以用TapJUnitRunnerFactory替换JUNIT默认的RunnerFactory,创建一个TapJUnitRunner,该TapJUnitRunner可以承担后所有测试方法生成的工作。
首先,TapJUnitRunner将会根据testcases测试数据表的内容(测试数据),动态生成第一测试方法,生成的测试方法表。其中testcases测试数据表中的key值(关键字)可以作为生成第一测试方法的名称,而testcases测试数据表中的key值(关键字)对应得value值的run方法(测试接口方法)可以作为测试接口的调用逻辑。
然后,TapJUnitRunner还可以将固定测试方法(预设的第二测试方法)也加入生成的测试方法表中。
最终,TapJUnitRunner可以将控制器交还JUNIT框架,此时生成的测试方法表中的测试方法可以被依次执行,并产出测试报告。
新的动态参数化测试框架中可以提供一核心类ParameterizableTest,任何需要使用此动态参数化测试框架的测试类只需要继承这个核心类,即可获得动态生成测试方法的能力。
ParameterizableTest类具有一个hashmap类型的属性testcases,第一测试方法将按照其每个key-value(关键词-测试接口方法)自动生成,其中key值将被作为生成方法的名称,而value值的测试接口方法run将被作为测试方法的逻辑(其中,value值应实现TapTestcase测试接口,后续测试框架可以调用其测试接口方法run)。
新的动态参数化测试框架兼容定义测试方法的形式,针对每个数据都要执行的第二测试方法,可以直接定义在测试类中,最终生成的测试方法将是第二测试方法和第一测试方法的合集。
本申请还提供了一种动态系统测试装置。参考图4所示,该动态系统测试装置可以包括获取模块410、确定模块420、方法生成模块430、方法获取模块440以及测试执行模块450。其中:
获取模块410可以用于获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
确定模块420可以用于根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
方法生成模块430可以用于将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
方法获取模块440可以用于根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
测试执行模块450可以用于执行所述第一测试方法及所述第二测试方法,完成测试。
上述动态系统测试装置中各模块的具体细节已经在对应的动态系统测试方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施方式的电子设备500。图5显示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图1中所示的步骤S110,获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
步骤S120,根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
步骤S130,将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
步骤S140,根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
步骤S150,执行所述第一测试方法及所述第二测试方法,完成测试。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得客户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行,还可以包括与输入/输出(I/O)接口550连接的显示单元。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,参考图6所示,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在客户计算设备上执行、部分地在客户设备上执行、作为一个独立的软件包执行、部分在客户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到客户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其他实施例。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
Claims (10)
1.一种动态系统测试方法,其特征在于,包括:
获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
执行所述第一测试方法及所述第二测试方法,完成测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
预设测试接口方法表,所述测试接口方法表中保存各测试对象的多种测试接口方法以及与所述测试接口方法对应的对象测试数据样本。
3.根据权利要求2所述的方法,其特征在于,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
在所述预设测试接口方法表中,确定与所述对象测试数据相似度超过预定阈值的对象测试数据样本;
获取所述相似度超过预定阈值的对象测试数据样本所对应的测试接口方法。
4.根据权利要求1所述的方法,其特征在于,所述获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,包括:
获取各测试对象的实时测试数据,所述实时测试数据中包括测试对象对应的对象类型、关键字、对象测试数据;
将所述实时测试数据输入方法决策模型,得到各所述测试对象对应的测试接口方法。
5.根据权利要求1所述的方法,其特征在于,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
获取预设测试方法类型表,所述预设测试方法类型表中包括测试对象的对象类型及所述对象类型对应的测试方法类型;
从所述预设测试方法类型表,所述根据所述对象类型确定各所述测试对象对应的测试方法类型。
6.根据权利要求1所述的方法,其特征在于,所述根据所述对象类型确定各所述测试对象对应的测试方法类型,包括:
根据各所述测试对象的对象类型,获取各所述测试对象在待测试系统中对应的子配置数据;
将所述子配置数据输入方法分类模型,得到各所述测试对象的测试方法类型标签。
7.根据权利要求6所述的方法,其特征在于,所述方法分类模型的训练方法包括:
获取子配置数据样本集,所述子配置数据样本事先标定了对应的测试方法类型标签;
将所述子配置数据样本输入方法分类模型,控制所述方法分类模型输出预测标签,直到所述预测标签与所述子配置数据样本事先标定了对应的测试方法类型标签一致一致。
8.一种动态系统测试装置,其特征在于,包括:
获取模块,用于获取测试数据,所述测试数据中包括各测试对象的对象类型、关键字、对象测试数据和测试接口方法,所述测试接口方法指示测试接口的调用逻辑;
确定模块,用于根据所述对象类型确定各所述测试对象对应的测试方法类型,所述测试方法类型包括第一类型和第二类型;
方法生成模块,用于将所述第一类型所对应测试对象的关键字作为测试方法的名称、测试接口方法作为测试方法的测试逻辑,利用所述对象测试数据生成第一测试方法;
方法获取模块,用于根据所述第二类型所对应测试对象的关键字,获取预设的第二测试方法;
测试执行模块,用于执行所述第一测试方法及所述第二测试方法,完成测试。
9.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1-7任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的程序指令;其中,所述处理器配置为经由执行所述程序指令来执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610789.4A CN112631930B (zh) | 2020-12-30 | 2020-12-30 | 动态系统测试方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011610789.4A CN112631930B (zh) | 2020-12-30 | 2020-12-30 | 动态系统测试方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112631930A true CN112631930A (zh) | 2021-04-09 |
CN112631930B CN112631930B (zh) | 2024-06-21 |
Family
ID=75286675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011610789.4A Active CN112631930B (zh) | 2020-12-30 | 2020-12-30 | 动态系统测试方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112631930B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192882A1 (en) * | 2016-01-06 | 2017-07-06 | Hcl Technologies Limited | Method and system for automatically generating a plurality of test cases for an it enabled application |
CN107561379A (zh) * | 2017-08-11 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种电子产品的测试方法及系统 |
CN109189692A (zh) * | 2018-10-18 | 2019-01-11 | 阳光人寿保险股份有限公司 | 一种webservice接口测试方法及装置 |
CN109558319A (zh) * | 2018-11-27 | 2019-04-02 | 泰康保险集团股份有限公司 | Web页面控件的测试方法、设备和存储介质 |
CN109800165A (zh) * | 2019-01-14 | 2019-05-24 | 中国银行股份有限公司 | 一种前端系统测试方法及装置 |
CN110177006A (zh) * | 2019-04-16 | 2019-08-27 | 平安普惠企业管理有限公司 | 基于接口预测模型的节点测试方法及装置 |
CN110764993A (zh) * | 2019-09-02 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 自动化测试方法及终端设备 |
CN110874315A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN111797895A (zh) * | 2020-05-30 | 2020-10-20 | 华为技术有限公司 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
-
2020
- 2020-12-30 CN CN202011610789.4A patent/CN112631930B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192882A1 (en) * | 2016-01-06 | 2017-07-06 | Hcl Technologies Limited | Method and system for automatically generating a plurality of test cases for an it enabled application |
CN107561379A (zh) * | 2017-08-11 | 2018-01-09 | 上海斐讯数据通信技术有限公司 | 一种电子产品的测试方法及系统 |
CN110874315A (zh) * | 2018-08-30 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 测试方法、装置、电子设备和存储介质 |
CN109189692A (zh) * | 2018-10-18 | 2019-01-11 | 阳光人寿保险股份有限公司 | 一种webservice接口测试方法及装置 |
CN109558319A (zh) * | 2018-11-27 | 2019-04-02 | 泰康保险集团股份有限公司 | Web页面控件的测试方法、设备和存储介质 |
CN109800165A (zh) * | 2019-01-14 | 2019-05-24 | 中国银行股份有限公司 | 一种前端系统测试方法及装置 |
CN110177006A (zh) * | 2019-04-16 | 2019-08-27 | 平安普惠企业管理有限公司 | 基于接口预测模型的节点测试方法及装置 |
CN110764993A (zh) * | 2019-09-02 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 自动化测试方法及终端设备 |
CN111797895A (zh) * | 2020-05-30 | 2020-10-20 | 华为技术有限公司 | 一种分类器的训练方法、数据处理方法、系统以及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112631930B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10578673B2 (en) | Test prioritization and dynamic test case sequencing | |
US11467817B2 (en) | Software component defect prediction using classification models that generate hierarchical component classifications | |
US10019347B2 (en) | Systems and methods for selection of test cases for payment terminals | |
CN111460250B (zh) | 用于画像的数据的清洗方法、装置、介质及电子设备 | |
CN109815147B (zh) | 测试案例生成方法、装置、服务器和介质 | |
CN109871315B (zh) | 基于机器学习的系统升级失败的诊断方法及装置 | |
CN109872230B (zh) | 金融数据分析系统的测试方法、装置、介质、电子设备 | |
CN113609008B (zh) | 测试结果分析方法、装置和电子设备 | |
CN110647523A (zh) | 数据质量的分析方法及装置、存储介质、电子设备 | |
CN113837596A (zh) | 一种故障确定方法、装置、电子设备及存储介质 | |
CN114048129A (zh) | 软件功能变更的自动化测试方法、装置、设备及系统 | |
CN109710523B (zh) | 视觉稿的测试用例生成方法及装置、存储介质、电子设备 | |
CN109783361B (zh) | 确定代码质量的方法和装置 | |
CN111639028A (zh) | 一种对账规则脚本测试方法、装置、引擎及存储介质 | |
CN113590484B (zh) | 算法模型服务测试方法、系统、设备及存储介质 | |
CN112631930B (zh) | 动态系统测试方法及相关装置 | |
CN113901094B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN114675952A (zh) | 信息处理方法、装置、电子设备、介质和程序产品 | |
CN113934595A (zh) | 数据分析方法及系统、存储介质及电子终端 | |
CN113448822A (zh) | 测试方法、装置、计算机可读介质及电子设备 | |
CN111881128B (zh) | 大数据回归验证方法及大数据回归验证装置 | |
US20240338564A1 (en) | Training sample acquiring method and apparatus as well as large model optimization training method and apparatus | |
CN115687079A (zh) | 测试脚本公共代码的生成方法及装置 | |
KR101919489B1 (ko) | 신용평가 시스템에서의 룰 매니저 방법 및 시스템, 그리고 이 방법을 실행시키기 위한 프로그램을 저장한 기록매체 | |
CN117950671A (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 | ||
GR01 | Patent grant |