单元测试实训_基本路径集合自动生成工具实现

1需求分析


1.1简介
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,即清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。 单元测试属于白盒测试,它是所有测试的第一个环节,也是最重要的一个环节。它主要是针对一个类的public的方法来做测试。编写单元测试是一种验证类功能的行为,和优化设计的重要手段。
1.2需求分析
白盒测试是程序员提高软件质量的必要手段,基本路径测试法是白盒测试中运用最为广泛的一种,这种方法要求使用机械的方式生成测试用例来减少手工用例生成容易造成遗漏的可能性。即需要一个自动化工具来计算基本路径数目保证测试用基本路径集合的充分性与完整性。故对于该自动化工具要求设计算法完成测试用基本路径集合自动生成任务,并使用最短复用路径机制保证生成的每条基本路径为最小长度测试序列,达到优化结果集的目的。
与此同时,该自动化工具基本路径集生成算法的处理对象是程序单元控制流图的节点和边构成的矩阵模型,对于较小的程序单元其流程图相对简单,但对大型程序单元来说,其流程图节点和边的数目通常很大且节点间关系复杂、人工提取矩阵模型不仅效率低而且容易出错。为此,需要从程序流程图机械化提取图形矩阵信息,利用已有的基于图深度优先搜索的基本路径集自动生成优化算法生成基本路径集。让图形化界面以直观的图形化形式进行处理,保证基本路径集的完整性和正确性,提高软件的易操作性。


2概要设计


2.1概述
本软件为单元测试基本路径集合自动生成工具,根据设计要求设计算法完成测试用基本路径集合自动生成任务,并使用最短复用路径机制保证生成的每条基本路径为最小长度测试序列,达到优化结果集的目的。同时从程序流程图机械化提取图形矩阵信息,利用已有的基于图深度优先搜索的基本路径集自动生成优化算法生成基本路径集。
2.2开发环境
Windows10操作系统,CodeBlocks 17.12,Visio 2010,Visual Studio 2019.
2.3名词解释
1)程序路径:从程序控制流图的角度来说,程序路径是指从起始结点到终止结点所经过的一系列边形成的边序列,也可以使用结点序列描述。
2)独立路径:至少包含一条在其它路径中未出现过的边。
3)基本路径集、基本路径:基本路径集中每一条路径都是一条独立路径且程序控制流图中所有的边都被访问过。基本路径集中的元素是基本路径,每条基本路径至少含有一条其它基本路径未包含的边。
4)复用路径、最短复用路径:程序控制流图中任一结点出发到达终止结点所经过的边序列(或结点序列),程序控制流图中每个结点均有若干条复用路径。最短复用路径是指某结点的复用路径集中长度最小的元素称为该结点的最短复用路径。
5)圈复杂度:对于结构化程序而言,圈复杂度定义为V(G)=E-N+2P。其中,V(G)表示圈复杂度,E表示控制流图的边的数量,N表示控制流图的节点数,P表示控制流图中相连接的部分(因为程序控制流图都是连通的,所以P为1),圈复杂度取值代表了基本路径理论数目值。
2.4基本路径集自动生成算法
2.4.1    设计思想
1)根据程序流程图构造程序控制流图,使用程序控制流图的结点序列表示路径,并构造对应的矩阵表示;
2)结合边访问标志集合使用图深度优先搜索方法对控制流程图进行遍历,利用回滚机制避免程序控制流中环造成的不收敛,完成访问控制流图中所有边的要求;
3)引入结点复用路径最小长度记忆机制对基本路径进行优化,获得最小长度测试序列的优化基本路径集合。
2.4.2数据结构
01.流程图矩阵FlowChartMatrix[][],0:无边/1:有边
02.边访问标志EdgeVisitFlag[][],初始值全为0,0:未访问/1:已访问/2:未访问(回滚)
03.复用路径DuplicatePath[][],初始值全为0
04.复用路径长度DuplicatePathLength[],初始值全为0,0:无复用路径/N:复用路径结点数目
05.结点访问标志NodeVisitFlag[],初始值全为0,0:未访问/1:已访问
06.结点出度数NodeOutNumber[],初始值为结点对应出度,0:无未访问边/N:有N条未访问边
07.基本路径集合BasePathSet[][],初始值全为0
08.基本路径长度BasePathLength[],初始值全为0,0:无基本路径/N:基本路径结点数目
09.边访问次数EdgeVisitNumber[][],初始值全为0/N:该边的访问次数
10.分支结点标志BranchNodeFlag[],初始值全为0,0:对应结点不是分支结点/1:对应结点为分支结点

 完整实验报告:

https://download.csdn.net/download/LE1076287422/20087478

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯(◦˙▽˙◦)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值