CN114077534A - 测试用例生成方法、装置和计算机可读存储介质 - Google Patents

测试用例生成方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN114077534A
CN114077534A CN202010798776.8A CN202010798776A CN114077534A CN 114077534 A CN114077534 A CN 114077534A CN 202010798776 A CN202010798776 A CN 202010798776A CN 114077534 A CN114077534 A CN 114077534A
Authority
CN
China
Prior art keywords
test case
node
target
path
verification
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
CN202010798776.8A
Other languages
English (en)
Other versions
CN114077534B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010798776.8A priority Critical patent/CN114077534B/zh
Priority claimed from CN202010798776.8A external-priority patent/CN114077534B/zh
Publication of CN114077534A publication Critical patent/CN114077534A/zh
Application granted granted Critical
Publication of CN114077534B publication Critical patent/CN114077534B/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
    • 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/3688Test 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

测试用例生成方法、装置和计算机可读存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种测试用例生成方法、装置和计算机可读存储介质。
背景技术
测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
在现有的测试用例生成方法中,主要是基于模型的测试(Model based testing,MBT)思路实现,需要对软件产品的需求进行建模,这就要求建模人员对系统有全面的了解并且具备高度抽象能力才能将需求转化为模型,二系统的规模越大实现的成本越高,效率也越低。
发明内容
本发明实施例提供一种测试用例生成方法、装置和计算机可读存储介质,可以有效地提高测试用例生成的效率。
本发明实施例提供一种测试用例生成方法,包括:
获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系;
基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点;
从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径;
基于所述目标路径,利用预设扩展方式生成初始测试用例;
根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
相应的,本发明实施例还提供一种测试用例生成装置,包括:
获取单元,用于获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系;
构建单元,用于基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点;
确定单元,用于从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径;
生成单元,用于基于所述目标路径,利用预设扩展方式生成初始测试用例;
筛选单元,用于根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
可选的,在一些实施例中,所述构建单元,具体可以用于对所述需求描述文档的结构化关系进行分析,得到所述需求描述文档的业务处理步骤和业务行为跳转;以所述业务处理步骤作为节点,以所述业务行为跳转作为边,构建所述待测试业务的有向图。
可选的,在一些实施例中,所述有向图包括验证行为节点和验证业务规则节点,所述测试用例可以包括验证行为测试用例和验证业务规则测试用例,所述确定单元可以包括目标节点确定子单元和目标路径确定子单元,如下:
所述目标节点确定子单元,用于当需要生成验证行为测试用例时,将所述有向图中的验证行为节点确定为目标节点;当需要生成验证业务规则测试用例时,将所述有向图中的验证业务规则节点确定为目标节点;
所述目标路径确定子单元,用于基于确定的目标节点确定所述目标节点对应的目标路径。
可选的,在一些实施例中,所述目标路径确定子单元,具体可以用于在所述有向图中确定所述验证行为节点对应的验证行为路径;在所述有向图中确定所述验证业务规则节点对应的验证业务规则路径;对所述验证行为路径和所述验证业务规则路径进行筛选,得到目标验证行为路径和目标验证业务规则路径;
则所述生成单元,可以用于基于所述目标验证行为路径和目标验证业务规则路径,利用预设扩展方式生成初始测试用例。
可选的,在一些实施例中,所述有向图包括起始节点、结束节点和主路径,所述目标路径确定子单元,具体可以用于基于所述起始节点和所述验证行为节点,在所述有向图中确定所述验证行为节点的第一路径;基于所述验证行为节点、所述主路径和所述结束节点,在所述有向图中确定所述验证行为节点的第二路径;基于所述第一路径和第二路径,确定所述验证行为节点对应的验证行为路径。
可选的,在一些实施例中,所述有向图包括起始节点、结束节点和主路径,所述目标路径确定子单元,具体可以用于基于所述起始节点和所述验证业务规则节点,在所述有向图中确定所述验证业务规则节点的第一路径;基于所述验证业务规则节点和所述结束节点,在所述有向图中确定所述验证业务规则节点的第二路径;基于所述第一路径和第二路径,确定所述验证业务规则节点对应的验证业务规则路径。
可选的,在一些实施例中,所述生成单元,具体可以用于基于所述目标验证行为路径式生成初始验证行为测试用例。获取所述目标验证业务规则路径中的业务规则;基于所述业务规则和目标验证业务规则路径,利用预设扩展方式生成初始验证业务规则测试用例;
则所述筛选单元,具体可以用于根据预设条件对所述初始验证行为测试用例和所述初始验证业务规则测试用例进行筛选,得到目标测试用例。
可选的,在一些实施例中,所述测试用例生成装置,还可以包括处理单元,如下:
所述处理单元,具体可以用于对所述需求描述文档进行语料提取,得到所述需求描述文档的语料信息;将所述语料信息进行特征化,得到所述需求描述文档的语料特征;基于所述语料特征对所述需求描述文档中的冲突语料进行处理,得到所述需求描述文档的语料冲突信息。
可选的,在一些实施例中,所述筛选单元,具体可以用于基于所述语料冲突信息对所述初始测试用例进行筛选,得到筛选后测试用例;对所述筛选后测试用例进行分析,得到所述筛选后测试用例覆盖的业务规则;基于所述业务规则在所述筛选后测试用例中选取满足预设条件的用例,得到目标测试用例。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例提供的任一种测试用例生成方法中的步骤。
此外,本申请实施例还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本申请实施例提供的任一种测试用例生成方法中的步骤。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述测试用例生成方面的各种可选实现方式中提供的方法。
本发明实施例可以获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系,然后,基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点,接着,从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,再基于所述目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。该方案可以有效地提高测试用例生成的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的测试用例生成方法的场景示意图;
图1b是本发明实施例提供的测试用例生成方法的流程图;
图2a是本发明实施例提供的测试用例生成方法的总体架构图;
图2b是本发明实施例提供的测试用例生成方法的需求管理周期图;
图2c是本发明实施例提供的测试用例生成方法的另一流程图;
图2d是本发明实施例提供的测试用例生成方法的用例组成图;
图2e是本发明实施例提供的查询结构化需求文档的第一示意图;
图2f是本发明实施例提供的查询结构化需求文档的第二示意图;
图2g是本发明实施例提供的查询结构化需求文档的第三示意图;
图2h是本发明实施例提供的修改结构化需求文档的示意图图;
图2i是本发明实施例提供的新增需求文档的示意图;
图2j是本发明实施例提供的新增需求文档的合法性检查示意图;
图2k是本发明实施例提供的测试用例生成方法的又一流程图;
图2l是本发明实施例提供的检查点条件、处理方法中引用其他规则示意图;
图2m是本发明实施例提供的测试用例生成方法的再一流程图;
图3是本发明实施例提供的测试用例生成装置的结构示意图;
图4是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种测试用例生成方法、装置和计算机可读存储介质。其中,该测试用例生成可以集成在电子设备中。
例如,参见图1a,首先,该集成了测试用例生成装置的终端可以获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系,然后,基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点,接着,从该有向图中确定需要生成测试用例的目标节点、以及该目标节点对应的目标路径,再基于该目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对该初始测试用例进行筛选,得到目标测试用例。
由于该方案通过解析需求描述文档,并根据需求描述文档中步骤列表构建出有向图模型,再运用一定的有向图路径探索方法为每个目标节点探索出一条目标路径,然后利用预设扩展方式将单条目标路径扩展为多个测试用例。再经过一系列精简筛选,得到目标测试用例,有效地提高了测试用例生成的效率。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从测试用例生成装置的角度进行描述,该测试用例生成装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备,亦可以是包括终端和服务器的综合设备,等等。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是手机、平板电脑、笔记本电脑以及个人计算机(Personal Computer,PC)等,但并不局限于此。
一种测试用例生成方法,包括:获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系,然后,基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点,接着,从该有向图中确定需要生成测试用例的目标节点、以及该目标节点对应的目标路径,再基于该目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对该初始测试用例进行筛选,得到目标测试用例。
如图1b所示,该测试用例生成方法的具体流程可以如下:
101、获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系。
其中,需求描述文档指的是对待测试业务的各种需求进行描述的文档,该需求描述文档编写形式可以有很多种,比如,可以按照UML用例规约编写,等等。其中,UML为统一建模语言(Unified Modeling Language,UML),是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。UML建模指的是用模型元素来组建整个系统的模型,模型元素包括系统中的类、类和类之间的关联、类的实例相互配合实现系统的动态行为等。UML建模可以将抽象的业务转化为标准的模型从而指导整个软件开发过程。
例如,具体可以从存储器、文档管理设备等获取产品中待测试业务的需求描述文档,再将获取到的需求描述文档输入至测试用例生成装置中。测试用例生成装置接收到需求描述文档后,可以对该需求描述文档中的内容进行解析,进而得到该需求描述文档中内容之间的结构化关系。其中,结构化关系指的是将需求描述文档加以归纳和整理,使得到需求描述文档条理化的关系。
102、基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点。
例如,可以根据MBT的思路对结构化后的需求进行分析建模,步骤作为点,跳转作为边构建有向图模型。例如,具体可以对该需求描述文档的结构化关系进行分析,得到该需求描述文档的业务处理步骤和业务行为跳转,以该业务处理步骤作为节点,以该业务行为跳转作为边,构建该待测试业务的有向图。其中,路径可以指的是从有向图的某一节点到另一节点经过至少一条边的线路。
其中,有向图指的是用点和边清楚地表示物件与物件之间关系的图,比如,子业务A、子业务B、子业务C之间关系的图,或者步骤a、步骤b、步骤c之间连接关系的图,等等。一个有向图D是指一个有序三元组(V(D),A(D),ψD),其中ψD)为关联函数,它使A(D)中的每一个元素(称为有向边或弧)对应于V(D)中的一个有序元素(称为顶点或点)对。
103、从该有向图中确定需要生成测试用例的目标节点、以及该目标节点对应的目标路径。
比如,有向图包括验证行为节点和验证业务规则节点,该测试用例包括验证行为测试用例和验证业务规则测试用例,具体可以当需要生成验证行为测试用例时,将该有向图中的验证行为节点确定为目标节点,当需要生成验证业务规则测试用例时,将该有向图中的验证业务规则节点确定为目标节点,基于确定的目标节点确定该目标节点对应的目标路径。
其中,基于确定的目标节点确定该目标节点对应的目标路径的方式有很多种,比如,可以在该有向图中确定该验证行为节点对应的验证行为路径,在该有向图中确定该验证业务规则节点对应的验证业务规则路径,对该验证行为路径和该验证业务规则路径进行筛选,得到目标验证行为路径和目标验证业务规则路径。
其中,有向图还可以包括起始节点、结束节点和主路径,可选的,在该有向图中确定该验证行为节点对应的验证行为路径,具体可以基于该起始节点和该验证行为节点,在该有向图中确定该验证行为节点的第一路径,基于该验证行为节点、该主路径和该结束节点,在该有向图中确定该验证行为节点的第二路径,基于该第一路径和第二路径,确定该验证行为节点对应的验证行为路径。
可选的,在该有向图中确定该验证业务规则节点对应的验证业务规则路径,具体可以基于该起始节点和该验证业务规则节点,在该有向图中确定该验证业务规则节点的第一路径,基于该验证业务规则节点和该结束节点,在该有向图中确定该验证业务规则节点的第二路径,基于该第一路径和第二路径,确定该验证业务规则节点对应的验证业务规则路径。
104、基于该目标路径,利用预设扩展方式生成初始测试用例。
例如,可以基于该目标验证行为路径和目标验证业务规则路径,利用预设扩展方式生成初始测试用例。比如,具体可以基于该目标验证行为路径式生成初始验证行为测试用例;获取该目标验证业务规则路径中的业务规则,基于该业务规则和目标验证业务规则路径,利用预设扩展方式生成初始验证业务规则测试用例。
其中,预设扩展方式的设定方式可以有很多种,比如,可以根据实际应用的需求灵活设置,也可以预先设置好存储在测试用例生成装置中。此外,预设扩展方式可以内置于测试用例生成装置中,或者,也可以保存在存储器中并发送给测试用例生成装置,等等。比如,预设扩展方式可以是预设的笛卡尔积展开方式,等等。
105、根据预设条件对该初始测试用例进行筛选,得到目标测试用例。
例如,可以根据预设条件对该初始验证行为测试用例和该初始验证业务规则测试用例进行筛选,得到目标测试用例。
其中,预设条件的设定方式可以有很多种,比如,可以根据实际应用的需求灵活设置,也可以预先设置好存储在测试用例生成装置中。此外,预设条件可以内置于测试用例生成装置中,或者,也可以保存在存储器中并发送给测试用例生成装置,等等。
由于生成的初始测试用例中,有较多的测试用例在语义上存在冲突,不是有效测试用例,所以需要对初始测试用例进行筛选。在筛选之前,可以先提取需求描述文档中的语料并整理出冲突的语料信息,例如,可以对该需求描述文档进行语料提取,得到该需求描述文档的语料信息,将该语料信息进行特征化,得到该需求描述文档的语料特征,基于该语料特征对该需求描述文档中的冲突语料进行处理,得到该需求描述文档的语料冲突信息。然后,基于该语料冲突信息对初始测试用例进行筛选。
例如,具体可以基于该语料冲突信息对该初始测试用例进行筛选,得到筛选后测试用例,对该筛选后测试用例进行分析,得到该筛选后测试用例覆盖的业务规则。基于该业务规则在该筛选后测试用例中选取满足预设条件的用例,得到目标测试用例。
由上可知,本实施例可以获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系,然后,基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点,接着,从该有向图中确定需要生成测试用例的目标节点、以及该目标节点对应的目标路径,再基于该目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对该初始测试用例进行筛选,得到目标测试用例。由于该方案通过解析需求描述文档,并根据需求描述文档中步骤列表构建出有向图模型,再运用一定的有向图路径探索方法为每个目标节点探索出一条目标路径,然后利用预设扩展方式将单条目标路径扩展为多个测试用例。再经过一系列精简筛选,得到目标测试用例,有效地提高了测试用例生成的效率。
根据上一个实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该测试用例生成装置具体集成在电子设备为例进行说明。
在生成测试用例之前,可以先对电子设备的环境进行部署,比如,电子设备主要可以分为三部分:需求管理系统、特征库系统、测试用例自动生成系统,这三部分的关系可以如图2a所示。其中,需求管理系统是BS架构,特征库系统和测试用例自动生成系统为后台服务。所有这些服务都部署在电子设备的服务器中,具体参数如表一及表二:
表一部署环境硬件参数
硬件参数
服务器机型 联想SS430
内存 8G*2
CPU E3-1230v2*1
硬盘 1T*1
表二部署环境软件参数
Figure BDA0002626572610000101
Figure BDA0002626572610000111
其中,B/S架构即浏览器和服务器架构模式,是随着Internet技术的兴起,对C/S架构的一种变化或者改进的架构。
需求管理系统是一个典型的管理信息系统,是BS(Browser/Server)浏览器----服务器结构,一个需求完整的信息管理周期如图2b所示。
如图2c所示,一种测试用例生成方法,具体流程可以如下:
201、电子设备获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系。
例如,可以使用UML建模将抽象的业务转化为标准的模型,从而实现自动化生成测试用例。在经过业务建模和概念建模之后,可以抽象得到业务的系统用例,比如,如图2d所示。需求管理系统将系统用例中的成分有组织地整理并落地,其中测试用例生成的最主要数据包括基本路径(即主路径)、扩展路径、前置条件、后置条件以及补充约束中的业务规则和字段列表。
基本路径和扩展路径下会有路径关联的补充约束,补充约束的内容大多数以表格形式展示。根据步骤类型以及补充约束类型,可以将表格大致分为如下三大类,如表三所示,即系统校验、系统处理和系统反馈。对表格进行预处理之后,可以根据表头格式对表格的每行内容进行提取,提取的内容可以进一步作为用例路径的扩展数据。
表三补充约束表格类型分类表
Figure BDA0002626572610000112
Figure BDA0002626572610000121
UML建模方法里描述了要以一种格式描述原始需求,比如,在这里可以选择json格式描述原始需求,然后通过解析json格式的结构化需求文档,分析解析出来的数据,从而来构建有向图。
例如,电子设备的需求管理系统具体可以获取待测试业务的需求描述文档,然后,对该需求描述文档进行解析,根据解析结果将docx格式的需求描述文档转换成结构化需求文档,以json格式输出需求描述文档元素的结构化关系,并提供对这些结构化需求文档的增删改查等功能。
比如,查询结构化需求文档,可以图2e、图2f、如图2g所示。还可以对结构化需求文档进行修改,如图2h所示。也可以新增需求文档,并对新增的文档进行合法性检查,如图2i和图2j所示。
202、电子设备对该需求描述文档进行语料提取,并对提取到的语料进行处理,得到该需求描述文档的语料冲突信息。
比如,电子设备具体可以对该需求描述文档进行语料提取,得到该需求描述文档的语料信息,将该语料信息进行特征化,得到该需求描述文档的语料特征,基于该语料特征对该需求描述文档中的冲突语料进行处理,得到该需求描述文档的语料冲突信息。比如,电子设备的特征库系统可以对系统用例中自然语言语料进行特征化,并为特征选择合适的实现方式(比如,特征分类),维护特征间的冲突关系。特征库系统进行了这些处理之后的结果将被测试用例自动生成系统使用,可以作为测试用例生成过程中的参考素材。
203、电子设备基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点。
其中,测试用例生成主要是根据用例路径中描述的系统和用户之间的一系列交互步骤,如果将每一个步骤看作是一个节点,则这一系列步骤可以看做是多个节点按照一定次序组合生成的路径。所以生成测试用例之前需要做好数据准备,即将用例路径构建生成一个有向图,用来遍历路径生成测试用例。其中,有向图构建算法的部分名词概念可以如表四所示。
表四有向图构建算法名词概念表
Figure BDA0002626572610000131
Figure BDA0002626572610000141
例如,具体可以根据MBT的思路对结构化后的需求进行分析建模,步骤作为点,跳转作为边构建有向图模型。例如,电子设备具体可以先生成有向图的图节点,然后按主路径顺序依次寻找节点下一步,即遍历主路径可以生成正常测试用例需要的所有节点和边的信息。
其中,图节点来源主要为:一、用例步骤主路径和扩展路径,每条路径可以看作为一个节点;二、虚拟节点,图起始节点(S)和图结束节点(E),S和E主要是为了保证有向图的完整性。比如,如图2e所示,该结构化需求文档的主路径是1、2,扩展路径有5条,分别是{1a、1a1}、{1b、1b1、2}、{1c、1c1}、{1、2a、2a1、2a2}、{1、2a、2a1、2a2a}。
204、电子设备从该有向图中确定需要生成测试用例的目标节点。
例如,电子设备具体可以分析有向图中的关键节点(即目标节点),并为每个关键节点在有向图中探索出一条路径。其中,关键节点可以指的是在生成测试用例时起着重要作用的节点,比如,如果要生成验证行为的测试用例,则关键节点可以为验证行为节点,如系统验证用户的反馈节点、跳转行为等等,如果是生成验证业务规则的测试用例,则关键节点可以为验证业务规则节点,如系统请求用户的节点等。
205、电子设备从该有向图中确定该目标节点对应的目标路径。
比如,电子设备可以在标识出有向图中的关键节点后,为每个关键节点探索出一个遍历路径(即目标路径),确保在遍历路径中,由起始节点使用最短路径到达关键节点,再由关键节点尽快回主路径,再由主路径到达结束节点。例如,电子设备具体可以在该有向图中确定该验证行为节点对应的验证行为路径,在该有向图中确定该验证业务规则节点对应的验证业务规则路径,对该验证行为路径和该验证业务规则路径进行筛选,得到目标验证行为路径和目标验证业务规则路径。
比如,电子设备可以基于该起始节点和该验证行为节点,在该有向图中确定该验证行为节点的第一路径,基于该验证行为节点、该主路径和该结束节点,在该有向图中确定该验证行为节点的第二路径,基于该第一路径和第二路径,确定该验证行为节点对应的验证行为路径。例如,电子设备具体可以使用最短路径图遍历算法,直接找到S到关键节点的最短路径(此过程中可以忽略跳转的边),此路径为第一路径,如果需要生成验证行为测试用例,则探索一条由关键节点最快回主路径的路径(只允许往关键节点较后的主路径节点跳转),并接着沿着主路径到达E,如实在无法探索到回主路径的路径,则转而探索由关键节点到E的最短路径,得到第二路径,然后,将第一路径和第二路径合并起来,得到该关键节点对应的遍历路径,即该验证行为节点对应的验证行为路径。
比如,电子设备可以基于该起始节点和该验证业务规则节点,在该有向图中确定该验证业务规则节点的第一路径,基于该验证业务规则节点和该结束节点,在该有向图中确定该验证业务规则节点的第二路径,基于该第一路径和第二路径,确定该验证业务规则节点对应的验证业务规则路径。例如,电子设备具体可以使用最短路径图遍历算法,直接找到S到关键节点的最短路径(此过程中可以忽略跳转的边),此路径为第一路径,如果是生成验证业务规则的测试用例,则直接由关键节点到达E,得到第二路径,然后,将第一路径和第二路径合并起来,得到该关键节点对应的遍历路径,即该验证业务规则节点对应的验证业务规则路径。
为了防止生成大量重复的遍历路径,需要分析两类遍历路径:验证行为的遍历路径集合、验证规则的遍历路径集合,即验证行为路径集合和验证业务规则路径集合,然后可以优化遍历路径集合,比如,如果某一条路径同时出现在两个集合中,则只保留验证规则的遍历路径集合中的那条遍历路径,具体流程可以如图2k所示。
206、电子设备基于该目标路径,利用预设扩展方式生成初始测试用例。
例如,电子设备具体可以基于该目标验证行为路径式生成初始验证行为测试用例;获取该目标验证业务规则路径中的业务规则,基于该业务规则和目标验证业务规则路径,利用预设扩展方式生成初始验证业务规则测试用例。
其中,预设扩展方式的设定方式可以有很多种,比如,可以根据实际应用的需求灵活设置,也可以预先设置好存储在测试用例生成装置中。此外,预设扩展方式可以内置于测试用例生成装置中,或者,也可以保存在存储器中并发送给测试用例生成装置,等等。比如,预设扩展方式可以是预设的笛卡尔积展开方式,等等。
对于验证行为路径,由于测试用例的目标是验证行为,所以只需要为该遍历路径生成一个测试用例即可。
而对于验证业务规则路径,每个关键节点对应的遍历路径只是代表着某个确定性的操作步骤序列,而要实现该操作步骤序列可以通过多个规则条件组合来完成,需求用例中步骤节点上挂载的业务规则表就描述了这些规则条件。为了保证测试的覆盖度,因此,需要为每一种规则条件组合生成一个测试用例,以覆盖该场景。
另外,业务规则还使用检查点条件、处理方法中的特殊方法,描述了其对其它业务规则表的引用关系,比如,如图2l所示。
分析该业务规则间的引用关系,可以得到以下规律:
1、规则表中某条规则的检查点条件中可以通过“xxxx规则的结果是否是yyyy:是”这一特殊文法引用其它规则表;
2、规则表中某条规则的处理方式中可以通过“[参见:xxxx规则]”这一特殊文法引用其它规则表。
比如,假设A规则表有x条规则,其中每条规则的检查点条件通过规律1引用了规则表B,其中规则表B中平均有y条规则的处理方式符合该检查点条件的目标结果。同样每条规则的处理方式通过规律2引用了规则表C,其中规则表C有z条规则。则根据笛卡尔积算法的结论,所有可能的组合个数为x*y*z。为了覆盖每一种可能,这里为每一个组合生成一个测试用例。
其中,测试用例可以分为三类人,如全流程正常用例、验证用户行为类用例、验证业务规则类用例。在将遍历路径扩展为多个测试用例结果的基础上,将每条遍历路径上节点的内容、每种业务规则组合进行拆解,生成可读的测试用例,关键字段的生成规则如表五所示:
表五测试用例生成规则
Figure BDA0002626572610000171
207、电子设备根据预设条件对该初始测试用例进行筛选,得到目标测试用例。
例如,电子设备可以根据预设条件对该初始验证行为测试用例和该初始验证业务规则测试用例进行筛选,得到目标测试用例。比如,电子设备具体可以基于该语料冲突信息对该初始测试用例进行筛选,得到筛选后测试用例,接着,创建空的数据集,遍历每一个业务规则,若该数据集中不存在覆盖该业务规则的用例,则在该筛选后测试用例中查找覆盖该业务规则的用例,若在该筛选后测试用例中找到多个覆盖该业务规则的用例,则选择检查点条件个数最小的用例,得到选择后测试用例,将该选择后测试用例放入数据集中,继续执行遍历每一个业务规则的步骤,直到该业务规则遍历完毕,获取数据集中的测试用例,得到目标测试用例。
由于生成的初始测试用例中,有较多的测试用例在语义上存在冲突,不是有效测试用例,而笛卡尔积展开生成的组合条件组合虽说可以让测试覆盖度较高,但生成的大量测试用例中前置条件其实是各种不同检查点条件的排列组合。考虑到测试用例的维护成本,其实每个检查点条件只需要至少有一个测试用例覆盖就可以了,并不需要完全验证各种条件组合。因此,可以根据预设条件对初始测试用例进行筛选,得到目标测试用例。
例如,可以从特征库系统获取语义冲突信息,分析每个测试用例,如发现测试用例中存在冲突的语料,则从测试用例集中剔除该测试用例。然后,分析测试用例集中的每个测试用例,得到每个测试用例覆盖的业务规则项。再创建一个空的结果集,接着,遍历每一个业务规则项,如发现结果集没能覆盖该业务规则项,则在测试用例集中找到覆盖它的测试用例,如找到多个,则选择检查点条件个数最小的那个测试用例。将最终选择的测试用例放入一个结果集中,并更新结果集可以覆盖的业务规则项。最后完成上述遍历后,结果集中的测试用例则是最终的目标结果,即目标测试用例,具体流程可以如图2m所示。
比如,如表六所示,最后的目标测试用例可以以excel的形式展现,每一行为一条用例,表头分别为:用例类型、自动化、用例名、前置条件、用例步骤、预期结果。
表六生成的测试用例
Figure BDA0002626572610000181
Figure BDA0002626572610000191
Figure BDA0002626572610000201
由上可知,本实施例可以获取待测试业务的需求描述文档,并对该需求描述文档进行解析,得到该需求描述文档的结构化关系,然后,基于该结构化关系构建该待测试业务的有向图,该有向图包括多个路径以及路径上的多个节点,接着,从该有向图中确定需要生成测试用例的目标节点、以及该目标节点对应的目标路径,再基于该目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对该初始测试用例进行筛选,得到目标测试用例。该方案以自然语言结构化描述软件产品需求,解析JSON格式的需求文档,根据需求文档中步骤列表构建出有向图模型,再运用一定的有向图路径探索方法为每个关键节点探索出一条遍历路径,然后根据节点上的业务规则将单条遍历路径扩展为多个测试用例。再经过一系列精简,最终得到可读的测试用例集,有效地提高了测试用例生成的效率。由于该方案以自然语言结构化描述需求的方式,相对于传统的MBT建模方法而言降低了对技术人员抽象思维的要求,降低了建模的成本。且从需求层面生成的测试用例可以最大程度的保证测试用例集的完备性,完备的测试用例集可用于验证软件产品的实现是否忠于需求。而自动生成的测试用例展现形式仿照一般测试场景下人工写测试用例的方法,运用白盒测试理论探索,以excel分条展示,对于测试执行者而言更容易阅读理解。
为了更好地实施以上方法,相应的,本发明实施例还提供一种测试用例生成装置,该测试用例生成装置具体可以集成在终端中,该终端可以包括手机、平板电脑、笔记本电脑以及个人计算机等可以实现测试用例生成的设备。
例如,如图3所示,该测试用例生成装置可以包括获取单元301、构建单元302、确定单元303、生成单元304和筛选单元305,如下:
(1)获取单元301;
获取单元301,用于获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系。
(2)构建单元302;
构建单元302,用于基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点。
可选的,在一些实施例中,所述构建单元302,具体可以用于对所述需求描述文档的结构化关系进行分析,得到所述需求描述文档的业务处理步骤和业务行为跳转;以所述业务处理步骤作为节点,以所述业务行为跳转作为边,构建所述待测试业务的有向图。
(3)确定单元303;
确定单元303,用于从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径。
可选的,在一些实施例中,所述有向图包括验证行为节点和验证业务规则节点,所述测试用例可以包括验证行为测试用例和验证业务规则测试用例,所述确定单元303可以包括目标节点确定子单元和目标路径确定子单元,如下:
所述目标节点确定子单元,用于当需要生成验证行为测试用例时,将所述有向图中的验证行为节点确定为目标节点;当需要生成验证业务规则测试用例时,将所述有向图中的验证业务规则节点确定为目标节点;
所述目标路径确定子单元,用于基于确定的目标节点确定所述目标节点对应的目标路径。
可选的,在一些实施例中,所述目标路径确定子单元,具体可以用于在所述有向图中确定所述验证行为节点对应的验证行为路径;在所述有向图中确定所述验证业务规则节点对应的验证业务规则路径;对所述验证行为路径和所述验证业务规则路径进行筛选,得到目标验证行为路径和目标验证业务规则路径;
则所述生成单元,可以用于基于所述目标验证行为路径和目标验证业务规则路径,利用预设扩展方式生成初始测试用例。
可选的,在一些实施例中,所述有向图包括起始节点、结束节点和主路径,所述目标路径确定子单元,具体可以用于基于所述起始节点和所述验证行为节点,在所述有向图中确定所述验证行为节点的第一路径;基于所述验证行为节点、所述主路径和所述结束节点,在所述有向图中确定所述验证行为节点的第二路径;基于所述第一路径和第二路径,确定所述验证行为节点对应的验证行为路径。
可选的,在一些实施例中,所述有向图包括起始节点、结束节点和主路径,所述目标路径确定子单元,具体可以用于基于所述起始节点和所述验证业务规则节点,在所述有向图中确定所述验证业务规则节点的第一路径;基于所述验证业务规则节点和所述结束节点,在所述有向图中确定所述验证业务规则节点的第二路径;基于所述第一路径和第二路径,确定所述验证业务规则节点对应的验证业务规则路径。
(4)生成单元304;
生成单元304,用于基于所述目标路径,利用预设扩展方式生成初始测试用例。
可选的,在一些实施例中,所述生成单元304,具体可以用于基于所述目标验证行为路径式生成初始验证行为测试用例。获取所述目标验证业务规则路径中的业务规则;基于所述业务规则和目标验证业务规则路径,利用预设扩展方式生成初始验证业务规则测试用例;
则所述筛选单元,具体可以用于根据预设条件对所述初始验证行为测试用例和所述初始验证业务规则测试用例进行筛选,得到目标测试用例。
(5)筛选单元305;
筛选单元305,用于根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
可选的,在一些实施例中,所述测试用例生成装置,还可以包括处理单元307,如下:
所述处理单元306,具体可以用于对所述需求描述文档进行语料提取,得到所述需求描述文档的语料信息;将所述语料信息进行特征化,得到所述需求描述文档的语料特征;基于所述语料特征对所述需求描述文档中的冲突语料进行处理,得到所述需求描述文档的语料冲突信息。
可选的,在一些实施例中,所述筛选单元305,具体可以用于基于所述语料冲突信息对所述初始测试用例进行筛选,得到筛选后测试用例;对所述筛选后测试用例进行分析,得到所述筛选后测试用例覆盖的业务规则;基于所述业务规则在所述筛选后测试用例中选取满足预设条件的用例,得到目标测试用例。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例中可以由获取单元301获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系,再由构建单元302基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点,接着,由确定单元303从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,然后,由生成单元304基于所述目标路径,利用预设扩展方式生成初始测试用例,再然后,由筛选单元305根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。由于该方案通过解析需求描述文档,并根据需求描述文档中步骤列表构建出有向图模型,再运用一定的有向图路径探索方法为每个目标节点探索出一条目标路径,然后利用预设扩展方式将单条目标路径扩展为多个测试用例。再经过一系列精简筛选,得到目标测试用例,有效地提高了测试用例生成的效率。
此外,本发明实施例还提供一种电子设备,如图4所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系,然后,基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点,接着,从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,再基于所述目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例可以获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系,然后,基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点,接着,从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,再基于所述目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。由于该方案通过解析需求描述文档,并根据需求描述文档中步骤列表构建出有向图模型,再运用一定的有向图路径探索方法为每个目标节点探索出一条目标路径,然后利用预设扩展方式将单条目标路径扩展为多个测试用例。再经过一系列精简筛选,得到目标测试用例,有效地提高了测试用例生成的效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例还提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种测试用例生成方法中的步骤。例如,该指令可以执行如下步骤:
获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系,然后,基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点,接着,从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,再基于所述目标路径,利用预设扩展方式生成初始测试用例,再然后,根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种测试用例生成方法中的步骤,因此,可以实现本发明实施例所提供的任一种测试用例生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种测试用例生成方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种测试用例生成方法,其特征在于,包括:
获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系;
基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点;
从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径;
基于所述目标路径,利用预设扩展方式生成初始测试用例;
根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
2.根据权利要求1所述的方法,其特征在于,所述基于所述结构化关系构建所述待测试业务的有向图,包括:
对所述需求描述文档的结构化关系进行分析,得到所述需求描述文档的业务处理步骤和业务行为跳转;
以所述业务处理步骤作为节点,以所述业务行为跳转作为边,构建所述待测试业务的有向图。
3.根据权利要求1所述的方法,其特征在于,所述有向图包括验证行为节点和验证业务规则节点,所述测试用例包括验证行为测试用例和验证业务规则测试用例,所述从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径,包括:
当需要生成验证行为测试用例时,将所述有向图中的验证行为节点确定为目标节点;
当需要生成验证业务规则测试用例时,将所述有向图中的验证业务规则节点确定为目标节点;
基于确定的目标节点确定所述目标节点对应的目标路径。
4.根据权利要求3所述的方法,其特征在于,所述基于确定的目标节点确定所述目标节点对应的目标路径,包括:
在所述有向图中确定所述验证行为节点对应的验证行为路径;
在所述有向图中确定所述验证业务规则节点对应的验证业务规则路径;
对所述验证行为路径和所述验证业务规则路径进行筛选,得到目标验证行为路径和目标验证业务规则路径;
所述基于所述目标路径,利用预设扩展方式生成初始测试用例,包括:基于所述目标验证行为路径和目标验证业务规则路径,利用预设扩展方式生成初始测试用例。
5.根据权利要求4所述的方法,其特征在于,所述有向图包括起始节点、结束节点和主路径,所述在所述有向图中确定所述验证行为节点对应的验证行为路径,包括:
基于所述起始节点和所述验证行为节点,在所述有向图中确定所述验证行为节点的第一路径;
基于所述验证行为节点、所述主路径和所述结束节点,在所述有向图中确定所述验证行为节点的第二路径;
基于所述第一路径和第二路径,确定所述验证行为节点对应的验证行为路径。
6.根据权利要求4所述的方法,其特征在于,所述有向图包括起始节点、结束节点,所述在所述有向图中确定所述验证业务规则节点对应的验证业务规则路径,包括:
基于所述起始节点和所述验证业务规则节点,在所述有向图中确定所述验证业务规则节点的第一路径;
基于所述验证业务规则节点和所述结束节点,在所述有向图中确定所述验证业务规则节点的第二路径;
基于所述第一路径和第二路径,确定所述验证业务规则节点对应的验证业务规则路径。
7.根据权利要求4所述的方法,其特征在于,所述基于所述目标路径,利用预设扩展方式生成初始测试用例,包括:
基于所述目标验证行为路径式生成初始验证行为测试用例;
获取所述目标验证业务规则路径中的业务规则;
基于所述业务规则和目标验证业务规则路径,利用预设扩展方式生成初始验证业务规则测试用例;
所述根据预设条件对所述初始测试用例进行筛选,得到目标测试用例,包括:根据预设条件对所述初始验证行为测试用例和所述初始验证业务规则测试用例进行筛选,得到目标测试用例。
8.根据权利要求1所述的方法,其特征在于,所述根据预设条件对所述初始测试用例进行筛选,得到目标测试用例之前,还包括:
对所述需求描述文档进行语料提取,得到所述需求描述文档的语料信息;
将所述语料信息进行特征化,得到所述需求描述文档的语料特征;
基于所述语料特征对所述需求描述文档中的冲突语料进行处理,得到所述需求描述文档的语料冲突信息。
9.根据权利要求8所述的方法,其特征在于,所述根据预设条件对所述初始测试用例进行筛选,得到目标测试用例,包括:
基于所述语料冲突信息对所述初始测试用例进行筛选,得到筛选后测试用例;
对所述筛选后测试用例进行分析,得到所述筛选后测试用例覆盖的业务规则;
基于所述业务规则在所述筛选后测试用例中选取满足预设条件的用例,得到目标测试用例。
10.一种测试用例生成装置,其特征在于,包括:
获取单元,用于获取待测试业务的需求描述文档,并对所述需求描述文档进行解析,得到所述需求描述文档的结构化关系;
构建单元,用于基于所述结构化关系构建所述待测试业务的有向图,所述有向图包括多个路径以及路径上的多个节点;
确定单元,用于从所述有向图中确定需要生成测试用例的目标节点、以及所述目标节点对应的目标路径;
生成单元,用于基于所述目标路径,利用预设扩展方式生成初始测试用例;
筛选单元,用于根据预设条件对所述初始测试用例进行筛选,得到目标测试用例。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9中任一项所述的测试用例生成方法中的步骤。
12.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至9任一项所述方法的步骤。
CN202010798776.8A 2020-08-11 测试用例生成方法、装置和计算机可读存储介质 Active CN114077534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010798776.8A CN114077534B (zh) 2020-08-11 测试用例生成方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010798776.8A CN114077534B (zh) 2020-08-11 测试用例生成方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN114077534A true CN114077534A (zh) 2022-02-22
CN114077534B CN114077534B (zh) 2024-05-31

