CN114372006A - 测试用例自动生成方法、系统、计算机设备和存储介质 - Google Patents

测试用例自动生成方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN114372006A
CN114372006A CN202210040630.6A CN202210040630A CN114372006A CN 114372006 A CN114372006 A CN 114372006A CN 202210040630 A CN202210040630 A CN 202210040630A CN 114372006 A CN114372006 A CN 114372006A
Authority
CN
China
Prior art keywords
test
test case
generating
key information
case set
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
CN202210040630.6A
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.)
Ping An Puhui Enterprise Management Co Ltd
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202210040630.6A priority Critical patent/CN114372006A/zh
Publication of CN114372006A publication Critical patent/CN114372006A/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/3672Test management
    • G06F11/3676Test management for coverage analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Abstract

本发明提供了一种测试用例自动生成方法、系统、计算机设备和存储介质,其中,所述测试用例自动生成方法通过获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;根据所述标记进行测试用例生成。可以自动化形成测试用例,降低了人力劳动成本,提升了测试用例的精确性。因此,本发明能够通过需求文档结合测试场景来自动生成测试用例,提升了测试用例的形成效率,并基于状态迁移图、组合分析算法以提升关于测试场景的覆盖率,以及精准性。同时,本发明还涉及区块链技术。

Description

测试用例自动生成方法、系统、计算机设备和存储介质
技术领域
本发明涉及软件测试技术领域,特别是涉及测试用例自动生成方法、系统、计算机设备和存储介质。
背景技术
目前,随着计算机技术的日益发展以及不同领域的业务种类的日益丰富(例如金融交易领域),对复杂系统进行自动化测试的需求日益增长。通常的测试方法主要是通过测试人员编写测试用例来实现。
通常的,测试人员在测试设计阶段主要任务是编写测试用例,会参考需求文档(原型图),概要设计,详细设计等文档,有不明确的也会及时和开发,产品经理沟通,用例编写完成后会进行评审。其中编写测试用例占据了测试人员的大量时间,而设计测试场景才是体现测试专业能力和测试价值的重要体现。从设计测试场景到快速生成测试用例在IT行业有很大的应用,这能够帮助缩减案例编写重复时间,而想出更多的测试设计场景,提高测试覆盖率。
传统的测试用例编写工具需要使用千篇一律的模板,测试人员要按照模板要求,编写对应测试标题,步骤和预期结果才能生成测试用例,这容易造成宝贵的测试资源大量投入简单、重复、低价值的劳动中,使得本应该做测试设计的工作效率难以提升,测试场景覆盖率也受到了影响。
发明内容
基于此,本发明提供了一种测试用例自动生成方法、系统、计算机设备和存储介质,以解决上述背景技术中存在的问题。
为实现上述目的,本发明提供一种测试用例自动生成方法,所述测试用例自动生成方法包括:
获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;
将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;
根据所述标记进行测试用例生成。
优选的,所述提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集的步骤具体包括:
当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径;
根据所述转换条件和所述转换路径生成测试用例集;
对所述测试用例集进行简约化处理。
优选的,所述根据所述标记进行测试用例生成的步骤之后,还包括:
将所述测试用例进行存储,并进行用例评审;
查询所述测试用例的测试条目数量;
若存在多个测试条目,则标记当前查询的所述测试用例为无效测试用例。
优选的,所述将所述测试用例进行存储,并进行用例评审的步骤之后,还包括:
若评审合格后,获取所述测试用例的接口地址及预期测试结果;
将所述测试用例发送至对应的待测接口进行测试,获取真实测试结果;
校验所述真实测试结果与所述预期测试结果是否一致;
若否,则反馈告警信息。
在一个可选的实施方式中,还可以:将所述测试用例自动生成方法的结果上传至区块链中。
为实现上述目的,本发明还提供了一种测试用例自动生成系统,所述测试用例自动生成系统包括:
解析生成模块,用于获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;
分类标记模块,用于将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;
用例生成模块:用于根据所述标记进行测试用例生成。
优选的,所述测试用例自动生成系统还包括:
遍历分析单元,用于当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径;
用例集生成单元,用于根据所述转换条件和所述转换路径生成测试用例集;
简化单元,用于对所述测试用例集进行简约化处理。
优选的,所述测试用例自动生成系统还包括:
组合测试单元,用于当识别到所述需求文档中的关键信息为多因素组合测试场景时,对所述多因素组合测试通过预设算法获取测试用例集。
为实现上述目的,本发明还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如上所述测试用例自动生成方法的步骤。
为实现上述目的,本发明还提供了一种计算机存储介质,存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述测试用例自动生成方法的步骤。
上述本发明提供了一种测试用例自动生成方法、系统、计算机设备和存储介质,其中,所述测试用例自动生成方法通过获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;根据所述标记进行测试用例生成。可以自动化形成测试用例,降低了人力劳动成本,提升了测试用例的精确性。因此,本发明能够通过需求文档结合测试场景来自动生成测试用例,提升了测试用例的形成效率,并基于状态迁移图、组合分析算法以提升关于测试场景的覆盖率,以及精准性。
附图说明
图1为本发明一实施例中测试用例自动生成方法的一应用环境示意图;
图2为本发明一实施例中测试用例自动生成方法的一流程图;
图3为图2中步骤S101的详细流程图;
图4为图2中步骤S101的详细流程图;
图5为本发明一实施例中测试用例自动生成方法中的另一流程图;
图6为本发明一实施例中测试用例自动生成方法中的另一流程图;
图7本发明一实施例中测试用例自动生成系统的结构示意图;
图8为一个实施例中的计算机设备的结构示意图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
本申请提供的测试用例自动生成方法,可应用在如图1的计算机设备中,其中,该计算机设备可通过网络与服务器进行通信。其中,该计算机设备包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例中提供了一种测试用例自动生成方法,图2是本实施例的测试用例自动生成方法的流程图,如图2所示,该方法至少包括步骤S101~S103。
步骤S101:获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集。
需要指出的是,在一个软件的功能调试生成过程中,首先是需要进行产品设计的,产品设计是一个抽象的概念到具体形象化的处理过程,通过文字或图像等方式将我们规划的产品需求展现出来。
产品设计的最终表述的形式被称为需求文档,需求文档是将产品规划和设计的需求具体形象化表述出来的一种展现形式,用于产品界面设计和研发使用。而需求文档主要是给执行层面的工作人员阅读的文档,这部分人群绝大多数是设计与技术人员。在这类人群中,设计师更多依赖于产品原型进行交互设计,因此看这份文档的人主要是技术人员。因此需求文档是一份详细的产品功能需求说明文档,是产品文档中最底层和最细致的文档。
由于阅读是主观的因素,所以需求文档是一份直入主题的功能说明文档。并且需求文档是没有标准规范的,也没有统一的模板,但是目的都是一样的,必须能够明确产品的功能需求,便执行人员理解任务要求。
本发明实施例中,提取所述需求文档的关键信息的方法可以是关键词提取的方法,也可以通过识别需求文档内的流程图的路径节点信息进行关键词提取。本发明对此不作具体限定。同时,由于需求文档未设定具体呈现形态,故在解析过程后输出的关键信息的文档模式也不做具体标准限制。
步骤S102:将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例标记。
其中,测试场景包括性能测试、负载测试、压力测试、稳定性测试等,对此不作具体限定。本发明实施例中测试场景的设定根据最终测试用例的用途由设计人员自行设定。本发明实施例中,在导入测试场景后,通过AI智能识别功能场景,接口场景进行场景分类。
步骤S103,根据所述标记进行测试用例生成。
本发明实施例中,测试用例的生成可通过脚本实现,具体的,如通过if、else if、else判断语言来进行参数组合返回的响应描述生成测试用例。具体示例如下:
If场景1为空,返回A;
Else if场景2为空,返回B;
Else场景3为空,返回C;
其中,场景1、场景2、场景3为测试场景的场景类型,A、B、C分别为生成的测试用例。
可以理解的,通过脚本预设规则使得对应的场景生成对应的测试用例。
综上所述,本发明实施例提供的测试用例自动生成方法,可以自动化形成测试用例,降低了人力劳动成本,提升了测试用例的精确性。因此,本发明能够通过需求文档结合测试场景来自动生成测试用例,提升了测试用例的形成效率,并基于状态迁移图、组合分析算法以提升关于测试场景的覆盖率,以及精准性。
其中,请参阅图3,步骤S101具体包括如下步骤:
步骤S1011,当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径。
步骤S1012,根据所述转换条件和所述转换路径生成测试用例集。
步骤S1013,对所述测试用例集进行简约化处理。
具体的,状态迁移图用于表示输入数据序列以及相应的输出数据.在状态迁移图中,由输入数据和当前状态决定输出数据和后续状态。如下面例子所示,在一个状态迁移图中,包括以下状态:(订单)取消(状态)、(订单)拒绝(状态)、(订单)正常(状态)、(订单)其他(状态)。每个状态对应有其对应的转换条件以及转换路径,通过上述各个状态转换条件和转换路径生成的测试用例集即包括:
订单取消状态,验证功能
订单拒绝状态,验证功能
订单正常状态,验证功能
订单其他状态,验证功能
可以理解的,通过对状态迁移图进行遍历一般会产生数量较多的测试用例集,以达到全面覆盖需求文档中的关键信息。为了有效的控制软件测试过程中软件测试的有效性和成本,会通过缩减测试用例集的方案以提升测试的效率。本发明实施例中通过采用商空间算法的方式将测试用例集进行优化缩减,以达到提升测试用例集的质量和降低测试用例集数量的目的。本发明实施例中,采用商空间算法进行测试用例集优化仅作为一种较佳的实施方式,本发明对此不作具体限定。
其中,请参阅图4,步骤S101具体还包括如下步骤,
步骤S1014,当识别到所述需求文档中的关键信息为多因素组合测试场景时,对所述多因素组合测试通过预设算法获取测试用例集。
其中,所述预设算法为Pairwise算法,Pairwise是基于数学统计和对传统的正交分析法进行优化后得到的一种算法。Pairwise基于如下2个假设:
(1)每一个维度都是正交的,即每一个维度互相都没有交集。
(2)根据数学统计分析,73%的缺陷(单因子是35%,双因子是38%)是由单因子或2个因子相互作用产生的。19%的缺陷是由3个因子相互作用产生的。
关于Pairwise算法的核心流程包括:
1,获取维度和因子进行全排列。
2,得到具体的case的两两因子组合(带位置)。
3,判断这个case中两两因子组合是否在上面出现过,如果出现一个就删除掉。全部都没出现过,就保留这个case。
4,按照不同的顺序使用Pairwise算法再过滤一遍。
5,得到2组数据,找出相同的case。
6,按照维度的顺序增加case。
因此,pairwise基于覆盖所有2因子的交互作用产生的用例集合性价比最高而产生的。举例来说,当有3个维度,每个维度有4个因子的时候,正交分析法的得到的测试用例集数量为4*4*4=64。而Pairwise算法得到的测试用例集数量为20个。此外,在维度越多的情况下通过Pairwise算法得到的测试用例集数量会远远小于正交分析法得到的测试用例集数量。
如图5所示,在步骤S103之后,所述步骤还包括:
S201:将所述测试用例进行存储,并进行用例评审。
示例而非限定的,本发明实施例中,测试用例的可存储在用于进行测试用例生成的智能设备的存储介质上,也可以存储在于智能设备产生数据通信的云端服务器上。存储的每个测试用例均具有对应测试场景的标记,以便于后续向相同或类似的测试场景下,通过调用对应的测试用例或者以其作为模板来快速生成新的测试用例。进一步的优化了测试用例自动生成的效率。
在本发明实施例中,每个生成的测试用例均需要进行用例评审,以评判该测试用例是否具备:唯一性、明确性以及简洁性。
其中,在本发明的其他实施例中,步骤S201还具体包括步骤S2011-步骤2012。
步骤S2011,查询所述测试用例的测试条目数量。
步骤S2012,若存在多个测试条目,则标记当前查询的所述测试用例为无效测试用例。
其中,针对唯一性,例如在测试字符类型是否合法的同时,不能再测试字符长度是否符合标准。若有两条或多条测试条目的情况下,必然存在一条通过,其他不通过的情况。此时无法判断不通过的测试条目是否存在漏洞还是被其他测试条目影响。
针对明确性,具体的,例如在测试一个音频播放显示界面的播放次数功能时,为零次是则不显示播放次数,每一次播放后播放的次数会有增加,未播放完就结束时,次数仍然不变。则测试用例可以写成:
播放_次数测试_为零时显示
播放_次数测试_播放完成时变化
播放_次数测试_播放未完成时变化
播放_次数测试_刷新页面
同样的还是针对上述例子而言,针对简洁性,若测试用例写成如下:
测试播放功能_看播放次数为零时次数的显示_不显示播放次数
测试播放功能_看播放完成时播放的次数是否有增加_播放次数增加
测试播放功能_看播放未完成时播放的次数是否有增加_播放次数不增加
测试播放功能_看页面刷新时播放的次数是否有增加_播放次数不增加
上述唯一性、明确性和简洁性均为用例评审的主要评审依据,其中,唯一性必须遵从,在满足唯一性的条件下,一个测试用例才能基本实现测试作用。否则当测试用例不满足唯一性时,则无法进行场景测试操作。进一步的,本发明实施例中通过状态迁移图的遍历技术手段将程序的框架整体拆分为测试用例集,每个测试用例集都遵循状态迁移图的逻辑生成,因此在状态迁移图的逻辑正确的条件下,测试用例集中的各个测试用例具有明确性的特点。此外,本发明实施例针对需求文档进行关键词提取的技术手段,也进一步的使得生成测试用例的描述语段更为精简,进一步的满足了评审过程中对于简洁性的要求。
可以理解的,由于在需求文档中可能存在一些行业用语,使得在关键词提取过程中,可能存在提取偏差,从而进一步的导致最终根据偏差的关键词得到的测试用例无法进行场景测试,因此,通过进行测试用例评审有效的筛选出存在错误性的测试用例,以确保该技术方案最终得到的测试用例均是可行的测试用例。
请参阅图6,在步骤201之后,所述步骤还包括:
步骤S301,若评审合格后,获取所述测试用例的接口地址及预期测试结果。
其中,通过解析测试用例,得到所述测试用例的接口地址以及预期测试结果,上述预期测试结果为根据测试用例对待测接口进行测试,预期待测接口所反馈的测试结果。
步骤S302,将所述测试用例发送至对应的待测接口进行测试,获取真实测试结果。
其中,通过上述接口地址使得测试用例与测试场景的待测接口建立通信连接,并将该测试用例输入至测试场景内,在根据测试用例的输入参数得到真实的测试结果。
步骤S303,校验所述真实测试结果与所述预期测试结果是否一致。
可以理解的,如果当前功能模块(测试场景)的功能正常,则对应的预期测试结果与真实测试结果一致。反之,若对应的预期测试结果与真实测试结果不一致,则说明当前功能模块(测试场景)并没有按照需求文档中的内容实现对于的功能。则说明当前功能模块(测试场景)存在背离需求文档的情况。
步骤S304,若否,则反馈告警信息。
其中,所述告警信息包括对应的测试用例、该测试用例的接口地址。可以理解的,当预期测试结果与真实测试结果不一致,则将所述告警信息传输至任一与该测试用例实体设备连接的智能设备。以便于后期维护人员根据告警信息能够快速精准的定位到问题功能模块并进行维护处理。
综上所述,上述测试用例自动生成方法,通过需求文档结合测试场景来自动生成测试用例,提升了测试用例的形成效率,此外,基于状态迁移图、组合分析的Pairwise算法以提升关于测试场景的覆盖率,以及精准性。此外,通过对生成的测试用例评审,有效的优化了测试用例质量,筛去冗余和无效测试用例。并且,生成的测试用例在通过与测试场景的输出相比较后,根据比较结果自动反馈告警信息,使得存在问题的功能模块能被迅速的定位出来,以得到及时的处理,提升了测试用例的靶向性。最后,通过存储生成的测试用例,并用作一种测试用例库,可为后续生成测试用例确定相似性模板,提升了测试用例的泛用性。
在一个可选的实施方式中,还可以:将所述测试用例自动生成方法的结果上传至区块链中。
具体地,基于所述测试用例自动生成方法的结果得到对应的摘要信息,具体来说,摘要信息由所述测试用例自动生成方法的结果进行散列处理得到,比如利用sha256s算法处理得到。将摘要信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得该摘要信息,以便查证所述测试用例自动生成方法的结果是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供了一种所述测试用例自动生成系统,该测试用例自动生成系统与上述测试用例自动生成方法一一对应,如图7所示,该测试用例自动生成系统100包括解析生成模块11、分类标记模块12、用例生成模块13,各功能模块详细说明如下:
解析生成模块11,用于获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集。
分类标记模块12,用于将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记。
用例生成模块13:用于根据所述标记进行测试用例生成。
在其中一个实施例中,所述解析生成模块11还包括:
遍历分析单元,用于当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径。
用例集生成单元,用于根据所述转换条件和所述转换路径生成测试用例集。
简化单元,用于对所述测试用例集进行简约化处理。
本实施例中,所述解析生成模块11还包括:
组合测试单元,用于当识别到所述需求文档中的关键信息为多因素组合测试场景时,对所述多因素组合测试通过预设算法获取测试用例集。
在其中一个实施例中,所述测试用例自动生成系统还包括:
存储模块,用于将所述测试用例进行存储。
评审模块,用于将所述测试用例进行用例评审;
查询模块,用于查询所述测试用例的测试条目数量。
标记模块,用于当存在多个测试条目时,标记当前查询的所述测试用例为无效测试用例。
在其中一个实施例中,所述测试用例自动生成系统还包括:
接口获取模块,用于当评审合格后,获取所述测试用例的接口地址及预期测试结果;
测试模块,用于将所述测试用例发送至对应的待测接口进行测试,获取真实测试结果;
校验模块,用于校验所述真实测试结果与所述预期测试结果是否一致;
告警模块,用于当校验所述真实测试结果与所述预期测试结果不一致时,反馈告警信息。
通过本实施例提出的测试用例自动生成系统,通过需求文档结合测试场景来自动生成测试用例,提升了测试用例的形成效率,此外,基于状态迁移图、组合分析的Pairwise算法以提升关于测试场景的覆盖率,以及精准性。此外,通过对生成的测试用例评审,有效的优化了测试用例质量,筛去冗余和无效测试用例。并且,生成的测试用例在通过与测试场景的输出相比较后,根据比较结果自动反馈告警信息,使得存在问题的功能模块能被迅速的定位出来,以得到及时的处理,提升了测试用例的靶向性。最后,通过存储生成的测试用例,并用作一种测试用例库,可为后续生成测试用例确定相似性模板,提升了测试用例的泛用性。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种测试用例自动生成方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中测试用例自动生成方法的步骤,例如图2所示的步骤S101至步骤S103及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中测试用例自动生成系统的各模块/单元的功能,例如图7所示模块11至模块13的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中测试用例自动生成方法的步骤,例如图2所示的步骤S101至步骤S103及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中测试用例自动生成系统的各模块/单元的功能,例如图7所示模块11至模块13的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种测试用例自动生成方法,其特征在于,所述方法包括:
获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;
将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;
根据所述标记进行测试用例生成。
2.如权利要求1所述的测试用例自动生成方法,其特征在于,所述提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集的步骤具体包括:
当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径;
根据所述转换条件和所述转换路径生成测试用例集;
对所述测试用例集进行简约化处理。
3.如权利要求1所述的测试用例自动生成方法,其特征在于,所述提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集的步骤具体包括:
当识别到所述需求文档中的关键信息为多因素组合测试场景时,对所述多因素组合测试通过预设算法获取测试用例集。
4.如权利要求1所述的测试用例自动生成方法,其特征在于,所述根据所述标记进行测试用例生成的步骤之后,还包括:
将所述测试用例进行存储,并进行用例评审;
查询所述测试用例的测试条目数量;
若存在多个测试条目,则标记当前查询的所述测试用例为无效测试用例。
5.如权利要求4所述的测试用例自动生成方法,其特征在于,所述将所述测试用例进行存储,并进行用例评审的步骤之后,还包括:
若评审合格后,获取所述测试用例的接口地址及预期测试结果;
将所述测试用例发送至对应的待测接口进行测试,获取真实测试结果;
校验所述真实测试结果与所述预期测试结果是否一致;
若否,则反馈告警信息。
6.一种测试用例自动生成系统,其特征在于,所述系统包括:
解析生成模块,用于获取需求文档并解析,提取所述需求文档的关键信息,并根据所述关键信息生成测试用例集;
分类标记模块,用于将所述测试用例集进行测试场景分类,并根据所属的测试场景对所述测试用例集中的测试用例进行标记;
用例生成模块:用于根据所述标记进行测试用例生成。
7.如权利要求6的测试用例自动生成系统,其特征在于,所述测试用例自动生成系统还包括:
遍历分析单元,用于当识别到所述需求文档内存在状态迁移图时,遍历所述状态迁移图中的所有状态,并分析各个状态的转换条件和转换路径;
用例集生成单元,用于根据所述转换条件和所述转换路径生成测试用例集;
简化单元,用于对所述测试用例集进行简约化处理。
8.如权利要求6所述的测试用例自动生成系统,其特征在于,所述测试用例自动生成系统还包括:
组合测试单元,用于当识别到所述需求文档中的关键信息为多因素组合测试场景时,对所述多因素组合测试通过预设算法获取测试用例集。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至5中任一项权利要求所述测试用例自动生成方法的步骤。
10.一种计算机存储介质,其特征在于,存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1-5中任一项所述测试用例自动生成方法的步骤。
CN202210040630.6A 2022-01-14 2022-01-14 测试用例自动生成方法、系统、计算机设备和存储介质 Pending CN114372006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210040630.6A CN114372006A (zh) 2022-01-14 2022-01-14 测试用例自动生成方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210040630.6A CN114372006A (zh) 2022-01-14 2022-01-14 测试用例自动生成方法、系统、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN114372006A true CN114372006A (zh) 2022-04-19

