CN114780414A - 一种批量测试用例生成方法、装置、设备及存储介质 - Google Patents
一种批量测试用例生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114780414A CN114780414A CN202210452433.5A CN202210452433A CN114780414A CN 114780414 A CN114780414 A CN 114780414A CN 202210452433 A CN202210452433 A CN 202210452433A CN 114780414 A CN114780414 A CN 114780414A
- Authority
- CN
- China
- Prior art keywords
- state transition
- expression
- simplified
- relationship
- state
- 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
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/3676—Test management for coverage analysis
Abstract
本发明涉及计算机程序测试技术领域,公开了一种批量测试用例生成方法、装置、设备及存储介质,所述方法包括:获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系;在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系;根据所述简化表达式生成测试用例,通过上述降低状态的数量,将状态合并,得到简化状态状态图以编写测试用例的方法,可以实现全面且高效的生成测试用例。
Description
技术领域
本发明涉及计算机程序测试技术领域,可应用于金融领域,尤其涉及一种批量测试用例生成方法、装置、设备及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
现有对系统的测试中,需要测试人员编写测试用例,受测试人员专业技术的影响及测试场景的复杂性(例如涉及多模块或多步骤、需要考虑边界值、模块或步骤之间的输入输出、系统状态的变化等因素的场景)的影响,手工编写测试用例的方式存在测试用例编写效率低、无法覆盖所有场景。
发明内容
本发明实施例提供一种批量测试用例生成方法,用以解决手工编写测试用例的方式存在测试用例编写效率低、无法覆盖所有场景的问题,该方法包括:
获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系;
在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系;
根据所述简化表达式生成测试用例。
作为本文的一个实施例,获取状态转移图包括:
根据所述测试业务场景表生成初始转移图,其中所述初始转移图包括状态转移关系指向结束状态时,出现成功和失败的两种状态转移关系;
根据两种状态转移关系,生成两种状态转移关系图。
作为本文的一个实施例,所述在所述状态转移图中去除一个或多个状态以生成简化表达式,包括:
在所述状态转移图中,将除结束状态与开始状态外的状态合并,每次合并时重新确定状态之间的状态转移关系;
将所述结束状态与所述开始状态之间的状态转移关系作为所述简化表达式。
作为本文的一个实施例,所述在所述状态转移图中,将除结束状态与开始状态外的状态合并,包括:
在所述状态转移图中,筛选出与所述结束状态最近且相连的状态;
将与筛选出的状态相关的状态转移关系进行合并。
作为本文的一个实施例,所述简化表达式中所述并列关系用并列符号表示,所述聚合关系用聚合符号表示;
所述根据所述简化表达式生成测试用例,包括:
遍历所述简化表达式,根据所述并列符号及聚合符号将所述简化表达式拆分为并列的至少两个简化子表达式;
将所述简化子表达式进行拆分,生成若干测试用例。
作为本文的一个实施例,所述将所述简化子表达式进行拆分,生成若干测试用例,包括:
S1,在所述简化子表达式中遍历并列符号;
S2,当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,返回并继续执行步骤S1;
S3,若未遍历到所述并列符号,则根据最后生成的简化子表达式,生成所述若干测试用例。
作为本文的一个实施例,所述当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,包括:
将所述简化子表达式内的第一个并列符号的左右两侧的所述聚合符号拆分;
将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
作为本文的一个实施例,所述将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,包括:
确定所述简化子表达式中所述状态转移关系、所述并列关系和所述聚合关系之间的序列关系;
所述拆分后的聚合符号,根据所述序列关系,分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
本发明实施例还提供一种批量测试用例生成装置装置,用以解决手工编写测试用例的方式存在测试用例编写效率低、无法覆盖所有场景的问题,该装置包括:
获取单元,用于获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系;
表达式生成单元,用于在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系;
用例生成单元,用于根据所述简化表达式生成测试用例。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现任一所述方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现任一所述方法。
本发明实施例中一种批量测试用例生成方法,与现有技术中通过状态转移图,直接编写测试用例的技术方案相比,通过降低状态的数量,将状态合并,得到简化状态状态图以编写测试用例,可以实现全面的且效率较高的生成测试用例。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中一种批量测试用例生成方法的整体系统图;
图2为本发明实施例中成功和失败的状态转移关系图;
图3为本发明实施例中一种批量测试用例生成方法的示意图;
图4为本发明实施例中成功的初始转移图第一次合并示意图;
图5为本发明实施例中成功的初始转移图第二次合并示意图;
图6为本发明实施例中成功的初始转移图第三次合并示意图;
图7为本发明实施例中失败的初始转移图第一次合并示意图;
图8为本发明实施例中失败的初始转移图第二次合并示意图;
图9为本发明实施例中失败的初始转移图第三次合并示意图;
图10为本发明实施例中测试用例生成方法示意图;
图11为本发明实施例中一种批量测试用例生成装置的示意图;
图12为本发明实施例中一种计算机设备的示意图。
附图符号说明:
101、图表处理器;
102、状态表达器;
103、用例生成器;
1101、获取单元;
1102、表达式生成单元;
1103、用例生成单元;
1202、计算机设备;
1204、处理器;
1206、存储器;
1208、驱动机构;
1210、输入/输出模块;
1212、输入设备;
1214、输出设备;
1216、呈现设备;
1218、图形用户接口;
1220、网络接口;
1222、通信链路;
1224、通信总线。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
如图1所示一种批量测试用例生成方法,包括图表处理器101、状态表达器102和用例生成器103。
图表处理器101,用于存储测试人员预设的各种业务场景,并根据各种业务场景生成一张业务场景表,如表1业务场景表所示。
表1业务场景表
状态表达器102,用于根据业务场景表生成状态表达式。以表1举例说明,左侧字母A-T是状态转移关系,最上侧的一行中开始状态、第一状态、第二状态和第三状态表示状态转移关系的发送者,即例如当开始状态发送某个状态转移关系到第一状态时,第一状态可以根据开始状态发送的状态转移关系迁移到其他的状态,如表1中可知当第一状态接收到开始状态发送的状态转移关系A时,第一状态可以生成状态转移关系C和D,并分别迁移到第二状态和第三状态,此时第二状态的状态转移关系迁移到E且指向结束状态,到转态转移关系结束状态时,通过结束状态的执行结果,例如成功或者失败,可以得到两种不同的状态转移关系,即成功的状态转移关系和失败的状态转移关系。
如图2所示成功和失败的状态转移关系图,同样的,其余状态(第二状态和第三状态)都可以根据上述方法得到指向结束状态的一系列状态转移关系。
用例生成器103,用于根据图2中的状态转移关系生成测试用例,测试人员根据状态转移关系可以生成若干测试用例,例如根据图2中,开始到结束失败的状态转移关系举例,可以由开始状态经由状态转移关系B到第二状态,再由第二状态经由状态转移关系E到结束状态,此时生成测试用例BE,该测试用例BE即表征了事件由开始到结束的一个过程。
上述的业务场景表较为简单,且状态转移图中所有的过程也可以遍历得到,然而当状态较多,且状态转移的过程较为复杂时,通过人工去遍历状态转移图就可能无法实现,或者在实现过程中出现覆盖不全面的问题,导致测试覆盖率低,且效率无法达到测试要求。
因此本文提供了一种批量测试用例生成方法,可以解决通过状态转移图进行测试用例的过程中,出现测试用例覆盖不全面,且测试用例生成效率低下的问题,如图3所示一种批量测试用例生成方法的示意图,包括:
步骤301、获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系。
步骤302、在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系。
步骤303、根据所述简化表达式生成测试用例。
通过降低状态的数量,将状态合并,得到简化状态状态图以编写测试用例,可以实现全面的且效率较高的生成测试用例。
作为本文的一个实施例,状态转移图的获取过程包括:
根据所述测试业务场景表生成初始转移图,其中所述初始转移图包括状态转移关系指向结束状态时,出现成功和失败的两种初始转移图;
根据两种状态转移关系,生成两种状态转移关系图。
在本步骤中,因为在执行测试用例时,可能会出现成功或者失败,所以根据事件的执行情况(成功或失败)生成业务场景表,对应业务场景表的初始转移图包括两类,即状态转移关系指向结束状态时,出现失败的初始转移图,以及状态转移关系指向结束状态时,出现成功的初始转移图。
作为本文的一个实施例,所述在所述状态转移图中去除一个或多个状态以生成简化表达式,包括:
在所述状态转移图中,将除结束状态与开始状态外的状态合并,每次合并时重新确定状态之间的状态转移关系;
将所述结束状态与所述开始状态之间的状态转移关系作为所述简化表达式。
在步骤中,为了简化状态转移图,便于测试用例的生成,降低生成测试用例的复杂性,可以将状态转移图中的转态逐次合并。
作为本文的一个实施例,所述在所述状态转移图中,将除结束状态与开始状态外的状态合并,包括:
在所述状态转移图中,筛选出与所述结束状态最近且相连的状态;
将与筛选出的状态相关的状态转移关系进行合并。
为了方便说明,且为了更加符合测试人员逻辑推导的过程,可以选择从结束状态到开始状态的方向将状态向开始状态的方向合并。
如图4所示成功的初始转移图第一次合并示意图,将第三状态合并至第二状态,其中,状态转移关系T为出现成功的状态转移关系,状态转移关系E和状态转移关系H为出现失败的状态转移关系,因此在图3过渡到图4的过程中,保留状态转移关系T,删除状态转移关系E和状态转移关系H,然后将状态转移关系T和状态转移关系G进行合并,得到状态转移关系GT,将状态转移关系D和状态转移关系T进行合并,得到状态转移关系DT,其他状态和状态转移关系保持不变。
如图5所示成功的初始转移图第二次合并示意图,此时在成功的状态转移图中,还存在开始状态、第一状态、第二状态和结束状态,将第二状态合并至第一状态中,因此状态转移关系C和状态转移关系F为循环结构,得到状态转移关系CF,将第一状态和第二状态合并后,因状态转移关系的发出状态为第一状态,所以此时状态转移关系C与状态转移关系GT,和状态转移关系DT为并列的状态转移关系,状态转移关系B的发出状态为开始状态,状态转移关系B的接收状态为第二状态,第二状态经过状态转移关系GT指向结束状态,所以可以将状态转移关系B和状态转移关系GT合并为状态转移关系BGT,在合并时,因为状态转移关系A和状态转移关系F都指向第一状态,所以可以状态转移关系A和状态转移关系BF为并列的状态转移关系。
如图6所示成功的初始转移图第三次合并示意图,此时在成功的状态转移图中,还存在第一状态,其中,可以将并列的状态(状态转移关系A和状态转移关系BF),和并列的状态(所以此时状态转移关系C与状态转移关系GT,和状态转移关系DT)进行合并,得到与状态转移关系BGT并列的新的状态转移关系,由此将第一状态简化掉,在状态转移图中,仅剩开始状态和结束状态。
为了方便说明,可以将并列的状态利用并列关系进行并列说明,将合并后的状态转移关系利用聚合关系进行说明,得到简化表达式,(BGT)|(A|(BF)(CF)*D|(CG)T),其中,(CF)*表示测试用例中可以省略的转态转移关系,需要说明的,后续中带有“*”的状态转移关系在测试用例的生成中可以省略,其对于测试用例的执行过程不具有影响,(BGT)中的B、G和T为共同作为聚合关系,与(A|(BF)(CF)*D|(CG)T)作为并列关系,在(A|(BF)(CF)*D|(CG)T)中,还可以分为A与(BF)作为并列关系,B和F作为聚合关系,D与(CG)作为并列关系,C和G作为聚合关系。
如图7所示失败的初始转移图第一次合并示意图,将第三状态合并至第二状态,其中,状态转移关系E和H为出现失败的状态转移关系,因此在图3过渡到图7的过程中,保留状态转移关系E和H,删除状态转移关系T,然后将状态转移关系G和状态转移关系H进行合并,得到状态转移关系GH,将状态转移关系D和状态转移关系H进行合并,得到状态转移关系DH,其他状态和状态转移关系保持不变。
如图8所示失败的初始转移图第二次合并示意图,此时在失败的状态转移图中,还存在开始状态、第一状态、第二状态和结束状态,将第二状态合并至第一状态中,因此状态转移关系C和状态转移关系F为循环结构,得到状态转移关系CF,将第一状态和第二状态合并后,因状态转移关系的发出者为第一状态,所以此时状态转移关系C与状态转移关系E,状态转移关系C与状态转移关系GH,和状态转移关系DH为并列的状态转移关系,状态转移关系B的发出者为开始状态,状态转移关系B的接收状态为第二状态,第二状态经过状态转移关系E和状态转移关系GH指向结束状态,所以可以将状态转移关系C和状态转移关系E合并为状态转移关系CE,还可以将状态转移关系C和状态转移关系GH合并为状态转移关系CGH,因为合并后,状态转移关系B由第二状态迁移到第一状态,所以可以将状态转移关系B与状态转移关系E合并为转态转移关系BE,还可以将状态转移关系B与状态转移关系GH合并为状态转移关系BGH。在合并时,因为状态转移关系A和状态转移关系BF都指向第一状态,所以可以状态转移关系A和状态转移关系BF为并列的状态转移关系。
如图9所示失败的初始转移图第三次合并示意图,此时在失败的状态转移图中,还存在第一状态,其中,可以将并列的状态(状态转移关系A和状态转移关系BF),和并列的状态(所以此时状态转移关系DH,状态转移关系CE,和状态转移关系CGH进行合并,得到与状态转移关系BE和状态转移关系BGH并列的新的状态转移关系,由此将第一状态简化掉,在状态转移图中,仅剩开始状态和结束状态。
为了方便说明,可以将并列的状态利用并列关系进行并列说明,将合并后的状态转移关系利用聚合关系进行说明,得到简化表达式,(A|(BF)(CF)*(DH)|(C(E|(GH))))|(B(E|(GH))),其中,(CF)*表示循环的转态转移关系,A与(BF)作为并列关系,其中,(BF)中的B和F作为聚合关系,状态转移关系(DH)与状态转移关系(CE)为并列关系,状态转移关系(DH)与状态转移关系(CGH)为并列关系,状态转移关系(A|(BF)(CF)*(DH)|(C(E|(GH))))其中的若干聚合关系进行排列组合,可以与(B(E|(GH)))中的若干聚合关系排列组合为并列关系,在(B(E|(GH)))中,(BE)与(BGH)为并列关系。
作为本文的一个实施例,所述简化表达式中所述并列关系用并列符号表示,所述聚合关系用聚合符号表示;
所述根据所述简化表达式生成测试用例,包括:
遍历所述简化表达式,根据所述并列符号及聚合符号将所述简化表达式拆分为并列的至少两个简化子表达式;
将所述简化子表达式进行拆分,生成若干测试用例。
在本步骤中,并列符号为“|”,聚合符号为“()”。
以成功的状态转移图对应的简化表达式(BGT)|(A|(BF)(CF)*D|(CG)T)为例说明,可以将该简化表达式根据并列符号拆分为简化子表达式(BGT)和简化子表达式(A|(BF)(CF)*D|(CG)T),此时一个简化表达式至少可以生成两个简化子表达式,测试人员仅需要根据简化子表达式中的状态转移关系组成进行测试用例的执行,即可完成测试。
需要说明的是,在简化子表达式(A|(BF)(CF)*D|(CG)T)还存在并列符号,此时需要进行拆分,得到不存在并列符号的简化子表达式。
以失败的状态转移图对应的简化表达式(A|(BF)(CF)*(DH)|(C(E|(GH))))|(B(E|(GH)))为例说明,可以将该简化表达式根据并列符号拆分为简化子表达式(A|(BF)(CF)*(DH)|(C(E|(GH))))和简化子表达式(B(E|(GH))),此时一个简化表达式至少可以生成两个简化子表达式,测试人员仅需要根据简化子表达式中的状态转移关系组成进行测试用例的执行,即可完成测试。
需要说明的是,在简化子表达式(A|(BF)(CF)*(DH)|(C(E|(GH))))和简化子表达式(B(E|(GH)))还存在并列符号,此时需要进行拆分,得到不存在并列符号的简化子表达式。
如图10所示测试用例生成方法示意图,作为本文的一个实施例,所述将所述简化子表达式进行拆分,生成若干测试用例,包括:
S1,在所述简化子表达式中遍历并列符号。
S2,当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,返回并继续执行步骤S1。
S3,若未遍历到所述并列符号,则根据最后生成的简化子表达式,生成所述若干测试用例。
为了方便说明,本文实施例将S2进行详细描述,作为本文的一个实施例,所述当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,包括:
将所述简化子表达式内的第一个并列符号的左右两侧的所述聚合符号拆分;
将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
在本步骤中,为了将状态转移关系中的并列符号简化,需要遍历简化子表达式,例如由左到右遍历简化子表达式(A|(BF)(CF)*D|(CG)T)中的并列符号,将A|(BF)中的并列符号简化,分别得到并列的两个状态转移关系A和(BF),更新一次简化子表达式,然后再次进行遍历,当又一次遍历到并列符号时,将D|(CG)中的并列符号简化,分别得到并列的两个状态转移关系D和(CG)。
还例如由左到右遍历简化子表达式(A|(BF)(CF)*(DH)|(C(E|(GH))))中的并列符号,将A|(BF)中的并列符号简化,分别得到并列的两个状态转移关系A和(BF),更新一次简化子表达式,然后再次进行遍历,当又一次遍历到并列符号时,将(DH)|(C(E|(GH)))中的并列符号简化,分别得到并列的两个状态转移关系(DH)和(C(E|(GH))),再将(C(E|(GH)))中的并列符号简化,分别得到并列的两个状态转移关系(CE)和(CGH)。
作为本文的一个实施例,所述将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,包括:
确定所述简化子表达式中所述状态转移关系、所述并列关系和所述聚合关系之间的序列关系;
所述拆分后的聚合符号,根据所述序列关系,分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
在本步骤中,可以将(A|(BF)(CF)*D|(CG)T)拆分为测试用例A(CF)*DT、(BF)(CF)*DT、(BF)(CF)*DT和(BF)(CF)*D(CG)。
还可以将简化子表达式(A|(BF)(CF)*(DH)|(C(E|(GH))))拆分为测试用例A(CF)*(DH)、A(CF)*CE、A(CF)*(DH)CGH、(BF)(CF)*(DH)、(BF)(CF)*CE、(BF)(CF)*(DH)CGH。
还可以将简化子表达式(B(E|(GH)))拆分为测试用例(BE)和(BGH)。
如图11所示本发明实施例中还提供了一种批量测试用例生成装置的示意图,如下面的实施例所述。由于该装置解决问题的原理与一种批量测试用例生成方法相似,因此该装置的实施可以参见一种批量测试用例生成方法是的实施,重复之处不再赘述,所述装置包括:
获取单元1101,用于获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系。
表达式生成单元1102,用于在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系。
用例生成单元1103,用于根据所述简化表达式生成测试用例。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种批量测试用例生成方法。
如图12所示,为本文实施例提供的一种计算机设备,所述计算机设备1202可以包括一个或多个处理器1204,诸如一个或多个中央处理单元(CPU),每个处理单元可以实现一个或多个硬件线程。计算机设备1202还可以包括任何存储器1206,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器1206可以包括以下任一项或多种组合:任何类型的RAM,任何类型的ROM,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备1202的固定或可移除部件。在一种情况下,当处理器1204执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备1202可以执行相关联指令的任一操作。计算机设备1202还包括用于与任何存储器交互的一个或多个驱动机构1208,诸如硬盘驱动机构、光盘驱动机构等。
计算机设备1202还可以包括输入/输出模块1210(I/O),其用于接收各种输入(经由输入设备1212)和用于提供各种输出(经由输出设备1214))。一个具体输出机构可以包括呈现设备1216和相关联的图形用户接口(GUI)1218。在其他实施例中,还可以不包括输入/输出模块1210(I/O)、输入设备1212以及输出设备1214,仅作为网络中的一台计算机设备。计算机设备1202还可以包括一个或多个网络接口1220,其用于经由一个或多个通信链路1222与其他设备交换数据。一个或多个通信总线1224将上文所描述的部件耦合在一起。
通信链路1222可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路1222可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种批量测试用例生成方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种批量测试用例生成方法,其特征在于,包括:
获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系;
在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系;
根据所述简化表达式生成测试用例。
2.如权利要求1所述的批量测试用例生成方法,其特征在于,获取状态转移图包括:
根据所述测试业务场景表生成初始转移图,其中所述初始转移图包括状态转移关系指向结束状态时,出现成功和失败的两种状态转移关系;
根据两种状态转移关系,生成两种状态转移关系图。
3.如权利要求1所述的批量测试用例生成方法,其特征在于,所述在所述状态转移图中去除一个或多个状态以生成简化表达式,包括:
在所述状态转移图中,将除结束状态与开始状态外的状态合并,每次合并时重新确定状态之间的状态转移关系;
将所述结束状态与所述开始状态之间的状态转移关系作为所述简化表达式。
4.如权利要求2所述的批量测试用例生成方法,其特征在于,所述在所述状态转移图中,将除结束状态与开始状态外的状态合并,包括:
在所述状态转移图中,筛选出与所述结束状态最近且相连的状态;
将与筛选出的状态相关的状态转移关系进行合并。
5.如权利要求1所述的批量测试用例生成方法,其特征在于,所述简化表达式中所述并列关系用并列符号表示,所述聚合关系用聚合符号表示;
所述根据所述简化表达式生成测试用例,包括:
遍历所述简化表达式,根据所述并列符号及聚合符号将所述简化表达式拆分为并列的至少两个简化子表达式;
将所述简化子表达式进行拆分,生成若干测试用例。
6.如权利要求5所述的批量测试用例生成方法,其特征在于,所述将所述简化子表达式进行拆分,生成若干测试用例,包括:
S1,在所述简化子表达式中遍历并列符号;
S2,当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,返回并继续执行步骤S1;
S3,若未遍历到所述并列符号,则根据最后生成的简化子表达式,生成所述若干测试用例。
7.如权利要求6所述的批量测试用例生成方法,其特征在于,所述当遍历到第一个并列符号时,将所述简化子表达式进行拆分,得到更新后的简化子表达式,包括:
将所述简化子表达式内的第一个并列符号的左右两侧的所述聚合符号拆分;
将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
8.如权利要求7所述的批量测试用例生成方法,其特征在于,所述将拆分后的所述聚合符号分别与其余的状态转移关系、并列关系和聚合关系组合,包括:
确定所述简化子表达式中所述状态转移关系、所述并列关系和所述聚合关系之间的序列关系;
所述拆分后的聚合符号,根据所述序列关系,分别与其余的状态转移关系、并列关系和聚合关系组合,作为更新的简化子表达式。
9.一种批量测试用例生成装置,其特征在于,包括:
获取单元,用于获取状态转移图,其中,所述状态转移图根据预设的测试业务场景表得到,所述状态转移图包括若干状态与所述状态之间的状态转移关系;
表达式生成单元,用于在所述状态转移图中去除一个或多个状态以生成简化表达式,其中所述简化表达式包括状态转移关系、并列关系和聚合关系;
用例生成单元,用于根据所述简化表达式生成测试用例。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210452433.5A CN114780414A (zh) | 2022-04-27 | 2022-04-27 | 一种批量测试用例生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210452433.5A CN114780414A (zh) | 2022-04-27 | 2022-04-27 | 一种批量测试用例生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114780414A true CN114780414A (zh) | 2022-07-22 |
Family
ID=82432359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210452433.5A Pending CN114780414A (zh) | 2022-04-27 | 2022-04-27 | 一种批量测试用例生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076331A (zh) * | 2023-10-13 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 测试剧本生成方法、装置、电子设备及存储介质 |
-
2022
- 2022-04-27 CN CN202210452433.5A patent/CN114780414A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076331A (zh) * | 2023-10-13 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 测试剧本生成方法、装置、电子设备及存储介质 |
CN117076331B (zh) * | 2023-10-13 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 测试剧本生成方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569305B (zh) | 区块同步方法、装置、介质和计算设备 | |
US9367301B1 (en) | Dynamic update of a distributed message processing system | |
Ji et al. | ispan: Parallel identification of strongly connected components with spanning trees | |
US11003666B2 (en) | Filter optimizer for data streams | |
CN110233802B (zh) | 一种构建一主链多侧链的区块链架构的方法 | |
US20140067360A1 (en) | System And Method For On-Demand Simulation Based Learning For Automation Framework | |
CN110597655B (zh) | 迁移和基于纠删码的重构相耦合快速预知修复方法及装置 | |
US8214245B2 (en) | Method and system for synchronizing inclusive decision branches | |
CN114780414A (zh) | 一种批量测试用例生成方法、装置、设备及存储介质 | |
CN111625592A (zh) | 分布式数据库的负载均衡方法和装置 | |
CN108337163B (zh) | 用于汇聚链路的方法和装置 | |
CN112785408A (zh) | 基于哈希的对账方法及装置 | |
CN111158680A (zh) | 一种页面构建的方法、装置、设备及存储介质 | |
CN110362394B (zh) | 任务处理方法及装置、存储介质、电子装置 | |
CN115022210A (zh) | 一种网络流量预测模型的构建方法、预测方法及装置 | |
US8201184B2 (en) | Systems and methods for parallelizing grid computer environment tasks | |
CN114519006A (zh) | 测试方法、装置、设备以及存储介质 | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
CN109828759A (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
US20240004966A1 (en) | Onboarding of Monitoring Tools | |
CN110991983B (zh) | 一种任务处理方法、装置、介质和设备 | |
US10761940B2 (en) | Method, device and program product for reducing data recovery time of storage system | |
CN109947645A (zh) | 自动化配置工具方法及系统 | |
US3579194A (en) | Process for determining the simple cycles of a finite directed graph | |
CN111431951A (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 |