Family

ID=

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564388A (zh) * 2022-02-23 2022-05-31 中国农业银行股份有限公司 一种程序测试方法、装置、电子设备及存储介质
CN114968787A (zh) * 2022-05-27 2022-08-30 中移互联网有限公司 基于节点关系的测试方法、装置及电子设备
CN115687164A (zh) * 2023-01-05 2023-02-03 中汽智联技术有限公司 测试用例泛化筛选方法、设备和存储介质
CN115712561A (zh) * 2022-10-31 2023-02-24 上海宜软检测技术有限公司 一种基于功能基线的业务路径测试方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265689A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Generic validation test famework for graphical user interfaces
US20140172512A1 (en) * 2012-12-14 2014-06-19 International Business Machines Corporation Efficiently generating test cases
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法
WO2018060777A1 (en) * 2016-09-29 2018-04-05 Yokogawa Electric Corporation Method and system for optimizing software testing
CN109117363A (zh) * 2018-06-28 2019-01-01 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置及服务器
CN110287104A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 测试用例生成方法、装置、终端及计算机可读存储介质
CN110471858A (zh) * 2019-08-22 2019-11-19 腾讯科技(深圳)有限公司 应用程序测试方法、装置及存储介质
CN111459830A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 测试案例生成方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265689A1 (en) * 2008-04-16 2009-10-22 Microsoft Corporation Generic validation test famework for graphical user interfaces
US20140172512A1 (en) * 2012-12-14 2014-06-19 International Business Machines Corporation Efficiently generating test cases
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法
WO2018060777A1 (en) * 2016-09-29 2018-04-05 Yokogawa Electric Corporation Method and system for optimizing software testing
CN109117363A (zh) * 2018-06-28 2019-01-01 腾讯科技(深圳)有限公司 一种测试用例生成方法、装置及服务器
CN110287104A (zh) * 2019-05-21 2019-09-27 深圳壹账通智能科技有限公司 测试用例生成方法、装置、终端及计算机可读存储介质
CN110471858A (zh) * 2019-08-22 2019-11-19 腾讯科技(深圳)有限公司 应用程序测试方法、装置及存储介质
CN111459830A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 测试案例生成方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
李勇华: "目标和场景相结合的需求工程", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 19 December 2019 (2019-12-19) *
谭一鸣: "基于微服务架构的平台化服务框架的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 24 April 2018 (2018-04-24) *
马伟, 张毅坤: "基于UML时序图的集成测试序列自动生成", 计算机工程与应用, no. 19, 1 July 2006 (2006-07-01) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114564388A (zh) * 2022-02-23 2022-05-31 中国农业银行股份有限公司 一种程序测试方法、装置、电子设备及存储介质
CN114968787A (zh) * 2022-05-27 2022-08-30 中移互联网有限公司 基于节点关系的测试方法、装置及电子设备
CN114968787B (zh) * 2022-05-27 2023-09-19 中移互联网有限公司 基于节点关系的测试方法、装置及电子设备
CN115712561A (zh) * 2022-10-31 2023-02-24 上海宜软检测技术有限公司 一种基于功能基线的业务路径测试方法及系统
CN115712561B (zh) * 2022-10-31 2023-12-22 上海宜软检测技术有限公司 一种基于功能基线的业务路径测试方法及系统
CN115687164A (zh) * 2023-01-05 2023-02-03 中汽智联技术有限公司 测试用例泛化筛选方法、设备和存储介质

