一种基于优化后深度优先算法的测试用例生成方法技术

技术编号:26259163 阅读:54 留言:0更新日期:2020-11-06 17:53
本发明专利技术公开了一种基于优化后深度优先算法的测试用例生成方法,属于软件测试技术领域。本发明专利技术包括以下步骤:输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图;基于业务流程图,自顶向下逐层扩展,生成多层数据流图;基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图;将生成的树形结构图的每个节点增加加权参数,得到加权树形结构图;使用优化后DFS遍历加权树形结构图,得到多条路径集合,将集合中路径添加相应的关联语句,得到最终的测试用例集。本发明专利技术能快速生成测试用例,提高测试效率,降低测试成本,保证产品质量。

【技术实现步骤摘要】
一种基于优化后深度优先算法的测试用例生成方法
本专利技术涉及软件测试
,尤其是一种基于优化后深度优先算法的测试用例生成方法。
技术介绍
功能测试是一种常用的测试方法,主要目的在于验证软件的功能是否满足用户的需求。使用功能测试时,将被测系统当做一个封闭的黑盒子,不考虑内部逻辑,只考虑程序输入与输出之间的关系,由此推断测试结果是否正确。程序运行的输入数据以及期望输出结果共同构成了测试用例,测试用例的生成是功能测试的关键点。目前软件系统的设计规模和复杂度快速增长,为了保证软件质量,对测试人员的要求也越来越高。其中测试用例的设计是软件测试过程中的关键。如何设计有效且高质量的测试用例直接关系到软件测试的效率及软件系统的质量,但是传统的手工编写测试用例需要花费大量的时间和精力,测试人员良莠不齐的水平使得测试用例的需求和逻辑覆盖率差异性较大,无法有效地保证软件系统的质量。
技术实现思路
为了克服现有的手工编写测试用例导致的低效且覆盖率不高问题,提出了一种基于优化后深度优先算法的测试用例生成方法,本方法针对需求规格说明书构造业务控制流进行研究,结合优化后的深度搜索算法和实际业务要求,能够快速搜索并生成有效测试用例,尽量大的覆盖测试需求,进一步保障软件质量。为了实现上述目的,本专利技术采用以下技术方案:一种基于优化后深度优先算法的测试用例生成方法,包括以下步骤:输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图;基于业务流程图,自顶向下逐层扩展,生成多层数据流图;基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图;将生成的树形结构图的每个节点增加加权参数,得到加权树形结构图;使用优化后DFS遍历加权树形结构图,得到多条路径集合,将集合中路径添加相应的关联语句,得到最终的测试用例集。进一步的,所述输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图,包括:若需求规格说明书中自带业务流程图则直接提取使用,若需求规格说明书中没有业务流程图,则提取每个功能模块的关键字,自动生成业务流程图,并人工核对该业务流程图的正确性。进一步的,所述基于业务流程图,自顶向下逐层扩展,生成多层数据流图,包括:分析顶层数据流图,再将整体划分为多个独立且相互关联的模块,分别绘制顶层互通模块的数据流图和各个子模块相关的数据流图。进一步的,所述数据流图的生成方法包括:确定产品的业务模块;分析业务模块间业务交互数据;分析业务模块输入输出,确定各个业务模块的出入度;根据数据处理过程确定数据流向,每个处理至少有一个输入数据流和一个输出数据流;根据存储数据和分支流向,确定相关约束条件。进一步的,所述基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图,包括:确定节点个数并根据先后顺序确定层次关系;确定每个节点的出度数和入度数;根据数据流确定节点分支。进一步的,所述使用优化后DFS遍历加权树形结构图的方法包括:从一个顶点x出发,首先将x标记为已遍历的顶点且记录其入度数为0,然后选择一个邻接于x的尚未遍历的顶点y且记录其入度数,如果y不存在,本次搜索终止;如果y存在,那么从y再次开始遍历同事入度数减1;如此循环直到不存在未被遍历的顶点且所有节点入度数均为0。本专利技术与现有技术相比具有的有益效果是:针对手工编写测试用例的低效缓慢,以及基于代码生成测试用例时可能代码本身逻辑并不符合需求设计的问题,提出了一种基于优化后深度优先算法的测试用例生成方法,能快速生成测试用例,提高测试效率,降低测试成本,保证产品质量。附图说明图1.根据本专利技术的一个实施例的一种基于业务流程并结合深度优先搜索算法的自动生成测试用例的方法的主要流程示意图图2.根据本专利技术的一个实施例的业务流程示意图图3.根据本专利技术的一个实施例的数据流图图4.根据本专利技术的一个实施例的加权树具体实施方式下面结合实施例对本专利技术作进一步的描述,所描述的实施例仅仅是本专利技术一部分实施例,并不是全部的实施例。基于本专利技术中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本专利技术的保护范围。实施例1:针对手工编写测试用例的低效缓慢,以及基于代码生成测试用例时可能代码本身逻辑并不符合需求设计,因此,采用结合需求业务流程和优化后的深度搜索算法,有效、快速地生成测试用例,提高测试效率。如图1所示,本实施例提供一种基于优化后深度优先算法的测试用例生成方法,包括以下步骤:步骤101:输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图;在本实施例的一些可选实现方式中,若需求规格说明书自带业务流程图则直接提取使用,若需求规格说明书没有流程图,则提取每个功能模块的关键字,自动生成业务流程图,并人工核对流程图的正确性。其中每个页面或功能点对应一个或多个流程图,每个流程图尽可能全面的包含各个业务流程。在本实施例中,参考图2,其展示了系统的登录功能模块的业务流程图,流程为用户输入账号密码,登录成功则跳转成功界面,登录失败则跳转提示界面。步骤102:基于业务流程图,自顶向下逐层扩展,生成多层数据流图;结合系统业务流程图,自顶向下,先分析顶层数据流图,再将整体划分为多个独立且相互关联的模块,再将系统详细设计说明书作为辅助,分别绘制顶层互通模块的数据流图和各个子模块相关的数据流图,在本实施例中,数据流图生成方法如下所示:1)确定该产品的业务模块;2)分析模块间业务交互数据;3)分析模块输入输出,确定各个模块的出入度;4)根据数据处理过程确定数据流向,每个处理至少有一个输入数据流(数据来源)和一个输出数据流(处理结果);5)根据存储数据和分支流向,确定相关约束条件。在本实施例中,参考图3,其展示了根据系统的登录功能模块的业务流程图生成的数据流图,图中包含数据的输入输出,存储表,处理过程。步骤103:基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图;步骤104:将生成的树形结构图的每个节点增加加权参数,得到加权树形结构图;在本实施例中,参考图4,其展示了由数据流图转换生成的树形结构图并增加加权参数后的样子(简化具体功能项)。步骤105:使用优化后DFS遍历加权树形结构图,得到多条路径集合,将集合中路径添加相应的关联语句,得到最终的测试用例集。在本实施例中,参考图4,该树形图的深度搜索算法遍历过程如下:1)从顶点1开始,将1标记为已遍历且记录入度数x1为0,然后选择未被遍历的邻接1的顶点2,记录x2为1;2)标记顶点2,执行x2减1操作,x2为0,然后选择4且记录x4为1,标记4并执行x4减1操作,x4为0,然后选择顶点4邻本文档来自技高网...

