掌桥专利:专业的专利平台
掌桥专利
首页

基于分类树和判定树的图形化的需求分析及测试用例生成方法

文献发布时间:2023-06-19 11:32:36


基于分类树和判定树的图形化的需求分析及测试用例生成方法

技术领域

本发明涉及软件测试技术领域,尤其涉及一种基于分类树和判定树的图形化的需求分析及测试用例生成方法。

背景技术

测试需求分析与测试设计是软件测试的核心,现有技术中基于功能点的参数、约束关系、参数组合级别自动化生成测试用例,解决了测试设计的标准化及规范化问题。但是功能点参数的选取、参数间的约束关系等源自测试需求分析的结果,目前测试需求分析主要基于自然语言描述,存在如下几方面的不足:(1)测试需求分析过程不可见,测试需求分析结果不易评审;(2)功能点参数的拆分依赖于人员经验,无方法论指导,参数拆分的完备性无法保障;(3)参数间的约束关系通过“=,IN,NOT IN,IF,THEN,AND,<>”等语句表达,当约束关系复杂时,约束关系的正确性及是否遗漏等不易评审;(4)测试需求分析与测试设计间的关联性较弱,不利于需求跟踪及需求变更时的设计调整及复用。

发明内容

根据现有技术存在的问题,本发明公开了一种基于分类树和判定树的图形化的需求分析及测试用例生成方法,具体包括如下步骤:

在测试需求分析阶段基于分类树进行组合参数的分析和提取,基于判定树进行功能逻辑约束关系建模,在测试设计阶段基于测试需求分析结果生成测试用例;具体包括:

绘制分类树:基于用户需求识别测试对象,利用分类树对被测对象的输入、输出空间进行分类并逐层分解,直至分解到用于参数组合的最小单元,并对每个最底层的参数选取用于后续参数组合的代表值;

绘制判定树:基于用户需求对分类树拆分出的参数间的业务逻辑关系以树形结构方式表示;

设定参数分组和组合强度,将组合参数进行分组,并设置不同分组内的组合强度同时定义组间的默认组合强度;

采用测试需求分析结果及正交优化算法生成测试用例。

进一步的,将分类树中被测对象的第一层默认分为影响期望结果参数、不影响期望结果参数和期望结果参数三类;

将输入参数值的变化、直接影响被测功能的输出结果、或者被识别为需要重点测试、必须保证测试覆盖度的输入参数定义为影响期望结果参数;

将输入参数值的变化、不会影响被测功能的输出结果、或者被识别为不需要重点测试的输入参数定义为不影响期望结果参数;

期望结果参数:将被测功能的预期输出结果及测试关注点按不同维度进行分类,每一维度的测试关注点定义为一个期望结果参数。

进一步的,在生成测试用例时:

首先基于分类树获取用于组合的参数及参数值;

基于判定树获取参数间约束关系并自动拼接为测试程序识别的约束语句;

将影响期望结果、不影响期望结果、期结果三类参数进行分组,并定义每个组内参数间的组合强度;

基于测试需求分析结果采用组合生成算法自动生成测试用例。

由于采用了上述技术方案,本发明提供的一种基于分类树和判定树的图形化的需求分析及测试用例生成方法,该方法将机器学习中的“分类树”及“判定树”理论引入软件测试领域,用于功能点用例的测试建模;在测试需求分析阶段:基于“分类树”进行组合参数的分析及提取,基于“判定树”进行功能逻辑约束关系的建模,从而提高测试需求分析的可视化及完备性;在测试设计阶段:基于测试需求分析结果智能生成测试用例,极大的提高了测试需求分析与测试设计的关联性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法的流程图;

图2为本发明中分类树的结构框图;

图3为本发明中判定树的结构框图;

图4为本发明中参数分组及组合强度设置原型图;

图5为本发明中测试用例结构框图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1所示的一种基于分类树和判定树的图形化的需求分析及测试用例生成方法,利用分类树对被测对象的输入、输出空间进行结构化、层次化的分类,抽象提取出用于组合的参数及典型参数值;利用判定树对被测对象的业务处理规则及逻辑进行描述,并可基于可视化的需求分析结果智能生成测试用例,包括以下步骤:

S1:绘制分类树:将被测对象按不同维度进行分类,逐层分解,提取用于组合的参数;

分类树是Grochtmann和Grimm在1993年提出,通过将被测对象按不同维度进行分类,组织若干结构化、系统化测试对象过程的功能测试设计方法,如图2所示:

在本发明中将被测对象的第一层默认分为“影响期望结果参数”、“不影响期望结果参数”、“期望结果参数”3大类。其次针对每个大类下按不同维度将被测对象进一步细分:影响期望结果参数分"会员客户维度","交易状态维度","定单状态维度","动态持仓维度";不影响期望结果参数部分从“会员客户维度”进行考虑;影响期望结果包括“资金校验”、“委托校验”两个维度。每个大类下的分层可逐层划分,直至拆分到用于组合的最小参数为止。其次为每个组合的参数选取有代表性的参数值,如“交易编码是否是做市商”分为做市商、非做市商2个代表值。

基于分类树对组合参数的抽取及分析,一方面实现测试需求分析过程的可视化,另一方面也实现的组合参数分析的完备性。

S2:绘制判定树:以树形结构表示参数间的约束关系,支持“=,IN,NOT IN,IF,THEN,AND,<>”等逻辑关系;

判定树是判定表的树形展示,用图形方式来表示多条件、多取值应采取的动作,通过树形结构表达参数间的约束关系,支持“=,IN,NOT IN,IF,THEN,AND,<>”等逻辑关系。

如图3中基于图形界面支持的可选操作符(=,IN,NOT IN)及部分后台自动拼接操作符(如IF,THEN,AND),系统可自动化拼接为核心后台算法可识别的逻辑关系操作符,如图3中第一条判定关系系统可自动拼接为:

IF[交易编码持仓情况]="单腿持仓"AND[是否存在卖平冻结]IN{"不存在","存在未平到组合"}THEN[委托量与可组单腿量关系]IN{"小于","等于"}。

基于分类树对业务逻辑关系进行表达并借助系统自动拼接为后台算法可识别的语法规则约束,极大的提高了需求分析的易评审性。

S3:设定参数分组及组合强度:将组合参数进行分组,并设置不同分组内的组合强度;定义组间的默认组合强度(组间默认强度为1)

如图4所示,对分类树分解的用于组合的参数进行分组划分,将业务逻辑关系紧密的参数放在同一组内部进行组合,同一参数可用同时存在于不同的组内部,组间参数耦合度较弱组合强度默认为1(即结果交叉覆盖不进行两两及更高强度的组合覆盖)。如参数“交易编码是否是做市商”,“合约交易状态”,“定单类型”,“定单属性”放在组1,定义组合强度为@5;“投保标志”,“交易编码持仓情况”,“委托量与可组单腿量关系”,“会员交易保证金率”放在组2,定义组合强度为@3。

S4:生成测试用例:基于S1-S4测试需求分析结果及正交优化算法(国家知识产权局专利《一种基于路径自适应技术的业务流测试用例自动生成系统》,申请号为(CN201710935810.X)一键生成测试用例,如图5;实现测试需求与设计的高度关联性、测试设计效率及需求变更时用例的自动适配调整。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

相关技术
  • 基于分类树和判定树的图形化的需求分析及测试用例生成方法
  • 基于电动汽车的功能需求的测试用例生成方法和测试方法
技术分类

06120112964966