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

来源 :中国矿业大学 | 被引量 : 0次 | 上传用户:yaofj0226
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试主要分为三个步骤:(1)为待测程序设计一组合理的测试用例;(2)在测试程序中执行设计好的测试用例;(3)判断执行结果和预期结果是否一致,以此确认输出的正确性。手工设计测试用例所需成本高,需要测试人员具备丰富的经验。实现测试用例生成的自动化有利于提高软件测试效率,降低测试成本。测试用例可以随机生成,也可以依据一些测试覆盖准则生成可以覆盖指定测试目标的测试用例。根据覆盖准则所考虑的程序实体的不同,可以分为两种类型:(1)基于控制流的测试覆盖准则,如语句覆盖、分支覆盖等;(2)基于数据流的测试覆盖准则,如所有使用覆盖准则等。其中数据流测试覆盖准则关注的是程序中的数据流交互关系,如果某条语句定义了一个变量且该变量用于另一条语句,就有必要执行经过这两条语句的路径来检查这之间是否存在错误。相比较于基于控制流的覆盖准则,数据流覆盖准则更容易检测到程序中通过变量引起的方法交互之间存在的错误,有着更为广泛的应用前景。但是,目前在基于数据流准则的测试用例生成问题上,依然有一些不足之处。包括:(1)数据流测试使用的适应度函数所包含的测试用例信息单一,无法较好地指导测试用例的进化;(2)覆盖数据流测试目标的难度高于分支等测试目标,导致数据流测试复杂度高,影响了数据流测试的应用。为此,本文对基于数据流准则的测试用例生成开展了以下相关的研究工作:(1)利用遗传算法实现基于数据流准则的测试用例自动生成方法,并设计了一个新的适应度函数指导测试测试用例的进化。适应度函数分别考虑定义节点和使用节点,利用分支距离度量测试用例到节点的距离,并引入一个常量来表示杀死节点信息,为测试用例的进化提供更多的信息,提高测试效率。(2)生成测试用例之前,利用所有使用覆盖准则和分支覆盖准则之间的并行覆盖关系,将部分数据流测试目标定义使用对替换为分支测试目标。在生成测试用例过程中,对于这部分被替换的目标,只需要保证测试用例覆盖对应的分支,不需要保证测试用例同时覆盖定义节点和相同变量的使用节点,也不需要额外考虑定义节点和使用节点之间是否存在杀死节点。以此降低数据流测试的复杂度。(3)设计并实现一个面向Java的基于数据流准则的测试用例自动生成工具DFTCG,使用遗传算法实现基于搜索的测试用例生成方法。提供可视化的界面方便使用者进行相关的配置。
其他文献
<正>本文采用案例研究方法,选取绿城集团、中海地产和雅居乐地产三家优秀大型房地产开发企业为研究对象,对房地产开发企业实施精品战略的实践进行系统解读,一方面可以为房地
<正>现阶段,我国房地产业的竞争已经到了资本竞争的时代,房地产融资已成为各房地产企业发展经营以及生死存亡的关键所在。除了利用现有的融资途径以外,房地产必须苦觅新径,不
本文结合启东市汇龙镇城镇土地调查项目,提出根据不同的住宅小区类型,确定科学合理的调查、定界、土地使用面积分摊等调查方法,使住宅小区的调查既能满足土地部门发证要求,又
以椰壳为原料,采用热解活化法制备微孔发达活性炭。研究了活化温度、活化时间对活性炭孔结构和吸附性能的影响。实验结果表明:活化温度为900℃,活化时间为4 h,可制得比表面积
以椰壳炭化料为原料,通过KOH活化法制备高比表面积活性炭,并探索温度、时间和活化比对活性炭吸附性能的影响。通过单因素试验发现,活化温度800℃,活化时间60 min,活化比值为5
<正>一、激情入课师:南宁的小朋友们,上午好!(掌声)请问:你们来自哪所学校?生:民主路小学。师(激情饱满):南宁民主路小学六年级的小朋友们,上午好!生(热情地):老师好!师:我们
片断一是美术欣赏教学中最常见的解说型的教学方式,呈现为教师与学生一问一答单纯的静态教学模式,它忽视了学生自身的感受和体验。片断二采用的是动态的探究型的教学方式,通过学
为了提高导引柔性,降低维护成本,将二维码技术应用到视觉导引AGV定位导航中。首先分析差速转向AGV运动学模型。将包含有坐标信息的二维码间隔一定距离粘贴到对应位置,车载工
分析了阜阳市三环路规划的必要性和指导思想,重点分析了新规划的三环路的功能定位和优点。
针对现场数据采集技术研究有助于整体提升煤化工行业智能工厂运行管理水平,研究了煤化工智能工厂现场需要采集的数据内容与如何实现现场数据采集两个方面,通过确定采集范围、