收藏本站
《东华大学》 2011年
收藏 | 手机打开
二维码
手机客户端打开本文

软件测试数据的高效生成及测试方法研究

王立新  
【摘要】:当前,计算机的应用范围及规模不断扩大,软件复杂度也不断提高,对软件质量的要求也越来越高,高质量的软件开发正面临着极大的挑战。 提高软件质量的重要手段之一是高质量的软件测试。由于软件开发技术在不断地推陈出新,相比起来,软件测试技术的发展就要相对地滞后,面临着很多棘手的问题。 在软件测试中,一个很重要的问题就是如何生成高质量的测试数据。高质量的测试用例集可用较少的测试用例发现较多的错误和缺陷,可节省测试费用,提高测试效率和质量。面对众多的有关测试数据的生成及测试方法问题,我们选择性地研究了其中的几个主要方面,包括: (1)组合测试用例集的生成和精简; (2)结构化测试中,对大程序的测试相关问题; (3)基于Anti-model的测试技术的研究。 就组合测试用例生成来说,已经有了不少的研究成果。R. Mandl在1985年为了测试Ada编译器首先提出了组合测试的概念。此后,组合测试就成为了研究焦点之一,D. Cohen等很多的国内外学者提出了各种方法来生成组合覆盖测试用例集。 就结构测试来说,选择路径和按照选定路径生成测试用例是其中重要的两个方面。1982年,Thomas McCabe在其提出的软件复杂性度量的理论基础之上,提出了基本路径覆盖测试的概念;随后B. Beizer等提出了各种覆盖准则等。那么基于给定的测试路径,可以用静态法、动态法以及试探法等生成面向路径的测试用例。 不管怎样,对于组合测试来说,被测软件往往输入参数多,并且参数取值也多;对于结构测试来说,往往需要覆盖的测试路径数目很大,因此都会导致测试用例集的庞大,给测试工作带来困难。 然而,组合测试用例集中常存在着冗余和无效的用例,从而影响测试的效率和效果,那么怎样精简冗余和无效的用例呢?结构测试也存在不能完全覆盖所有路径的问题,那么如何选择覆盖的标准呢?还有,当被测软件只有一个总的系统架构和系统总体需求,没有其它相关的的详细信息(如源代码等),或者在实际的系统实现过程中设计模型常需要多次被修改等情况时,又该怎样来测试这样的系统呢? 针对上述的这些测试中的问题,本文研究的主要内容和成果如下: (1)提出了一种基于树模型和输入参数关系的全组合测试用例集的精简和生成方法。这种方法首先是用解空间树来表示多输入参数的组合测试用例,并且给出了解空间树和输入参数之间的关系;然后分析了输入参数之间的依赖关系,总结了依赖关系的几种分类,说明了如何利用依赖关系来剪裁解空间树的冗余无效的枝叶;最后给出了生成解空间树、裁剪冗余无效枝叶和生成组合测试用例集的算法。实验表明该方法在一定的范围中具有较好的性能和实际的应用性。 (2)讨论了利用输入关系精简成对组合用例集的方法。为了剔除组合测试用例集中的无效用例,提高用例集的生成效率,系统地分析了成对组合测试用例集中的无效用例存在情况,研究了成对输入关系集的获取,提出了成对组合测试用例集的精简方法,并给出了判断用例是否为无效用例的具体算法。 (3)提出了几种利用LP来求解小的组合测试用例集的方法。首先建立了组合测试LP优化模型,其主要的目标是提高获取用例集时LP的求解效率;然后给出化解大LP为小LP求解测试集、0/1整型LP来求解非最小测试集和非0/1整型规划求解测试集的三种直接获得用例集的方法;最后提出和利用了三个精简输入输出关系规则来精简LP求解用例集的约束数和变量数。在实验分析中,我们在耗时、用例集的大小和方法可用性这三个方面比较了这些方法,并得出了中断0/1-ILP程序来求得替代的用例集是可行且综合性能比较好的结论。 (4)提出了基于圈复杂度的大程序分割测试方法。文中分析了难以对圈复杂度大的程序进行测试的原因,给出了基于程序分割的变量影响度和圈复杂度的算法,讨论了程序分割的方式和原则,也讨论了分割对几种测试数据生成算法性能的影响以及分割对程序元素的覆盖率影响。通过分割程序可以降低每个程序片段的圈复杂度,从而降低测试的难度,而且从每个片段来说,分割会使得测试效率提高。 (5)基于Anti-model的测试是在没有源代码或者只有较少的系统信息情况下的一种测试技术,它和基于模型的测试技术相对应。文中以基于组件的测试为具体的叙述对象,提出了基于组件的系统测试框架及过程,并将测试数据分为测试用例运行时的I/O信息、测试用例运行时的组件之间的动态的行为交互信息和系统运行时的动态行为交互信息等三类,讨论了AspectJ面向方面的编程方法和JVMTI接口等两种动态数据的获取技术,给出了动态数据信息的形式化描述,探讨了获取动态行为模型的具体的算法过程等,并且初步实现了测试框架的部分功能。 本文对软件测试中的几个关键问题进行了一些有益的研究和探索,从理论上给出了一些分析,提出了一些新的解决方法,实验的结果可以验证本文的方法在某种程度上能够较好地解决问题,并且我们的研究工作对于测试数据生成以及Anti-model测试方法的研究具有一定的理论和实用价值。
【学位授予单位】:东华大学
【学位级别】:博士
【学位授予年份】:2011
【分类号】:TP311.52

