[发明专利]面向路径的软件测试数据进化生成系统无效

专利信息
申请号: 201110004891.4 申请日: 2011-01-10
公开(公告)号: CN102331966A 公开(公告)日: 2012-01-25
发明(设计)人: 巩敦卫;罗永金;张岩;吴川;姚香娟;任丽娜;张婉秋 申请(专利权)人: 中国矿业大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 暂无信息 代理人: 暂无信息
地址: 221008 江苏省徐州*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 面向 路径 软件 测试数据 进化 生成 系统
【说明书】:

技术领域

专利涉及软件测试领域,设计并开发了一个面向路径的软件测试数据自动生成系统。

背景技术

软件测试是软件质量保证的关键,是软件开发中不可缺少的环节,也是软件工程的重要组成部分,测试的效果直接关系到软件产品的质量。据美国工业界的统计,软件测试占整个软件开发周期总成本的50%以上,包括十分耗时、枯燥、非常困难且容易出错的诸多环节。另外,随着计算机控制对象复杂度的不断提高和软件功能的不断增强,软件的规模也在不断地增大。大型系统的代码量甚至达到了千万行以上,这使得软件测试的开销也越来越大。在软件测试工作中最重要的环节就是测试数据的生成,这也是非常耗时的一个环节,则试数据的合理、准确与否常常关系到整个测试的成败。因此如果将该环节自动化,无疑将会缩短软件的开发周期,提高软件质量。

近几十年来,国际上和国内少数研究机构针对不同的计算机语言开发出路径覆盖测试数据生成的系统,其中Scott开发的系统是针对Fortran语言的,但只考虑了有限的Fortran语句,如if语句,和一些简单的算术分支谓词以及简单的变量类型;Ferguson和Korel开发了一个名为TESTGEN的测试数据生成系统,该系统支持Pascal语言编写的程序模块的测试数据生成。这个系统具有以下的限制性:只支持整型数据的生成;只支持简单的算术和布尔分支谓词;只支持了Pascal语言的一个子集,一些很重要的元素不能应用,如过程等。单锦辉等在2002年《计算机工程与科学》第24卷第1期上给出了一种面向路径的测试数据自动生成工具的设计与实现,但是该方法使用的测试数据生成方法是基于改进的松弛迭代方法进行的,需要用户实现的初始操作较多,面对非专业的软件测试人员是较难使用;刘义等2005年在《中国科教博览》杂志上发表的C程序路径覆盖及测试数据自动生成系统,该方法只是针对分支覆盖准则的路径覆盖;李宝林等在2007年《计算机工程》第33卷第15期中提出的面向路径的测试数据自动生成工具,该方法在路径选择和测试数据生成方法方面均有待改进,且测试数据生成的效率有待提高。

目前在软件测试各种覆盖准则中,路径覆盖对程序的覆盖程度最高,检错效率也最高,因此设计开发基于路径覆盖的测试数据自动生成系统十分必要。现有路径覆盖的测试数据生成方法有很多,遗传算法作为一种高效的全局搜索方法,已经被广泛应用于测试数据生成中,现有使用该方法自动生成路径覆盖测试数据的系统软件采用的都是传统遗传算法,遗传算法的个体编码方式、适应值计算、选择方式、交叉方式以及变异方式等均只使用一种方法,测试数据生成的效率有待提高。实际上被测程序是多种多样的,如能针对不同被测程序,可以采用不同的编码方式和不同的适应值计算方法,将能够有效提高测试数据的生成效率。软件测试行业需要一种能够结合现有改进的遗传算法,快速生成被测程序测试数据的软件,真正实现软件测试数据生成的自动化。

发明内容

为了实现软件测试数据生成的自动化,提高软件测试的效率和质量,本发明开发出一套面向路径的软件测试数据进化生成系统,该系统不仅能够根据用户所选择的测试路径,自动生成穿越这些目标路径的测试数据,而且在使用遗传算法生成测试数据的过程中,提供了多种可供选择的遗传算法个体编码方式、适应值计算方法、选择方式、交叉方式、变异方式等操作,方便用户根据被测程序的不同类型选择不同的测试数据生成方式,真正实现软件测试数据自动化生成。主要包含以下三大模块:

1、软件测试系统管理模块

本模块主要实现的功能是被测程序的选择、插装、输入输出处理以及外部变理处理等一系列设置操作,是通过一个交互式界面来实现的。

1.1被测程序插装是指为了动态的获取某一数据在程序中的运行状态,在程序中插入一些检查语句,通过这些检查语句的执行并输出程序的运行特征数据。本系统主要针对被测程序中的分支语句进行插装。

1.2输入处理包含被测程序的导入、被测程序的编辑操作等部分。另外还包括对文件或程序的打开、保存、另存为、编辑、打印等一系列的操作处理。

1.3外部变量处理是对系统中软件测试数据生成方法的选择设置,还包含对系统本身的设置操作。

2、被测程序分析操作模块

本模块实现了通过对被测程序的内部分析,得出被测程序的输入数据类型、被测程序的控制流图、进一步得到针对路径覆盖准则的目标路径等。

2.1被测程序的输入值个数、输入值类型及其范围是应用遗传算法生成测试数据的重要条件。不同的被测程序输入值个数不同、输入值类型及取值范围也不会相同。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国矿业大学,未经中国矿业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110004891.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top