CN114443493A - 一种测试案例生成方法、装置、电子设备和存储介质 - Google Patents

一种测试案例生成方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114443493A
CN114443493A CN202210112968.8A CN202210112968A CN114443493A CN 114443493 A CN114443493 A CN 114443493A CN 202210112968 A CN202210112968 A CN 202210112968A CN 114443493 A CN114443493 A CN 114443493A
Authority
CN
China
Prior art keywords
test case
business
business rule
rule base
operation flow
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
Application number
CN202210112968.8A
Other languages
English (en)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210112968.8A priority Critical patent/CN114443493A/zh
Publication of CN114443493A publication Critical patent/CN114443493A/zh
Pending legal-status Critical Current

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
    • 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/3696Methods or tools to render software testable

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

一种测试案例生成方法、装置、电子设备和存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种测试案例生成方法、装置、电子设备和存储介质。
背景技术
软件测试是使用人工或自动手段来测定软件系统功能的过程,软件测试的目的在于检验软件功能是否满足规定的需求,发现软件系统的错误,软件设计是否符合要求等,软件测试的基本方法主要有静态测试、动态测试、功能测试、性能测试、黑盒测试以及白盒测试等。在软件测试领域,测试需求分析和案例编写是功能测试的关键环节,关乎测试工作的质量的优劣,这直接影响软件功能的健全。目前业务测试案例编写主要依赖于人工,测试人员基于需求说明书或需求规格说明书进行业务场景和规则分析,并按照分析结果手工编写测试案例。这种方法导致测试案例的规范性差,测试案例的质量残次不齐,测试案例难以复用等问题。
发明内容
本发明提供了一种测试案例生成方法,以解决测试案例生成质量不稳定,测试案例复用难的问题,可提高测试案例生成效率,增强测试案例的标准化程度,可提高软件测试质量。
根据本发明的一方面,提供了一种测试案例生成方法,其中,该方法包括:
根据业务视图内各组成节点的输入要素和操作原子构成业务规则库;
根据业务视图内各所述组成节点的执行顺序确定操作流程集;
基于所述业务规则库和所述操作流程集的关联关系生成测试案例。
根据本发明的一方面,提供了一种测试案例生成装置,其中,该装置包括:
规则确定模块,用于根据业务视图内各组成节点的输入要素和操作原子构成业务规则库;
流程确定模块,用于根据业务视图内各所述组成节点的执行顺序确定操作流程集;
案例生成模块,用于基于所述业务规则库和所述操作流程集的关联关系生成测试案例。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的测试案例生成方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的测试案例生成方法。
本发明实施例的技术方案,通过业务视图的组成节点获取输入元素和操作原子构成业务规则库,基于业务视图各组成节点的执行顺序确定操作流程集,根据业务规则库和操作流程集间的关联关系生成测试案例,可实现测试案例的自动化生成,提高测试案例的覆盖程度,解决测试案例复用难的问题,可提高测试案例生成效率,增强测试案例的标准化程度,可提升软件测试质量。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种测试案例生成方法的流程图;
图2是根据本发明实施例二提供的一种测试案例生成方法的流程图;
图3是根据本发明实施例三提供的一种测试案例生成装置的结构示意图;
图4是实现本发明实施例的测试案例生成方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种测试案例生成方法的流程图,本实施例可适用于软件测试案例自动化生成的情况,该方法可以由测试案例生成装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可配置于服务器或设备终端中。如图1所示,该方法包括:
步骤110、根据业务视图内各组成节点的输入要素和操作原子构成业务规则库。
其中,业务视图可以是根据软件系统的需求说明书或者需求规格说明书生成的可视化有向节点图,业务视图中每个组成节点可以对应软件系统中的一个功能点,输入要素可以是功能点中需要输入的信息,操作原子可以是在功能点处执行的操作功能。
在本发明实施例中,可以预先基于软件系统的需求说明说或者需求规格说明书生成业务视图,生成业务视图的方法在此不作限制,可以包括自动化生成或者人工生成。具体的,针对业务视图可以依次对组成节点进行扫描提取到对应的组成节点关联的输入要素和操作原子,可以将输入要素以及操作原子组成业务规则存储到业务规则库中,其中,业务规则可以包括输入要素的不同种类以及操作原子之间的执行顺序要求等,业务规则可以自动化生成或者由测试人员配置。
步骤120、根据业务视图内各组成节点的执行顺序确定操作流程集。
其中,执行顺序可以是指为完成业务需求各组成节点对应的软件功能的先后执行次序,执行顺序可以由不同的组成节点构成,例如,执行顺序可以为一个有序序列,该有序列中各组成节点的先后排列顺序可以表示对应的软件功能的执行顺序。操作流程集可以是包括一个或多个操作流程的集合,操作流程集可以矩阵或者向量的形式存储。
具体的,可以业务视图的中连接各组成节点的连线方向确定出各组成节点分别在不同连线上的执行顺序,可以将业务视图的不同连线作为软件系统的不同业务操作流程,将不同连线上各组成节点按照各自的先后执行顺序排列为操作流程并存储到操作流程集。
步骤130、基于业务规则库和操作流程集的关联关系生成测试案例。
其中,关联关系可以是指业务规则库中业务规则与操作流程集中操作流程的是否具有关联的关系,例如,若业务规则中的操作原子属于操作流程集中操作流程的组成元素,则,该操作原子与该操作流程具有关联关系。
在本发明实施例中,可以依次遍历业务规则库中的业务规则和操作流程集中的操作流程,通过判断各业务规则是否与各操作流程是否存在联系的方式建立关联关系,在确定业务规则库和操作流程集的关联关系后,按照具有关联关系的业务规则和操作流程生成一个或多个测试案例,该测试案例中可以通过业务规则和操作流程生成对应的测试内容,例如,针对业务规则确定测试方式和测试用例,针对操作流程确定各测试方式和测试用户的测试流程。
本发明实施例,通过业务视图的组成节点获取输入元素和操作原子构成业务规则库,基于业务视图各组成节点的执行顺序确定操作流程集,根据业务规则库和操作流程集间的关联关系生成测试案例,可实现测试案例的自动化生成,提高测试案例的覆盖程度,解决测试案例复用难的问题,可提高测试案例生成效率,增强测试案例的标准化程度,可提升软件测试质量。
实施例二
图2是根据本发明实施例二提供的一种测试案例生成方法的流程图,本实施例与上述实施例具体化,通过以关联矩阵的方式标识业务规则库和操作流程集间的关联关系,可进一步增强测试案例的覆盖程度。如图2所示,该方法包括:
步骤210、遍历业务视图内的组成节点,针对各组成节点提取输入要素和操作原子。
在本发明实施例中,可以对业务视图进行遍历,该遍历的方式可以包括深度遍历或者广度遍历等,针对业务视图中访问到的组成节点,可以在软需求说明书或需求规格说明书提取该组成节点对应软件功能的输入要素和操作原子等信息,进一步的,可以将提取到的输入要素和操作原子进行暂存。
步骤220、确定输入要素和操作原子匹配的预设业务规则模板。
其中,预设业务规则模板可以是针对不同系统软件业务设计的规则模板,预设业务规则模板中可以包括输入要素以及操作原子的在不同业务场景下的要求,可以包括单个操作原子的要求以及不同操作原子之间组合使用的要求等。
在本发明实施例中,在提取到输入要素以及操作原子后,可以使用输入元素或操作原子的唯一标识信息在预设业务规则模板中进行匹配,确定对输入元素和操作原子进行规范的预设业务规则模板,预设业务规则模板中可以包括一条或多个对应输入要素或者操作原子的进行规划的约束条件,如,针对银行业务,查询操作不能在登录操作之前进行。
步骤230、将输入要素和操作原子填充到预设业务规则模板并将填充后的预设业务规则模板作为业务规则存储到业务规则库。
具体的,可以将输入要素以及操作原子填充到预设业务规则模板中的对应位置,该预设业务规则模板可以表格数据或者文件数据的形式存在,可以将经过填充有输入要素以及操作原子的预设业务规则模板作为业务规则,可以将业务规则存储到业务规则库。
步骤240、对业务视图按照组成节点的执行顺序连接依次深度遍历各组成节点。
在本发明实施例中,可以按照业务视图中不同组成节点的执行顺序可以业务视图中的有向连线表示,可以针对业务视图的一条或多条有向连线依次对有向连线上的一个或多个组成节点进行深度遍历,也即访问完成一条有向连线上所有的组成节点后,再访问其他有向连线上的组成节点。
步骤250、将每次深度遍历过程中各组成节点提取到的操作原子作为一组操作流程存储到操作流程集。
具体的,可以在对业务视图中组成节点进行深度遍历的过程中,可以提取一条有向连线上的各组成节点的操作原子并按照执行顺序将各操作原子组成的有序序列作为一组操作流程,可以理解的是,业务视图中有向连线的数量可以对应操作流程的组数,可以将提取到的操作流程存储到操作流程集。
步骤260、将业务规则库和操作流程集分别作为顶点集和边集以生成分析模型图。
在本发明实施例中,可以将业务规则库中的各业务规则作为顶点集中的顶点,以及将流程操作集中的操作流程作为边集中的边,可以按照操作流程是否与业务规则具有的关联关系依次使用边连接顶点,可以将构成的图像作为分析模型图。
步骤270、确定分析模型图的关联矩阵。
具体的,可以为分析模型图生产关联矩阵,该关联矩阵中可以通过不同的参数取值标识不同类型的关联关系,例如,业务规则1为操作流程a的起点,则关联矩阵中对应位置元素的取值为1,业务规则1与操作流程a不存在关联关系,则关联矩阵中对应位置元素的取值为0。
步骤280、生成关联矩阵对应的有向树,并遍历各有向树以获取至少一条遍历路径。
其中,有向树可以是关联矩阵的最小生成树,生成有向树的方式可以包括克鲁斯卡尔算法、普利姆算法等。遍历路径可以是访问有向树所有节点的访问顺序。
在本发明实施例中,可以针对关联矩阵使用克鲁斯卡尔算法、普利姆算法等生成对应最小生成树作为有向树,可以通过对各有向树的遍历确定出一条或多条遍历路径。
步骤290、确定各遍历路径对应的测试案例。
具体的,针对各遍历路径依次提取遍历路径中的节点对应的业务规则和操作流程,可以将各业务规则和各操作流程组成的测试过程作为测试内容从而生成对应的测试案例,可以理解的是,在为测试案例除测试内容外,还可以包括测试案例的唯一标识号。
步骤2100、生成各测试案例的标签信息,并按照各标签信息剔除重复的测试案例。
其中,标签信息可以是针对测试案例生成的唯一标识信息,该唯一标识信息可以通过MD5算法或者哈希算法对测试案例的测试内容进行处理生成。
在本发明实施例中,可以为各测试案例生成标签信息,可以通过对标签信息的比较确定各测试案例中是否存在重复的冗余案例,针对重复的测试案例可以采取删除其余冗余的测试案例方式保留唯一的测试案例。
本发明实施例,通过遍历业务视图中组成节点并提取各组成节点的输入要素和操作原子,确定匹配输入要素和操作原子的预设业务规则模板,将输入要素和操作原子填充到预设业务规则模板中作为业务规则存储到业务规则库,按照业务视图的执行顺序依次深度遍历各组成节点,在每次深度遍历过程中将各组成节点提取到的操作原子作为一组操作流程存储到操作流程集,将业务规则库和操作流程集分别作为顶点集和边集构成分析模型图,确定该分析模型图的关联矩阵,确定关联矩阵的有向树,在有向树中确定遍历路径,基于遍历路径生成对应的测试案例,可实现测试案例的自动化生成,提高测试案例的覆盖程度,解决测试案例复用难的问题,可提高测试案例生成效率,增强测试案例的标准化程度,可提升软件测试质量。
进一步的,在上述发明实施例的基础上,关联矩阵的关联关系至少包括:
所述业务规则库内业务规则为所述操作流程集内操作流程的起点;所述业务规则库内业务规则为所述操作流程集内操作流程的终点;所述业务规则库内业务规则与所述操作流程集内操作流程不关联。
在本发明实施例中,关联矩阵的关联关系可以包括某条业务规则为某个操作流程的起点、某个业务规则为某个操作流程的终点以及某个业务规则与某个操作流程无关联,在关联矩阵中可以通过不同的取值表示上述不同的关联关系,例如,R(G)={γ1,γ2,……,γm}表示业务规则库,P(G)={ρ1,ρ1,……ρn}表示操作流程集,关联矩阵中某个元素bij可以定义如下:
Figure BDA0003495390280000091
进一步的,在上述发明实施例的基础上,生成所述关联矩阵对应的有向树,并遍历各所述有向树以获取至少一条遍历路径,包括:
以关联矩阵的起点为正方向生成至少一条正向有向树;遍历正向有向树以获取至少一条正向路径;以关联矩阵的终点为正方向生成至少一条反向有向树;遍历反向有向树以获取至少一条反向路径。
在本发明实施例中,在关联矩阵包括起点和终点的关联关系时,可以起点为正方向生成正向有向树,对正向有向树进行遍历,从而获取到一条或多条正向路径,该正向路径可以用于确定正常的测试案例,然后以终点为正方向生成反向有向树,对反向有向树进行遍历确定出一条或多条反向路径,可以通过反向路径,该反向路径也可用于确定反向测试案例,进一步的,可以理解的是,在确定反向测试案例后,可以使用对各反向路径中各节点的业务规则再次进行验证,可以将其中属于无效业务规则或者错误业务规则的反向路径删除。
在一个示例性的实施方式中,提供了一种测试案例生成方法,该方法包括:
1、对业务视图每个节点进行业务等价类分析,对业务视图中每个节点进行业务等价类分析,确定输入要素以及可能的等价类划分,建立业务规则库集合R。业务规则库涵盖了测试覆盖要素的枚举关系,同时考虑到业务规则的关联性,单个业务规则间可组合生成组合业务规则。
2、对业务视图操作流程进行测试分析建模,对于一个交易流程,从流程的起始输入项开始,采用操作流程图的方式对交易事务功能进行建模,生成测试分析模型图G(R,P),其中R为业务规则库集合,P为操作流程流程集合,G(R,P)描述交易操作过程中的业务规则的操作步骤和操作逻辑关系。操作步骤的每一个输入项,都可以在业务规则库中选择合适的单业务规则或组合业务规则。将操作步骤和业务规则关联起来,即完成测试分析模型。
将生成的规则有向图G的规则顶点集设为R(G)={γ1,γ2,……,γm},操作关系集为P(G)={ρ1,ρ1,……ρn},有向图G的关联矩阵为B(G)=(bij)m×n,其中m为业务规则集节点总数,n为操作逻辑关系集合数,bij定义如下:
Figure BDA0003495390280000101
根据生成G的关联矩阵B,易知
Figure BDA0003495390280000102
当Bi中对应的边构成树时,Bi=±1,否则Bi=0,故可以通过测试分析模型有向图构成业务流程树的个数是N=|B||BT|。
3、测试案例自动化生成
测试分析模型中各个业务等价类记录了每个业务视图节点的详细信息,操作流程中包含了业务流程的顺序性、路径关系以及各业务规则的关联关系。测试案例的自动化生成则依赖这些信息自动化生成案例。具体的生成方法如下:
3.1正常案例生成方法
步骤1:根据生成的有向树,获取操作流程步骤的路径总数N。
步骤2:按照遍历的流程路径,枚举每个业务规则的有效等价类,组合产生正向案例集合。每个路径的正向案例数量与该路径有效等价类的最大数量相同。
CPi=MAX[有效等价类(规则1),有效等价类(规则2),……,有效等价类(规则n)]
步骤3:汇总所有路径上的正向案例
每条路径上都有一组正向案例,数量分别为CP1,……CPN,最终总正向案例总数为
Figure BDA0003495390280000111
正向案例的集合为
Figure BDA0003495390280000112
3.2反向案例生成方法
步骤1:根据生成的有向树,获取操作流程步骤的路径总数N。
步骤2:每次选择一个无效等价类,其他业务规则匹配有效等价类,组合产生反向案例,生成的案例总数中每个业务规则权重依次为ω1,ω2……,ωn,ω等于每个业务规则有效案例的数量占流程中总有效案例数的比例。每一路径中反向案例数量与其无效等价类的数量的和相同。
CRi=SUM[无效等价类(规则1),无效等价类(规则2),……,无效等价类(规则n)]
步骤3:汇总所有路径上的反向案例。每条路径上,都有一组反向案例,分别是数量分别为CR1,CR2,……CRN,最终总反向案例总数为
Figure BDA0003495390280000113
反向案例的集合为
Figure BDA0003495390280000114
3.3多分支流程图案例去冗余
步骤1:构建{案例标识---案例内容}字典;
步骤2:遍历所有已生成案例的对象集合,剔除掉案例标识ID等唯一性标识信息后,生成每条案例信息的标签信息;
步骤3:对案例的标签信息生成MD5操作,判断字典中是否包含该案例的MD5信息,若未包含则增加到字典中,若有,则剔除此案例。
3.4界面检查案例生成算法
遍历流程图中的节点,检查每个节点是否配置了界面检查规则,只有配置界面检查规则的节点才会生成界面检查案例,每个节点将生成一个界面检查案例。
实施例三
图3是根据本发明实施例三提供的一种测试案例生成装置的结构示意图。如图3所示,该装置包括:规则确定模块301、流程确定模块302和案例生成模块303。
规则确定模块301,用于根据业务视图内各组成节点的输入要素和操作原子构成业务规则库。
流程确定模块302,用于根据业务视图内各所述组成节点的执行顺序确定操作流程集。
案例生成模块303,用于基于所述业务规则库和所述操作流程集的关联关系生成测试案例。
本发明实施例,通过规则确定模块在业务视图的组成节点获取输入元素和操作原子构成业务规则库,流程确定模块基于业务视图各组成节点的执行顺序确定操作流程集,案例生成模块根据业务规则库和操作流程集间的关联关系生成测试案例,可实现测试案例的自动化生成,提高测试案例的覆盖程度,解决测试案例复用难的问题,可提高测试案例生成效率,增强测试案例的标准化程度,可提升软件测试质量。
进一步的,在上述发明实施例的基础上,规则确定模块301包括:
要素提取单元,用于遍历所述业务视图内的组成节点,针对各所述组成节点提取所述输入要素和所述操作原子。
模板确定单元,用于确定所述输入要素和所述操作原子的匹配的预设业务规则模板,其中,所述预设业务规则模板包括所述输入要素或所述操作原子的匹配条件。
规则存储单元,用于将所述输入要素和所述操作原子填充到所述预设业务规则模板并将填充后的所述预设业务规则模板作为业务规则存储到所述业务规则库。
进一步的,在上述发明实施例的基础上,流程确定模块302包括:
节点遍历单元,用于对所述业务视图按照组成节点的执行顺序连接依次深度遍历各所述组成节点。
操作采集单元,用于将每次所述深度遍历过程中各所述组成节点提取到的所述操作原子作为一组操作流程存储到所述操作流程集。
进一步的,在上述发明实施例的基础上,案例生成模块303包括:
模型图单元,用于将所述业务规则库和所述操作流程集分别作为定点集和边集以生成分析模型图。
矩阵确定单元,用于确定所述分析模型图的关联矩阵。
路径采集单元,用于生成所述关联矩阵对应的有向树,并遍历各所述有向树以获取至少一条遍历路径。
案例生成单元,用于确定各所述遍历路径对应的所述测试案例。
进一步的,在上述发明实施例的基础上,关联矩阵的关联关系至少包括:
所述业务规则库内业务规则为所述操作流程集内操作流程的起点;所述业务规则库内业务规则为所述操作流程集内操作流程的终点;所述业务规则库内业务规则与所述操作流程集内操作流程不关联。
进一步的,在上述发明实施例的基础上,路径采集单元具体用于:以所述关联矩阵的起点为正方向生成至少一条正向有向树;遍历所述正向有向树以获取至少一条正向路径;以所述关联矩阵的终点为正方向生成至少一条反向有向树;遍历所述反向有向树以获取至少一条反向路径。
进一步的,在上述发明实施例的基础上,案例生成单元还包括:标签剔除子单元,用于生成各所述测试案例的标签信息,并按照各所述标签信息剔除重复的所述测试案例。
本发明实施例所提供的测试案例生成装置可执行本发明任意实施例所提供的测试案例生成方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是实现本发明实施例的测试案例生成方法的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如测试案例生成方法。
在一些实施例中,测试案例生成方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的测试案例生成方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行测试案例生成方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种测试案例生成方法,其特征在于,包括:
根据业务视图内各组成节点的输入要素和操作原子构成业务规则库;
根据业务视图内各所述组成节点的执行顺序确定操作流程集;
基于所述业务规则库和所述操作流程集的关联关系生成测试案例。
2.根据权利要求1所述方法,其特征在于,所述根据业务视图内各组成节点的输入要素和操作原子构成业务规则库,包括:
遍历所述业务视图内的组成节点,针对各所述组成节点提取所述输入要素和所述操作原子;
确定所述输入要素和所述操作原子匹配的预设业务规则模板;
将所述输入要素和所述操作原子填充到所述预设业务规则模板并将填充后的所述预设业务规则模板作为业务规则存储到所述业务规则库。
3.根据权利要求1所述方法,其特征在于,所述根据业务视图内各所述组成节点的执行顺序确定操作流程集,包括:
对所述业务视图按照组成节点的执行顺序连接依次深度遍历各所述组成节点;
将每次所述深度遍历过程中各所述组成节点提取到的所述操作原子作为一组操作流程存储到所述操作流程集。
4.根据权利要求1所述方法,其特征在于,所述基于所述业务规则库和所述操作流程集的关联关系生成测试案例,包括:
将所述业务规则库和所述操作流程集分别作为顶点集和边集以生成分析模型图;
确定所述分析模型图的关联矩阵;
生成所述关联矩阵对应的有向树,并遍历各所述有向树以获取至少一条遍历路径;
确定各所述遍历路径对应的所述测试案例。
5.根据权利要求4所述方法,其特征在于,所述关联矩阵的关联关系至少包括:
所述业务规则库内业务规则为所述操作流程集内操作流程的起点;
所述业务规则库内业务规则为所述操作流程集内操作流程的终点;
所述业务规则库内业务规则与所述操作流程集内操作流程不关联。
6.根据权利要求4所述方法,其特征在于,所述生成所述关联矩阵对应的有向树,并遍历各所述有向树以获取至少一条遍历路径,包括:
以所述关联矩阵的起点为正方向生成至少一条正向有向树;
遍历所述正向有向树以获取至少一条正向路径;
以所述关联矩阵的终点为正方向生成至少一条反向有向树;
遍历所述反向有向树以获取至少一条反向路径。
7.根据权利要求4所述方法,其特征在于,所述确定各所述遍历路径对应的所述测试案例之时,还包括:
生成各所述测试案例的标签信息,并按照各所述标签信息剔除重复的所述测试案例。
8.一种测试案例生成装置,其特征在于,包括:
规则确定模块,用于根据业务视图内各组成节点的输入要素和操作原子构成业务规则库;
流程确定模块,用于根据业务视图内各所述组成节点的执行顺序确定操作流程集;
案例生成模块,用于基于所述业务规则库和所述操作流程集的关联关系生成测试案例。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的测试案例生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的测试案例生成方法。
CN202210112968.8A 2022-01-29 2022-01-29 一种测试案例生成方法、装置、电子设备和存储介质 Pending CN114443493A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210112968.8A CN114443493A (zh) 2022-01-29 2022-01-29 一种测试案例生成方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210112968.8A CN114443493A (zh) 2022-01-29 2022-01-29 一种测试案例生成方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114443493A true CN114443493A (zh) 2022-05-06