手机知网App
【参考文献】
中国期刊全文数据库 前10条
1 单锦辉,王戟,齐治昌;面向路径的测试数据自动生成方法述评[J];电子学报;2004年01期
2 傅博;基于模拟退火遗传算法的软件测试数据自动生成[J];计算机工程与应用;2005年12期
3 傅博;;基于蚁群算法的软件测试数据自动生成[J];计算机工程与应用;2007年12期
4 陈继锋;沈钧毅;王志海;王欣峻;;一种结构测试数据自动生成的框架[J];计算机工程;2007年08期
5 李爱国;张艳丽;;基于PSO的软件结构测试数据自动生成方法[J];计算机工程;2008年06期
6 张涌,钱乐秋,王渊峰;基于扩展有限状态机测试中测试输入数据自动选取的研究[J];计算机学报;2003年10期
7 聂长海,徐宝文;基于接口参数的黑箱测试用例自动生成算法[J];计算机学报;2004年03期
8 聂长海;徐宝文;史亮;;一种新的二水平多因素系统两两组合覆盖测试数据生成算法[J];计算机学报;2006年06期
9 史亮;聂长海;徐宝文;;基于解空间树的组合测试数据生成[J];计算机学报;2006年06期
10 赵庆兰;艾丽蓉;刘西洋;王斌;刘鹤辉;;基于进化算法的软件测试数据生成的自动化[J];计算机测量与控制;2006年10期
【共引文献】
中国期刊全文数据库 前10条
1 丁蕾;方木云;;简述软件测试的白盒测试法[J];安徽科技;2007年10期
2 田江;高炽扬;李亚伟;;基于智能算法的测试数据自动生成模型研究[J];信息安全与技术;2010年09期
3 宋春秀;;面向对象软件测试技术的研究[J];信息安全与技术;2010年09期
4 刘姝;;DB2数据库设计及优化技术研究[J];信息安全与技术;2011年11期
5 单锦辉,姜瑛,孙萍;软件测试研究进展[J];北京大学学报(自然科学版);2005年01期
6 林梦香;陈胤立;陈睿;周刚;;基于懒替换的C符号执行[J];北京航空航天大学学报;2009年06期
7 高静;兰雨晴;金茂忠;;基础软件平台集成测试组合选择方法[J];北京航空航天大学学报;2010年03期
8 王雅文;宫云战;肖庆;杨朝红;;扩展区间运算的变量值范围分析技术[J];北京邮电大学学报;2009年03期
9 夏书宇,刘薇,韩秀英;多目标指派模型在体育人力资源配置中的应用[J];首都体育学院学报;2005年05期
10 时贵英;吴雅娟;倪红梅;;一种新改进的粒子群优化算法[J];长春理工大学学报(自然科学版);2011年02期
中国重要会议论文全文数据库 前10条
1 张克宏;;藏文文献数字化保护系统面向对象的集成测试研究[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
2 崔冬华;李俊士;乔素琴;;基于二叉解空间树的两两组合测试数据生成[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
3 孙宇;曾卫东;王腾飞;韩远飞;邵一涛;赵永庆;周义刚;;钛合金材料图片信息管理系统的研究[A];第六届华北(扩大)塑性加工学术年会文集[C];2009年
4 刘晓明;赖祥;黄松;;一种基于邻接矩阵的有限状态机路径产生方法[A];全国第19届计算机技术与应用(CACIS)学术会议论文集(下册)[C];2008年
5 王孔义;郭海星;孙延峰;;人力资源信息系统与软件测试技术[A];煤矿自动化与信息化——第21届全国煤矿自动化与信息化学术会议暨第3届中国煤矿信息化与自动化高层论坛论文集(下册)[C];2011年
6 唐乐;雷航;吴晓华;;基于时间Petri网产生测试序列的方法[A];第四届中国测试学术会议论文集[C];2006年
7 王雅文;宫云战;肖庆;杨朝红;;区间运算在软件缺陷检测中的应用[A];第五届中国测试学术会议论文集[C];2008年
8 黄百乔;张虹;陆民燕;李海峰;;GUI软件功能测试用例数据选取策略研究[A];第六届中国测试学术会议论文集[C];2010年
9 王思岚;王雅文;宫云战;;单元覆盖测试中基于区间运算的路径选择方法[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
10 陈琴;姚炎明;;考虑行政(区域)分配的海域污染物最大允许排放量计算探讨[A];建设浙江海洋经济发展示范区舟山群岛新区研讨会论文汇编[C];2011年
中国博士学位论文全文数据库 前10条
1 舒挺;EFSM模型协议一致性测试序列自动生成研究[D];浙江大学;2010年
2 朱彬;基于用户界面规格说明的Web应用建模与测试用例生成[D];上海大学;2011年
3 刘攀;基于FSM的测试用例生成和测试优化[D];上海大学;2011年
4 刘振宇;服务网格环境中场景测试的关键技术研究[D];复旦大学;2010年
5 崔应霞;组合测试技术的研究与应用[D];安徽大学;2011年
6 姚香娟;复杂软件测试数据进化生成理论及应用[D];中国矿业大学;2011年
7 李克文;软件质量测评模型与测试数据生成方法研究[D];天津大学;2012年
8 黄越;数字集成电路自动测试生成算法研究[D];江南大学;2012年
9 李华旺;航天嵌入式现代小卫星软件容错设计及测试系统研究[D];中国科学院上海冶金研究所;2001年
10 单锦辉;面向路径的测试数据自动生成方法研究[D];国防科学技术大学;2002年
中国硕士学位论文全文数据库 前10条
1 罗晨;基于网络的库存管理系统的研究与应用[D];哈尔滨工程大学;2010年
2 徐俊义;参数组合覆盖测试用例自动生成技术[D];哈尔滨工程大学;2010年
3 孙佳地;划分测试模型及其应用研究[D];大连理工大学;2010年
4 肖良清;基于时间Petri网的并行测试研究[D];长沙理工大学;2010年
5 董晓莹;通用试卷质量分析系统的设计与实现[D];大连海事大学;2010年
6 张久清;基于WEB技术的校园无纸化办公系统平台的设计与实现[D];华东师范大学;2010年
7 於鑫;游戏开发需求管理平台的设计与实现[D];华东师范大学;2010年
8 刘双悦;基于遗传算法的软件测试用例自动生成技术研究[D];哈尔滨理工大学;2010年
9 张铭霖;农村中青年信息能力培训系统的设计与实现[D];华南理工大学;2010年
10 陈大胜;基于.NET的高职院校教务管理系统的设计与实现[D];南昌大学;2010年
【二级参考文献】
中国期刊全文数据库 前10条
1 荚伟,奚红宇,高仲仪;遗传算法在软件测试数据生成中的应用[J];北京航空航天大学学报;1998年04期
2 汪浩,谢军凯,高仲仪;遗传算法及其在软件测试数据生成中的应用研究[J];计算机工程与应用;2001年12期
3 傅博;基于模拟退火遗传算法的软件测试数据自动生成[J];计算机工程与应用;2005年12期
4 伦立军;丁雪梅;李英梅;;基于遗传算法的测试数据生成研究[J];计算机工程;2005年23期
5 兰毓华,毛法尧,曹化工;基于Z规格说明的软件测试用例自动生成[J];计算机学报;1999年09期
6 聂长海,徐宝文;一种最小测试用例集生成方法[J];计算机学报;2003年12期
7 聂长海,徐宝文;基于接口参数的黑箱测试用例自动生成算法[J];计算机学报;2004年03期
8 陈继锋,朱利,沈钧毅,陈玲;一种基于路径的测试数据自动生成算法[J];控制与决策;2005年09期
9 薛云志;陈伟;王永吉;赵琛;王青;;一种基于Messy GA的结构测试数据自动生成方法[J];软件学报;2006年08期
10 奚红宇,徐红,高仲仪;Ada软件测试用例生成工具[J];软件学报;1997年04期
【相似文献】
中国期刊全文数据库 前10条
1 刘皓;李长命;;软件测试简述与展望[J];江苏现代计量;2008年01期
2 赵智超;吴铁峰;王斌;;编译器优化测试方法研究[J];电脑知识与技术;2011年24期
3 张卫祥;刘文红;;一种基于组合覆盖的黑盒测试用例自动生成方法[J];飞行器测控学报;2008年05期
4 朱海燕;;布尔规格说明测试中的错误类[J];计算机工程与应用;2009年18期
5 张巍;尹海波;孙立财;;软件的单元测试方法[J];光电技术应用;2006年02期
6 丁宝康,陈莹;面向对象软件系统的测试[J];计算机工程;1995年05期
7 刘婷;石跃祥;;基于UML的面向对象测试用例的研究[J];湖北经济学院学报(人文社会科学版);2009年03期
8 尚艳玲;张云锋;;软件可靠性测试方法研究[J];现代计算机;2007年06期
9 苏宝莉;;基于VC6.0的单元测试研究与实践[J];甘肃科技;2007年02期
10 李举鹏;;GA在软件测试中的应用[J];甘肃科技;2007年06期
中国重要会议论文全文数据库 前10条
1 戴骏炜;;软件自动化测试工具的引入[A];冶金企业自动化、信息化与创新——全国冶金自动化信息网建网30周年论文集[C];2007年
2 田丽芳;刘栓;;软件测试的学习方法探究[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
3 孟洛明;;安全性测试及基于属性文法的测试用例生成器[A];第四次全国计算机安全技术交流会论文集[C];1989年
4 李文锋;徐拾义;;软件内建自测试中的测试数据生成方法[A];第十届全国容错计算学术会议论文集[C];2003年
5 王运霞;朱建军;;关于提高测试有效性的研究[A];铁道科学技术新进展——铁道科学研究院五十五周年论文集[C];2005年
6 常永亮;王佳琳;常永刚;刘宝凤;;软件测试的应用[A];2008年航空试验测试技术峰会论文集[C];2008年
7 王道堂;林春哲;张凯;;软件测试用例构造方法与手段[A];计算机技术在工程建设中的应用——第十二届全国工程建设计算机应用学术会议论文集[C];2004年
8 吉大纯;陈蕾;梁静;邵四海;;基于PG框架的软件结构测试用例自动生成研究[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
9 崔冬华;李俊士;乔素琴;;基于二叉解空间树的两两组合测试数据生成[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
10 曹文静;宫云战;李晓维;;路径覆盖测试的检错效果研究[A];第十届全国容错计算学术会议论文集[C];2003年
中国重要报纸全文数据库 前10条
1 北京融海恒信咨询有限公司;软件测试:一个不得不关注的问题[N];中国计算机报;2002年
2 谢雅莉 张旭春 李佩刚;软件测试:行业受重视但认识有误区[N];中国城乡金融报;2006年
3 闫辉;测试成就完美软件[N];电脑报;2003年
4 扬子;IT业软件测试人才短缺[N];经济日报;2005年
5 王晓鸥;软件测试工程师 人才缺口20万 月薪可达七八千[N];经理日报;2005年
6 王宇;过程决定质量[N];中国计算机报;2003年
7 仪芳媛;IT巨头京城上演软件测试人才掠夺战[N];中国企业报;2006年
8 本报记者  张咏梅;软件测试人才面临“回炉”[N];北京人才市场报;2006年
9 仪芳媛;IT毕业生跳动的职场脉搏你按住没有?[N];市场报;2006年
10 成墨;软件测试人才争夺战升级[N];中华工商时报;2006年
中国博士学位论文全文数据库 前10条
1 王立新;软件测试数据的高效生成及测试方法研究[D];东华大学;2011年
2 夏启明;软件测试及评价的复用策略研究及其实现[D];武汉大学;2010年
3 张娟;软件测试中测试用例复用的研究[D];上海大学;2012年
4 钱思佑;图形用户界面测试中相关问题研究[D];中国科学技术大学;2010年
5 姚砺;面向对象软件测试的研究[D];浙江大学;2002年
6 潘丽丽;软件测试用例集简化及其构建方法研究[D];湖南大学;2009年
7 李留英;UML测试技术的研究与实现[D];中国人民解放军国防科学技术大学;2000年
8 李丽;航天相机主控软件测试用例自动生成技术的研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2010年
9 游亮;回归测试用例选择技术研究[D];华中科技大学;2012年
10 毛澄映;面向对象程序分析与测试技术研究[D];华中科技大学;2006年
中国硕士学位论文全文数据库 前10条
1 许扬;ATE软件测试策略及实例研究[D];电子科技大学;2004年
2 贾宁;基于数据挖掘的软件测试技术研究[D];天津大学;2007年
3 周秋丹;软件测试在IBM域管理系统中的应用[D];大连理工大学;2006年
4 殷广丽;软件测试管理与测试应用实践[D];山东大学;2005年
5 邱彦卿;软件测试自动化技术及其应用研究[D];华中科技大学;2007年
6 戴鹏;金融交易系统测试过程的分析与设计[D];华东师范大学;2006年
7 曹锋;基于RUP的软件测试[D];昆明理工大学;2006年
8 罗进开;FXC NG可追踪性测试实践[D];浙江大学;2006年
9 赵贵余;SDH组网自动化测试研究[D];吉林大学;2006年
10 张襄松;软件可靠性及测试用例的最优分配问题研究[D];西安电子科技大学;2007年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026