Family

ID=81144169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210040630.6A Pending CN114372006A (zh) 2022-01-14 2022-01-14 测试用例自动生成方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114372006A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968825A (zh) * 2022-07-28 2022-08-30 云账户技术(天津)有限公司 一种生成参数化查询测试用例的方法及装置
CN115269437A (zh) * 2022-08-24 2022-11-01 上海复深蓝软件股份有限公司 测试用例推荐方法、装置、计算机设备及存储介质
CN115934513A (zh) * 2022-11-16 2023-04-07 大商所飞泰测试技术有限公司 一种需求分析及测试设计适配方法、装置、设备及介质
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试系统、装置、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968825A (zh) * 2022-07-28 2022-08-30 云账户技术(天津)有限公司 一种生成参数化查询测试用例的方法及装置
CN115269437A (zh) * 2022-08-24 2022-11-01 上海复深蓝软件股份有限公司 测试用例推荐方法、装置、计算机设备及存储介质
CN115934513A (zh) * 2022-11-16 2023-04-07 大商所飞泰测试技术有限公司 一种需求分析及测试设计适配方法、装置、设备及介质
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试系统、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN108415832B (zh) 接口自动化测试方法、装置、设备及存储介质
US10769228B2 (en) Systems and methods for web analytics testing and web development
CN114372006A (zh) 测试用例自动生成方法、系统、计算机设备和存储介质
CN103176973B (zh) 用于生成数据库的测试工作负载的系统和方法
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
CN110990274B (zh) 一种生成测试案例的数据处理方法、装置及系统
WO2019104891A1 (zh) 报表导入导出的方法、装置、存储介质及终端
CN114168190A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN112612813A (zh) 一种测试数据的生成方法和装置
CN111563218A (zh) 一种页面的修复方法及装置
CN111475494A (zh) 一种海量数据处理方法、系统、终端及存储介质
WO2020232883A1 (zh) 脚本缺陷扫描方法、装置、计算机设备和存储介质
CN111159040A (zh) 一种测试数据生成方法、装置、设备及存储介质
KR102160379B1 (ko) 블록체인 기반 분산 애플리케이션 테스트 방법 및 테스트 장치
CN110362294A (zh) 开发任务执行方法、装置、电子设备及存储介质
CN109918114A (zh) 代码的评论信息获取方法、装置、计算机设备和存储介质
CN112783775A (zh) 特殊字符输入测试方法及装置
CN113435608B (zh) 联邦学习模型的生成方法、装置、计算机设备及存储介质
CN112100249B (zh) 一种数据挖掘方法及系统
CN114254170A (zh) 一种数据处理方法、系统、电子设备以及存储介质
CN114385722A (zh) 接口属性的一致性校验方法、装置、电子设备和存储介质
CN114780595A (zh) 核验方法、装置及系统
CN116860636A (zh) 单元测试代码生成方法、装置、设备及存储介质
CN116976322A (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