当前位置:主页 > 科技论文 > 软件论文 >

基于数据流准则的测试用例自动生成方法研究

发布时间:2020-06-24 16:59
【摘要】:软件测试主要分为三个步骤:(1)为待测程序设计一组合理的测试用例;(2)在测试程序中执行设计好的测试用例;(3)判断执行结果和预期结果是否一致,以此确认输出的正确性。手工设计测试用例所需成本高,需要测试人员具备丰富的经验。实现测试用例生成的自动化有利于提高软件测试效率,降低测试成本。测试用例可以随机生成,也可以依据一些测试覆盖准则生成可以覆盖指定测试目标的测试用例。根据覆盖准则所考虑的程序实体的不同,可以分为两种类型:(1)基于控制流的测试覆盖准则,如语句覆盖、分支覆盖等;(2)基于数据流的测试覆盖准则,如所有使用覆盖准则等。其中数据流测试覆盖准则关注的是程序中的数据流交互关系,如果某条语句定义了一个变量且该变量用于另一条语句,就有必要执行经过这两条语句的路径来检查这之间是否存在错误。相比较于基于控制流的覆盖准则,数据流覆盖准则更容易检测到程序中通过变量引起的方法交互之间存在的错误,有着更为广泛的应用前景。但是,目前在基于数据流准则的测试用例生成问题上,依然有一些不足之处。包括:(1)数据流测试使用的适应度函数所包含的测试用例信息单一,无法较好地指导测试用例的进化;(2)覆盖数据流测试目标的难度高于分支等测试目标,导致数据流测试复杂度高,影响了数据流测试的应用。为此,本文对基于数据流准则的测试用例生成开展了以下相关的研究工作:(1)利用遗传算法实现基于数据流准则的测试用例自动生成方法,并设计了一个新的适应度函数指导测试测试用例的进化。适应度函数分别考虑定义节点和使用节点,利用分支距离度量测试用例到节点的距离,并引入一个常量来表示杀死节点信息,为测试用例的进化提供更多的信息,提高测试效率。(2)生成测试用例之前,利用所有使用覆盖准则和分支覆盖准则之间的并行覆盖关系,将部分数据流测试目标定义使用对替换为分支测试目标。在生成测试用例过程中,对于这部分被替换的目标,只需要保证测试用例覆盖对应的分支,不需要保证测试用例同时覆盖定义节点和相同变量的使用节点,也不需要额外考虑定义节点和使用节点之间是否存在杀死节点。以此降低数据流测试的复杂度。(3)设计并实现一个面向Java的基于数据流准则的测试用例自动生成工具DFTCG,使用遗传算法实现基于搜索的测试用例生成方法。提供可视化的界面方便使用者进行相关的配置。
【学位授予单位】:中国矿业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.53
【图文】:

控制流图,程序控制流图,示例


将源程序转换为程序的控制流图(con以用一个四元组 G 来表示。G=(N,合;E 是边的集合,用于表示两个语句一的入口节点;e 表示唯一的出口节点,每条边 e=(ni, nj)∈ E 代表从节程序路径 p 可以表示为一组控制节点序种,一种是控制流路径,是一组顺着程行路径,表示由程序输入所驱动的已制流图示例,圆圈表示各个节点,圆圈示控制转移的方向,两个节点和箭头共转移。

统计图,统计图,占比,适应度函数


采用公式 4-3 作为适应度函数,对于不可推断类型的测试目标 DUP,采用式 4-4 作为适应度函数。我们在 22 个实验对象上分别实现了这三种方法,致力于回答以下四个问题:(1) CDTG 识别的 DUP 中的过程间和过程内的 puse 和 cuse 类型占比分布情况如何?(2) CDTG 识别出的 DUP 中可以替换为分支的 DUP 占比为多少?(3) CDTG 中可推断 DUP 的类型分布情况如何?(4) CDTG 可实现的 DUP 覆盖率以及需要的时间开销是多少?.3.2 实验结果与分析1)不同类型 DUP 占比统计CDTG 可以收集程序中的 DUP 的相关信息,包括程序中 DUP 的总数以及不类型 DUP 的数量。图 4-4(a)和图 4-4(b)表示 CDTG 识别出的不同类型 DUP柱形图,横坐标表示程序对应的编号,纵坐标表示识别出的 DUP 的个数。

【参考文献】

相关期刊论文 前5条

1 王令赛;姜淑娟;张艳梅;于巧;;基于正交搜索的粒子群优化测试用例生成方法[J];电子学报;2014年12期

2 史娇娇;姜淑娟;韩寒;王令赛;;自适应粒子群优化算法及其在测试数据生成中的应用研究[J];电子学报;2013年08期

3 庄健;杨清宇;杜海峰;于德弘;;一种高效的复杂系统遗传算法[J];软件学报;2010年11期

4 张长胜;孙吉贵;欧阳丹彤;;一种自适应离散粒子群算法及其应用研究[J];电子学报;2009年02期

5 王雪梅,王义和;模拟退火算法与遗传算法的结合[J];计算机学报;1997年04期



本文编号:2728132

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2728132.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户14107***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com