【技术保护点】
1.一种基于优化后深度优先算法的测试用例生成方法,其特征在于,包括以下步骤:/n输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图;/n基于业务流程图,自顶向下逐层扩展,生成多层数据流图;/n基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图;/n将生成的树形结构图的每个节点增加加权参数,得到加权树形结构图;/n使用优化后DFS遍历加权树形结构图,得到多条路径集合,将集合中路径添加相应的关联语句,得到最终的测试用例集。/n

【技术特征摘要】
1.一种基于优化后深度优先算法的测试用例生成方法,其特征在于,包括以下步骤:
输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图;
基于业务流程图,自顶向下逐层扩展,生成多层数据流图;
基于已生成的数据流图,根据数据流向递归遍历所有节点,生成树形结构图;
将生成的树形结构图的每个节点增加加权参数,得到加权树形结构图;
使用优化后DFS遍历加权树形结构图,得到多条路径集合,将集合中路径添加相应的关联语句,得到最终的测试用例集。


2.根据权利要求1所述的一种基于优化后深度优先算法的测试用例生成方法,其特征在于,所述输入产品需求规格说明书,从中得到当前产品的各个功能要点的业务流程图,包括:
若需求规格说明书中自带业务流程图则直接提取使用,若需求规格说明书中没有业务流程图,则提取每个功能模块的关键字,自动生成业务流程图,并人工核对该业务流程图的正确性。


3.根据权利要求1所述的一种基于优化后深度优先算法的测试用例生成方法,其特征在于,所述基于业务流程图,自顶向下逐层扩展,生成多层数据流图,包括:
分析顶层数据流图,再将整体划分为多个独立且相互关联的模块,分别绘制顶层互通模块的数据流图和各个子模块相关...

【专利技术属性】
技术研发人员:张文潇
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1