Family

ID=81371307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210112968.8A Pending CN114443493A (zh) 2022-01-29 2022-01-29 一种测试案例生成方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114443493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290205A (zh) * 2022-10-25 2023-12-26 国家电投集团科学技术研究院有限公司 一种通用核电热工水力软件测试方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290205A (zh) * 2022-10-25 2023-12-26 国家电投集团科学技术研究院有限公司 一种通用核电热工水力软件测试方法及装置
CN117290205B (zh) * 2022-10-25 2024-05-10 国家电投集团科学技术研究院有限公司 一种通用核电热工水力软件测试方法及装置

Similar Documents

Publication Publication Date Title
CN113127357B (zh) 单元测试方法、装置、设备、存储介质及程序产品
CN115840738A (zh) 一种数据迁移方法、装置、电子设备及存储介质
CN117724980A (zh) 软件框架性能的测试方法、装置、电子设备和存储介质
CN114443493A (zh) 一种测试案例生成方法、装置、电子设备和存储介质
CN116975400B (zh) 一种数据分类分级方法、装置、电子设备及存储介质
CN115048352B (zh) 一种日志字段提取方法、装置、设备和存储介质
CN115659347A (zh) 一种安全测试方法、装置、电子设备和存储介质
CN115455091A (zh) 数据生成方法、装置、电子设备和存储介质
CN114443802A (zh) 一种接口文档处理方法、装置、电子设备和存储介质
CN114116688A (zh) 数据处理与数据质检方法、装置及可读存储介质
CN114896418A (zh) 知识图谱构建方法、装置、电子设备及存储介质
CN114444087A (zh) 一种越权漏洞检测方法、装置、电子设备及存储介质
CN115098405B (zh) 软件产品的测评方法、装置、电子设备及存储介质
CN117150215B (zh) 一种考核结果确定方法、装置、电子设备及存储介质
CN115617462A (zh) 一种测试脚本的生成方法、装置、设备及存储介质
CN117667693A (zh) 一种自动化报文测试方法、装置、设备及存储介质
CN115794609A (zh) 一种脚本共享方法、装置、电子设备和存储介质
CN115600819A (zh) 风险评估方法、装置、电子设备及存储介质
CN113962382A (zh) 训练样本的构建方法、装置、电子设备和可读存储介质
CN115617676A (zh) 一种软件测试范围确定方法、装置、电子设备和存储介质
CN117827637A (zh) 自动化测试方法、装置及电子设备
CN118012936A (zh) 一种数据抽取方法、装置、设备及存储介质
CN116150031A (zh) 一种程序性能测试预警方法、装置、设备及存储介质
CN117743396A (zh) 一种数据质量检测方法、装置、设备及存储介质
CN115599681A (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