CN113377683B - 软件测试用例的生成方法、系统、设备、终端、介质及应用 - Google Patents
软件测试用例的生成方法、系统、设备、终端、介质及应用 Download PDFInfo
- Publication number
- CN113377683B CN113377683B CN202110922668.1A CN202110922668A CN113377683B CN 113377683 B CN113377683 B CN 113377683B CN 202110922668 A CN202110922668 A CN 202110922668A CN 113377683 B CN113377683 B CN 113377683B
- Authority
- CN
- China
- Prior art keywords
- test
- factors
- flow chart
- test case
- generating
- 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.)
- Active
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/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
技术领域
本发明属于计算机软件测试技术领域,尤其涉及一种软件测试用例的生成方法、系统、设备、终端、介质及应用。
背景技术
在计算机软件测试领域,通常先通过测试需求分析、用例设计,然后进行用例执行、测试结果分析,完成整个测试过程。目前在测试需求分析与用例设计工作中,完全依赖手工方式完成,其工作成果完全依赖测试人员对业务知识的理解和测试工作的经验积累。因而,测试分析过程是一个黑盒,测试质量具有很大的不确定性。传统使用的人工方式设计和编写用例中,业务知识和分析过程依赖个人能力和经验;用例的设计和选取耗时长、形式多样,质量参差不齐,容易产生用例的遗漏或冗余,测试覆盖率难以保证,导致软件的测试质量不稳定,测试效率低下,软件成本居高不下,软件质量难以保证。
目前的软件测试技术一直在追求测试用例执行的自动化,各种自动化测试框架和产品层出不穷。但此类工具解决的问题都集中在测试用例执行过程中的元素识别和驱动问题,把原先手工执行的用例,使用自动化的技术驱动执行。但自动化测试用例仍需要人工分析和编写。能否通过自动化的方式生成测试用例,是提升软件测试自动化能力的一个重点问题。目前市场上,主流的软件测试工具,如 HP ALM(原QC),Selenium,Appium等,都集中在测试管理和自动化测试执行层面的功能。
行业内也曾提出过自动生成测试用例的研究,其理论基础是基于用户的需求建立模型,通过模型来自动生成用例。但一直处于理论性的研究中,在市场上,并未出现成熟的应用产品,在国内,相关的资料及应用也非常少。
目前的关于软件测试的相关专利文件有一种基于数据集的测试案例生成方法及其装置(CN 201510057012.2),公开了一种基于数据集的测试案例生成方法,主要包括:获取至少两个数据集中的数据内容;依据特定合并方式合并各数据集内的数据内容并生成测试案例;其中,所述特定合并方式包括:当不同数据集内存在同种类的数据内容时,第一优先级的数据集内的数据内容覆盖第二优先级的数据集内的同种类的数据内容,然后将覆盖后的数据内容、及各数据集中未被覆盖的数据内容合并。该发明主要通过合并各数据集中的数据实现测试案例的生成,其问题在于需要人工区分数据分类,且针对同类数据时,采用的第一优先级数据覆盖的形式,在过程中需要人工标识和操作,并采用直接覆盖的方式,操作繁琐,存在数据遗漏和数据错误覆盖的情况。
现有的测试用例生成装置、测试用例生成方法和测试用例生成程序(CN201880085785.3)公开了一种测试方法,其中测试用例生成装置对在每次被输入值时执行1个步骤的处理的软件即测试对象软件进行分析,生成为了测试该软件而输入的值的序列作为测试用例。此时,当关于状态变量,执行共用状态变量的多个步骤中的任意1个步骤的处理后的值和执行另1个步骤的处理后的值相等的情况下,等效步骤检査部判定为这两个步骤是等效步骤。测试用例生成部将由等效步骤检査部判定为等效步骤的两个步骤中的一方排除,对测试对象软件进行分析而生成测试用例中包含的值。该发明目的在于削减涉及多个步骤的测试用例的生成所需的时间。但是该方案在具体的使用过程中可能会发生具有一定概率的错误性,依赖于执行所述多个步骤中的任意1个步骤的处理后的值与执行另1个步骤的处理后的值相等的情况下判断两个步骤为等效步骤是具有不准确性的,应该在检测类似的多个执行步骤,进行验证,这样判定为等效步骤更有说服力。
现有的测试用例评分模型训练方法和测试用例选择方法(CN202110432705.0)公开了一种测试用例评分模型训练方法和测试用例选择方法,测试用例评分模型训练方法包括:确定用于软件测试的多个历史测试用例;根据所述历史测试用例生成训练样本,所述训练样本包括历史测试用例的特征信息和历史测试用例的缺陷发现率;根据所述训练样本,联合其它参与方,基于横向联邦学习进行模型训练,最终得到的测试用例评分模型,用于根据多个备选测试用例的特征信息预测对应的缺陷发现率,以根据预测得到的缺陷发现率从多个备选测试用例中选择实际测试用例。该发明的基础在于基于大量的历史测试数据训练测试用例评分模型,通过联合多个参与方实现对模型进行训练,基于大量样本数据进行模型训练,直接生成测试用例,操作繁琐。且被测系统会发生功能上的变更,发生变更之后,历史测试用例是否还有效,存在多种不确定性。且根据历史的缺陷发现率预测新的缺陷发现率,在软件快速迭代的过程中,不具备合理性和可操作性。
综上所述,现有软件测试用例的生成方法存在种种缺陷,并不能完全适应于现代软件测试行业款速发展的需求。因此,亟需一种新的软件测试用例的生成方法,以弥补现有技术的缺陷,填补现有技术空白。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有的测试用例的生成方法中,需要人工区分数据分类,且针对同类数据时,采用的第一优先级覆盖的方式,在过程中需要人工标识和操作,并采用直接覆盖的形式,操作繁琐,且存在数据遗漏和数据错误覆盖的情况。
(2)现有的测试用例生成方法中,在具体的使用过程中可能会发生具有一定概率的错误性,相同的步骤在执行中具有不准确性。
(3)现有的测试用例评分模型训练方法中,通过联合多个参与方实现对模型进行训练,基于大量样本数据进行模型训练,直接生成测试用例,操作繁琐,且被测系统发生变更之后,历史测试用例是否还有效,存在多种不确定性。且根据历史的缺陷发现率预测新的缺陷发现率,在软件快速迭代的过程中,不具备合理性和可操作性。
解决以上问题及缺陷的难度为:当前软件测试行业主要存在以下问题:软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题;面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步;测试过程中的自动化往往都集中在测试执行阶段,测试用例的覆盖率难以保证,易出现用例冗余和遗漏。
解决以上问题及缺陷的意义为:降低测试用例生成的难度和工作量,通过建立操作流程图模型,使用统一规范的方法直接生成测试用例,生成的测试用例质量稳定可靠,生成效率高,提高了测试用例的一致性,进而提升测试质量和效率。
发明内容
针对现有技术存在的问题,本发明提供了一种软件测试用例的生成方法、系统、设备、终端、介质及应用。
本发明是这样实现的,一种软件测试用例的生成方法,所述测试用例的生成方法包括:
基于测试操作流程进行测试因子的分析,根据所述测试操作流程中测试因子的关系进行组合并筛选,形成复合测试因子;
建立测试流程图,把所述测试因子或形成的所述复合测试因子作为节点,根据所述测试流程图中的分支,结合所述节点中的配置项,生成测试用例。
进一步,所述测试用例的生成方法具体包括:
基于测试操作流程进行测试因子的分析,分析出测试因子的正向和反向取值;
选择两个或多个测试因子进行组合,根据测试因子的关系进行组合,筛选后形成复合测试因子;
建立测试流程图,将测试因子作为节点,测试因子的取值作为连线,形成流程路径,并在节点中配置相关属性;
根据流程图中的分支,结合可配置的生成策略,生成测试用例。
进一步,所述测试用例的生成方法的测试分析过程具体包括:
分析整体测试流程,分析出流程中所包含的测试因子;
本步骤重点分析测试流程中的测试点。
针对每一个测试因子,运用等价类划分的方法,分析出每一个测试因子的正向和反向取值,并对每一种取值设置权重百分比。
本步骤可以实现:分析每一个测试点可能的输入或选择,如Email地址输入框中可输入的:已存在的邮箱、不存在的邮箱、没有@字符的邮箱地址等,权重用于在后续用例生成时的选择,权重高、被选中的几率会更大。
(3)根据测试流程,选取关键的两个或多个测试因子进行组合;在笛卡尔积的基础上,经过筛选,得出复合后测试因子的正向和反向组合,并根据原先的权重得出复合后的权重。
本步骤可以实现:在流程类的系统中,后续的操作会根据前面的两个或多个测试因子有关,在这种情况下,选择两个或多个测试因子进行组合,将组合后的测试因子作为后续操作流程的分支节点。
(4)在流程图中增加一个初始节点,根据测试的操作流程,选择测试因子或复合测试因子作为流程图中的节点,形成流程图的节点。
本步骤可以实现:将节点对应到测试因子,用于生成流程图。
(5)将节点进行连接,一个节点可指向一个或多个节点,节点之间的连线称之为路径,路径中对应一个或多个测试因子的取值。
(6)针对每个节点配置属性:操作类型,如输入、选择、点击等,是否参与名称生成、是否参与步骤生成等。
本步骤可以实现:配置节点的操作类型,如点击、输入、选择等操作类型,并配置是否在用例的名称或测试步骤中体现,根据这些配置信息,在最终生成测试用例时,会更清晰和易读。
(7)完成所有的节点连线后,形成一个完整的测试流程图。
进一步,所述测试用例的生成方法具体包括:
(1)基于已经配置好的测试流程图,配置用例生成策略。
(2)测试用例的生成方法:针对每一个测试流程模型图,分析存在的所有分支,针对每一条分支,依据分支上的所有测试因子,该条分支上的测试用例数为在路径中的测试因子取值个数的最大值,即生成的测试用例覆盖取值最多的测试因子,其他较少的测试因子在组合时按照权重进行选择,根据多个分支获得的测试集进行累加,最终形成完整的测试集。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
基于测试操作流程进行测试因子的分析,分析出正向和反向的取值;
选择两个或多个测试因子进行组合,筛选后形成复合测试因子;
建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性;
根据流程图中的分支,结合可选的生成策略,生成测试用例。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
基于测试操作流程进行测试因子的分析,分析出正向和反向的取值;
选择两个或多个测试因子进行组合,筛选后形成复合测试因子;
建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性;
根据流程图中的分支,结合可选的生成策略,生成测试用例。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的测试用例的生成方法。
本发明的另一目的在于提供一种实施所述测试用例的生成方法的测试用例的生成系统,所述测试用例的生成系统包括:
测试分析模块,用于基于测试操作流程进行测试因子的分析,根据测试因子的关系进行筛选,形成复合测试因子;
测试用例生成模块,用于建立测试流程图,根据流程图中的分支,结合可选的生成策略,生成测试用例。
进一步,所述测试用例的生成系统包括:
测试因子分析模块,用于基于测试操作流程进行测试因子的分析,分析出正向和反向的取值;
测试因子组合模块,用于选择两个或多个测试因子进行组合,筛选后形成复合测试因子;
流程图模型建立模块,用于建立操作流程图,将测试因子作为节点,测试因子的取值作为连线,配置属性;
测试用例生成模块,用于根据流程图中的分支,结合可选的生成策略,生成测试用例。
本发明的另一目的在于提供一种所述的测试用例的生成方法在计算机软件测试中的应用。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的软件测试用例的生成方法中,测试人员通过流程图模型进行测试分析建模,通过可视化的模型使测试分析的过程更加标准和透明;同时测试分析过程从黑盒变为白盒,从依赖人工经验编写变成一个可视化的过程。本发明基于测试分析后形成的操作流程图模型,结合可配置的用例生成策略,可直接生成测试用例,生成的测试用例质量稳定可靠,生成效率高。
本发明通过建立测试操作流程图模型,测试需求分析的过程从原先的黑盒变成白盒,分析过程更加透明,测试流程的梳理更加清晰,更易于表达和沟通,用例设计的质量和效率得到了提升。与手工分析相比,基于流程图的分析方法在测试覆盖率方面的覆盖度和完整性更高,更能够有效的分析测试范围,设定测试优先级。
通过本发明的方法,测试用例生成的效率得到了极大的提升,可快速生成测试用例,且生成的测试用例采用统一的标准描述,可读性较好,可直接用于软件测试执行。
本发明基于可配置的生成策略,生成的测试用例测试覆盖率可控,可在保证用例覆盖率的基础上减少用例的冗余。与传统测试用例生成方法相比,本发明测试用例的生成效率提高了几十倍,且生成的测试用例质量稳定。经过验证,使用本发明后,整个测试项目的实施效率提升了32.12%。
附图说明
图1是本发明实施例提供的测试用例的生成方法的流程图。
图2是本发明实施例提供的测试用例的生成系统的结构示意图;
图2中:1、测试因子分析模块;2、测试因子组合模块;3、流程图模型建立模块;4、测试用例生成模块。
图3是本发明实施例提供的测试用例的生成方法的实现流程图。
图4是本发明实施例提供的实施例的原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种软件测试用例的生成方法、系统、设备、终端、介质及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的测试用例的生成方法包括以下步骤:
S101,基于测试操作流程进行测试因子的分析,分析出正向和反向的取值。
S102,选择两个或多个测试因子进行组合,筛选后形成复合测试因子。
S103,建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性。
S104,根据流程图中的分支,结合可选的生成策略,生成测试用例。
本发明提供的测试用例的生成方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的测试用例的生成方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的测试用例的生成系统包括:
测试因子分析模块1,用于基于测试操作流程进行测试因子的分析,分析出正向和反向的取值。
测试因子组合模块2,用于选择两个或多个测试因子进行组合,筛选后形成复合测试因子。
流程图模型建立模块3,用于建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性。
测试用例生成模块4,用于根据流程图中的分支,结合可选的生成策略,生成测试用例。
下面结合附图对本发明的技术方案作进一步的描述。
如图3所示,本发明提供的测试用例的生成方法包括:测试分析过程和测试用例生成过程。
本发明提供了测试用例的设计方法,适用于软件测试领域中的测试分析过程,主要步骤包括:
(1)分析整体测试流程,分析出流程中所包含的测试因子。
(2)针对每一个测试因子,运用等价类划分的方法,分析出每一个测试因子的正向和反向取值,并对每一种取值设置权重。
(3)根据测试流程,选取关键的两个或多个测试因子进行组合,在笛卡尔积的基础上,经过筛选,得出复合后测试因子的正向和反向组合,并根据原先的权重得出复合后的权重。
(4)在流程图中增加一个初始节点,根据整体业务流程,选取测试因子或复合测试因子作为流程图中的节点,形成流程图节点。
(5)将节点进行连接,一个节点可以指向多个节点,并针对每一个连线,选择测试因子的取值,可选一个或多个测试因子,表示只有选择这些取值才能走向后续的测试因子。
(6)针对每个节点配置属性:操作类型,如输入、选择、点击等,是否参与名称生成、是否参与步骤生成等。
(7)完成所有的节点连线后,形成一个完整的测试流程图。
本发明提供了测试用例的设计方法,测试用例生成的方法具体包括:
(1)基于已经配置好的测试流程图,配置用例生成策略。
(2)测试用例的生成方法:针对每一个测试流程模型图,分析存在的所有分支,针对每一个分支,依据分支上的所有测试因子,该分支上的测试用例数为测试因子在节点连线中的取值个数的最大值,即生成后的用例覆盖取值最多的测试因子,其他较少的测试因子在组合时按照权重进行选择,对多个分支获得的测试集进行累加,最终形成完整的测试集。
下面结合具体实施例对本发明的技术方案作进一步的描述。
本发明的实施例以常见的Web系统中,用户登录注册功能场景为例,进行测试流程分析。
1:分析整个用户登录注册过程,进行测试因子分析:
用户名(输入框):用户名包括两种测试因子,一种是用户名类型,另一种是用户状态,以用户名类型为例,用户名类型有很多个输入的可能,把所有的输入可能划分成若干个子集,这种划分方法称为等价类划分,并把所有合理的、有意义的子集分为正向取值,所有不合理的、无意义的子集分为反向取值,下文中括号内表示权重百分比,且只有正向取值中有权重。正向取值:手机号(50%)、用户名(30%)、邮箱(20%)、未注册的用户(单独一个场景分支,权重100%);反向取值:不存在的用户;用户状态的正向取值:状态正常(100%);反向取值:已注销、已失效。
登录密码:正向取值:手机动态密码登录(60%),密码登录(40%)。反向取值:不匹配的密码。
登录(点击按钮):正向取值:点击登录(100%)。
注册用户名(输入框):正向取值:手机号(40%)、用户名(30%)、邮箱(30%)。
注册密码:正向取值:手机动态密码登录(60%),密码登录(40%)。
注册(点击按钮):正向取值:点击注册(100%)。
2:参照页面的逻辑控制,登录场景将用户名的用户名类型和用户状态进行组合(见表1)。
表1 登录场景
按照的笛卡尔积的算法,这种组合最多共有5x3=15种组合,根据表1,如“不存在的用户” 中不可能状态为“已注销”和“已失效”,按照此类关系,在复合测试因子中不选取此类组合。复合测试因子的权重计算方法为参与组合的取值的权重进行相乘得出。
即以上:得出复合测试因子:“用户名”,共有以下取值:
1)手机号+状态正常。(50%)
2)手机号+已注销。
3)手机号+已失效。
4)用户名+状态正常。(30%)
5)用户名+已注销。
6)用户名+已失效。
7)邮箱+状态正常。(20%)
8)邮箱+已注销。
9)邮箱+已失效。
10)不存在的用户+状态正常。
单一测试因子:“用户名”,有以下一种取值:
1)未注册的用户(100%)
3:建立流程图,增加“开始”节点,选择以上分析出的测试因子,形成节点,如选择“用户名”这个测试因子作为节点。
4:连线,根据流程,进行连线,在连线上选择测试因子的取值,第一个节点为用户名,根据用户名是否已注册,分别走登录场景和注册场景。如图4所示,从“用户名”至“登录密码”的连线中,选择10个取值,至“注册用户名”的连线中,选择1个取值。并在节点中配置相关属性,如“是否参与名称生成”、“是否参与步骤生成”等,在生成后的用例中,用例名称和用例步骤会根据此类属性进行动态选取。
5:根据以上建立的测试流程模型图,生成测试用例。
首先分析流程模型图中所有的流程分支,整个流程分为登录场景和注册场景,针对登录场景和注册场景分别进行用例生成。
在生成测试用例时,可配置生成策略,当前测试策略分为两种:
a) 笛卡尔乘积法:将所有的取值数进行笛卡尔乘积,此方法生成的测试用例数较多,适用于需要进行全覆盖的测试场景。
b) 最大连线取值数法:覆盖到最大的连线取值,即可保证测试用例的覆盖度,又能减少用例冗余,是生成用例时最典型的方法,也是默认的生成方法。
整个生成过程,根据操作流程图,选择“最大连线取值数法”,生成测试用例。
登录场景生成10个测试用例,分别为:
1)(手机号+状态正常)+动态密码+密码正确。
2)(手机号+已注销)+密码+密码正确。
3)(手机号+已失效)+动态密码+密码正确。
4)(用户名+状态正常)+密码+密码正确。
5)(用户名+已注销)+动态密码+密码正确。
6)(用户名+已失效)+密码+密码正确。
7)(邮箱+状态正常)+动态密码+密码正确。
8)(邮箱+已注销)+密码+密码正确。
9)(邮箱+已失效)+动态密码+密码正确。
10)(不存在的用户+状态正常)+动态密码+密码正确。
备注:在登录场景中,整个流程中的取值数分别为用户名(10个取值),登录密码(两个取值),若进行笛卡尔乘积,将会生成20个测试用例,由于已进行测试因子的组合,这里不需要再次进行笛卡尔乘积,只需要覆盖最大的连线取值数,故生成的用例数为10,因为动态密码的权重(60%)高于密码(40%),所以生成的用例,动态密码出现六次,密码出现四次,符合权重设置的要求。
注册场景生成3个测试用例,分别为:
1)未注册的用户+手机号+动态密码登录。
2)未注册的用户+用户名+动态密码登录。
3)未注册的用户+邮箱+密码登录。
备注:在注册场景中,整个流程中 未注册用户(1个取值),注册用户名(3个取值),注册密码(两个取值),若进行笛卡尔乘积,将会生成6个测试用例,与上一场景一致,取最大连线取值数为3,故生成的用例数为3,因为动态密码的权重(60%)高于密码(40%),所以生成的用例,动态密码出现两次,密码出现一次。
结合以上分析,整个测试流程模型图共生成13个测试用例。
本发明提供的实施例进行实际的应用,根据在某XXX项目中实际运行的数据进行分析(见表2)
表2 数据分析结果
类别 | 手工方式分析和编写 | 使用本发明 |
流程图数量 | 无 | 37 |
测试用例数 | 336 | 351 |
用时 | 6.2人天 | 4人天 |
用例质量 | 步骤不清晰,颗粒度差异较大 | 步骤清晰完整,描述规范,颗粒度一致。 |
4)从用例数上看:使用本发明后,用例数比原先手工方面更加完整,且用时更短,用例的质量更加稳定。
为了证明本发明实时技术方案的先进性,在多个项目中进行了实际的效果测试,和手工编写进行了实际的效率对比,对比数据见表3。
表3 对比数据
项目名称 | 模型图(张) | 生成用例数(条) | 使用本发明(人天) | 手工编写用时(人天) | 用时差异(人天) | 提升率(%) |
A项目 | 56 | 471 | 5 | 7.2 | 2.2 | 30.56% |
B项目 | 81 | 761 | 6.2 | 9.3 | 3.1 | 33.33% |
合计 | 137 | 1232 | 11.2 | 16.5 | 5.3 | 32.12% |
经过验证,使用本发明后,测试项目的实施效率提升了32.12%。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种软件测试用例的生成方法,其特征在于,所述测试用例的生成方法包括:
基于测试操作流程进行测试因子的分析,根据所述测试操作流程中测试因子的关系进行组合并筛选,形成复合测试因子;
建立测试流程图,把所述测试因子或形成的所述复合测试因子作为节点,根据所述测试流程图中的分支,结合所述节点中的配置项,生成测试用例;
所述生成方法具体包括:
基于测试操作流程进行测试因子的分析,分析出测试因子的正向和反向取值;
选择两个或多个测试因子进行组合,并根据测试因子的关系进行筛选,形成复合测试因子;
构建测试流程图,将测试因子作为节点,测试因子的取值作为连线,形成流程路径,并在节点中配置相关属性;
根据流程图中的分支,结合可配置的生成策略,生成测试用例;
构建测试流程图的方法包括:(1)分析整体测试流程,分析出流程中所包含的测试因子;
(2)针对每一个测试因子,运用等价类划分的方法,分析出每一个测试因子的正向和反向取值,并对每一种取值设置权重百分比;
(3)根据测试流程,选取关键的两个或多个测试因子进行组合;在笛卡尔积的基础上,经过筛选,得出复合后测试因子的正向和反向组合,并根据原先的权重得出复合后的权重;
(4)在流程图中增加一个初始节点,根据整体业务流程,选取测试因子或复合测试因子作为流程图中的节点,形成流程图节点;
(5)将节点进行连接,一个节点指向一个或多个节点,节点之间的连线作为路径,每条路径对应一个或多个测试因子的取值;
(6)对于每个节点配置属性;所述属性包括操作类型,操作类型包括输入、选择、点击,是否参与名称生成、是否参与步骤生成;
(7)完成所有的节点连线后,形成一个完整的测试流程图。
2.如权利要求1所述的测试用例的生成方法,其特征在于,所述测试用例的生成方法具体包括:
(1)基于已经配置好的测试流程图,结合流程图中的配置项,生成测试用例;
(2)测试用例的生成方法:针对每一个测试流程模型图,分析存在的所有分支,针对每一条分支,依据分支上的所有测试因子,生成测试用例覆盖取值最多的测试因子,取值较少的测试因子在组合时按照权重进行选择,根据多个分支获得的测试集进行累加,最终形成完整的测试集。
3.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
进行测试因子的分析,分析出正向和反向的取值;
选择两个或多个测试因子进行组合,筛选后形成复合测试因子;
建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性;
根据流程图中的分支,结合的可配置的生成策略,生成测试用例。
4.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
基于测试操作流程进行测试因子的分析,分析出正向和反向的取值;
选择至少测试因子进行组合,筛选后形成复合测试因子;
建立操作流程图模型,将测试因子作为节点,测试因子的取值作为连线,配置属性;
根据流程图中的分支,结合可配置的生成策略,生成测试用例。
5.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求1~2任意一项所述的测试用例的生成方法。
6.一种实施如权利要求1~2任意一项所述测试用例的生成方法的测试用例的生成系统,其特征在于,所述测试用例的生成系统包括:
测试分析模块,用于基于测试操作流程进行测试因子的分析,根据测试因子的关系进行筛选,形成复合测试因子;
测试用例生成模块,用于建立测试流程图,根据流程图中的分支,结合可配置的生成策略,生成测试用例。
7.如权利要求6所述的测试用例的生成系统,其特征在于,所述测试用例的生成系统进一步划分为:
测试因子分析模块,用于基于测试操作流程进行测试因子的分析,分析出正向和反向的取值;
测试因子组合模块,用于选择两个或多个测试因子进行组合,筛选后形成复合测试因子;
流程图模型建立模块,用于建立操作流程图,将测试因子作为节点,测试因子的取值作为连线,配置属性;
测试用例生成模块,用于根据流程图中的分支,结合可配置的生成策略,生成测试用例。
8.一种如权利要求1~2任意一项所述的测试用例的生成方法在计算机软件测试中的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922668.1A CN113377683B (zh) | 2021-08-12 | 2021-08-12 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110922668.1A CN113377683B (zh) | 2021-08-12 | 2021-08-12 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113377683A CN113377683A (zh) | 2021-09-10 |
CN113377683B true CN113377683B (zh) | 2022-01-28 |
Family
ID=77576987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110922668.1A Active CN113377683B (zh) | 2021-08-12 | 2021-08-12 | 软件测试用例的生成方法、系统、设备、终端、介质及应用 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377683B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795519B (zh) * | 2023-08-25 | 2023-12-05 | 江苏盖睿健康科技有限公司 | 一种基于互联网的远程智能调测方法和系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788907A (zh) * | 2010-01-04 | 2010-07-28 | 北京航空航天大学 | 组合服务精简测试用例的自动生成方法及装置 |
CN103235759A (zh) * | 2013-05-15 | 2013-08-07 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
CN105159827A (zh) * | 2015-08-21 | 2015-12-16 | 北京航空航天大学 | 一种面向gui软件的可靠性加速测试方法 |
CN105302720A (zh) * | 2015-10-27 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种软件回归测试用例筛选方法 |
CN105938454A (zh) * | 2016-04-13 | 2016-09-14 | 珠海迈科智能科技股份有限公司 | 一种测试用例的生成方法及系统 |
CN106445799A (zh) * | 2015-08-05 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 软件测试方法及装置 |
CN106708720A (zh) * | 2015-11-13 | 2017-05-24 | 航天信息股份有限公司 | 一种测试用例的生成方法和系统 |
CN109491922A (zh) * | 2018-12-13 | 2019-03-19 | 北京轩宇信息技术有限公司 | 一种基于模型驱动的测试方法和装置 |
CN109992498A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 测试用例的生成方法及系统、计算机系统 |
CN110750459A (zh) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | 基于白盒分析的测试用例自动生成和测试进程管理方法 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
CN112214390A (zh) * | 2019-07-09 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置、系统、设备及介质 |
CN113238932A (zh) * | 2021-04-30 | 2021-08-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 测试用例自动生成方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293257B2 (en) * | 2003-10-14 | 2007-11-06 | Microsoft Corporation | Method and system for efficient testing of sequences of computer-related operations |
US7665072B2 (en) * | 2005-04-21 | 2010-02-16 | Microsoft Corporation | Generating test cases for software with complex preconditions |
US10877874B2 (en) * | 2007-12-28 | 2020-12-29 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for modeling and generating test requirements for software applications |
CN102622294B (zh) * | 2011-01-28 | 2014-12-10 | 国际商业机器公司 | 生成用于不同测试类型的测试用例的方法和装置 |
US8949795B2 (en) * | 2012-08-23 | 2015-02-03 | International Business Machines Corporation | Generating test cases for covering enterprise rules and predicates |
CN104407971B (zh) * | 2014-11-18 | 2017-04-12 | 中国电子科技集团公司第十研究所 | 自动化测试嵌入式软件的方法 |
CN112000558A (zh) * | 2020-07-16 | 2020-11-27 | 浙江众合科技股份有限公司 | 轨道交通信号系统自动化测试用例生成方法 |
-
2021
- 2021-08-12 CN CN202110922668.1A patent/CN113377683B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101788907A (zh) * | 2010-01-04 | 2010-07-28 | 北京航空航天大学 | 组合服务精简测试用例的自动生成方法及装置 |
CN103235759A (zh) * | 2013-05-15 | 2013-08-07 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法和装置 |
CN106445799A (zh) * | 2015-08-05 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 软件测试方法及装置 |
CN105159827A (zh) * | 2015-08-21 | 2015-12-16 | 北京航空航天大学 | 一种面向gui软件的可靠性加速测试方法 |
CN105302720A (zh) * | 2015-10-27 | 2016-02-03 | 浪潮电子信息产业股份有限公司 | 一种软件回归测试用例筛选方法 |
CN106708720A (zh) * | 2015-11-13 | 2017-05-24 | 航天信息股份有限公司 | 一种测试用例的生成方法和系统 |
CN105938454A (zh) * | 2016-04-13 | 2016-09-14 | 珠海迈科智能科技股份有限公司 | 一种测试用例的生成方法及系统 |
CN109992498A (zh) * | 2017-12-29 | 2019-07-09 | 北京京东尚科信息技术有限公司 | 测试用例的生成方法及系统、计算机系统 |
CN109491922A (zh) * | 2018-12-13 | 2019-03-19 | 北京轩宇信息技术有限公司 | 一种基于模型驱动的测试方法和装置 |
CN112214390A (zh) * | 2019-07-09 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 一种测试用例生成方法、装置、系统、设备及介质 |
CN110928763A (zh) * | 2019-09-29 | 2020-03-27 | 京东数字科技控股有限公司 | 测试方法、装置、存储介质及计算机设备 |
CN110750459A (zh) * | 2019-10-23 | 2020-02-04 | 天津汇缘诚信科技有限公司 | 基于白盒分析的测试用例自动生成和测试进程管理方法 |
CN113238932A (zh) * | 2021-04-30 | 2021-08-10 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 测试用例自动生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113377683A (zh) | 2021-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110554958B (zh) | 图数据库测试方法、系统、设备和存储介质 | |
CN103313289B (zh) | Wap系统自动化测试系统和方法 | |
JPH11265369A (ja) | 相互関係表示装置 | |
CN111177134B (zh) | 适用于海量数据的数据质量分析方法、装置、终端及介质 | |
CN113377683B (zh) | 软件测试用例的生成方法、系统、设备、终端、介质及应用 | |
CN111222553B (zh) | 机器学习模型的训练数据处理方法、装置和计算机设备 | |
CN104965846B (zh) | MapReduce平台上的虚拟人建立方法 | |
CN113360353B (zh) | 一种测试服务器和云平台 | |
CN112363914B (zh) | 一种并行测试资源配置寻优的方法、计算设备及存储介质 | |
CN112966054A (zh) | 基于企业图谱节点间关系的族群划分方法和计算机设备 | |
CN114416669B (zh) | 群组过程文件管理方法、装置、网盘及存储介质 | |
CN114185938B (zh) | 基于数字金融及大数据溯源的项目溯源分析方法及系统 | |
CN116089490A (zh) | 数据分析方法、装置、终端和存储介质 | |
CN115309658A (zh) | 一种测试数据衍生方法、装置、设备及存储介质 | |
CN115840738A (zh) | 一种数据迁移方法、装置、电子设备及存储介质 | |
CN114661463A (zh) | 基于bp神经网络的系统资源预测方法及系统 | |
CN114722048A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112785000A (zh) | 面向大规模机器学习系统的机器学习模型训练方法及系统 | |
CN113382075A (zh) | 企业信息管理平台、管理方法、电子设备及存储介质 | |
CN112070162A (zh) | 多类别处理任务训练样本构建方法、设备及介质 | |
CN110807599A (zh) | 电化学储能方案的决策方法、装置、服务器和存储介质 | |
CN111159988A (zh) | 一种模型处理方法、装置、计算机设备及存储介质 | |
CN116912003B (zh) | 面向多交易品种的电力资源调度方法及系统 | |
CN115858699B (zh) | 数据仓库的构建方法、装置、电子设备和可读存储介质 | |
CN117933816A (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 |