Similar Documents

Publication Publication Date Title
US20180278494A1 (en) Automated constructing method of cloud manufacturing service and cloud manufacturing system
US8392467B1 (en) Directing searches on tree data structures
Ge et al. A data‐centric capability‐focused approach for system‐of‐systems architecture modeling and analysis
da Silva et al. Genetic programming for QoS-aware web service composition and selection
CN111722839A (zh) 一种代码生成方法、装置、电子设备及存储介质
JP6663873B2 (ja) プログラム自動生成システム及びプログラム自動生成方法
CN113641591A (zh) 测试用例生成方法及装置、测试方法及装置
Mani et al. Test case generation for embedded system software using UML interaction diagram
Oluwagbemi et al. Automatic generation of test cases from activity diagrams for UML based testing (UBT)
CN111190880A (zh) 一种数据库检测方法、装置和计算机可读存储介质
Ren et al. How to manage tiny machine learning at scale: an industrial perspective
CN112015382B (zh) 一种处理器构架解析方法、装置、设备及储存介质
Abushark et al. Early detection of design faults relative to requirement specifications in agent-based models
US20120290282A1 (en) Reachability analysis by logical circuit simulation for providing output sets containing symbolic values
CN110309214A (zh) 一种指令执行方法及其设备、存储介质、服务器
Saxena et al. A meta-framework for design space exploration
CN114077534A (zh) 测试用例生成方法、装置和计算机可读存储介质
CN114077534B (zh) 测试用例生成方法、装置和计算机可读存储介质
CN116560984A (zh) 一种基于调用依赖图的测试用例聚类分组方法
CN115248780A (zh) 接口测试用例的生成方法以及装置
CN115292178A (zh) 测试数据搜索方法、装置、存储介质以及终端
CN114780443A (zh) 微服务应用自动化测试方法、装置、电子设备及存储介质
JP7014301B2 (ja) 情報処理装置、分析システム、分析方法及び分析プログラム
CN113506099A (zh) 申报业务的配置系统、方法、计算机设备和存储介质
US9123008B2 (en) Buildable part pairs in an unconfigured product structure

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