收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

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

王立新  
【摘要】:当前,计算机的应用范围及规模不断扩大,软件复杂度也不断提高,对软件质量的要求也越来越高,高质量的软件开发正面临着极大的挑战。 提高软件质量的重要手段之一是高质量的软件测试。由于软件开发技术在不断地推陈出新,相比起来,软件测试技术的发展就要相对地滞后,面临着很多棘手的问题。 在软件测试中,一个很重要的问题就是如何生成高质量的测试数据。高质量的测试用例集可用较少的测试用例发现较多的错误和缺陷,可节省测试费用,提高测试效率和质量。面对众多的有关测试数据的生成及测试方法问题,我们选择性地研究了其中的几个主要方面,包括: (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测试方法的研究具有一定的理论和实用价值。


知网文化
【相似文献】
中国期刊全文数据库 前20条
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期
11 黄燕;姜林;;因果图与判定表组合生成测试用例的方法及其应用[J];软件导刊;2008年12期
12 李杨;;软件测试质量的分析与探讨[J];硅谷;2011年07期
13 杨小艳;陈利;张凯;;基于状态图的测试用例自动生成方法[J];计算机与数字工程;2007年01期
14 张峻;张广泉;王辉;戴晔;;UML 2.0通信图的一种测试用例生成方法[J];苏州大学学报(自然科学版);2007年02期
15 林辉;杨根兴;蔡立志;;一种基于两两组合测试的FIT框架扩展[J];计算机应用与软件;2009年01期
16 兰景英;王永恒;;基于UML状态图的测试场景生成法[J];计算机时代;2008年05期
17 马海云;党建武;;随机测试用例的优化技术研究[J];自动化与仪器仪表;2009年03期
18 贾冀婷;;基于粒子群算法的测试用例自动生成方法研究[J];计算机技术与发展;2010年09期
19 张卫民;陈宏敏;;几种特定判定形式的MC/DC评估分析[J];飞行器测控学报;2008年04期
20 胡煜,李远杰,曾明,朱利;基于公理系统的面向对象自动测试研究[J];微电子学与计算机;2005年07期
中国重要会议论文全文数据库 前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 王立新;软件测试数据的高效生成及测试方法研究[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年
中国重要报纸全文数据库 前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年
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978