动态程序切片在面向对象软件测试中的应用

来源 :上海大学 | 被引量 : 0次 | 上传用户:chen17981
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
我们需要编写驱动模块并输入测试用例来完成待测软件(CUT)的测试,接着比较预期结果和实际运行结果.比较结果以FAIL和PASS的形式存在于测试报告中.如果测试失败,则使用动态程序切片(DPS)检测和修正程序错误.接着,再次使用先前的测试方法和所需的测试信息对修改的CUT再次进行测试.在我们提出的方法中,对于标量和指针都使用了动态程序切片算法.指针情况下的切片算法同样可用于计算数组的动态切片.使用这种方法的原因是我们认为测试的目的是为了发现软件故障而不是软件错误,同时程序切片(尤其是动态程序切片)是软件测试的一部分,而不是相反.测试是困难的、易错的、开销巨大的,但又是十分必要的.测试是困难的是因为测试只能证明故障的存在,而不能说明不存在任何故障,不存在一种测试方法(即使是这些方法的组合)能发现所有的软件故障.测试是易错的是因为待测的系统往往是很大的而且十分复杂,许多软件行为都需要得到测试,有些软件故障是很难检测出来的.我们提出的检测技术针对的是C++编程语言,但是它十分灵活足以支持其他面向对象编程语言,比如JAVA.它的独特之处是综合使用了环形复杂性和动态程序切片方法来进行软件测试,同时它也提供了一个易于理解但又十分高效的技术来产生白盒测试所需的测试用例并检测和修正程序故障.
其他文献
人类社会已进入信息时代.信息技术的迅速发展加快了制造企业的现代化与信息化的进程.计算机技术与管理科技的结合促进了现代企业管理技术的形成.现代企业管理技术的目的是通
无线传感器网络是由分布在一定范围的大量传感器节点组成,各节点间多以无线多跳的无中心方式连接,能够协作地感知、采集和处理网络覆盖区域内目标对象的信息,并返回给观察者
目前,软件开发的整体趋势是采用分布式组件技术建立面向对象的、基于网络的、分布的和异构的大规模应用系统,把整个软件系统划分为一个个相互独立的组件,每个组件完成特定的功能
该文探讨人们一直关注的问题:如何构建高效、高质量地传输包括数据、多媒体及实时业务在内的综合业务宽带通信网络,并研究作为解决问题有效途径之一的多协议标记交换(MPLS)中
远程教育作为现代教育技术的形式,有效地牵引着教育资源的优化,给教育思想与技术带来了革命性的变革,已经成为现代教育的必然要求。远程教育要得以顺利、高效的实施,必然离不开高
随着Web2.0的深入发展,社会化标注系统不断普及,标签这一应用受到越来越多用户的关注与使用。标签是对资源的进行描述的词或词组。用户可以随意选择标签对资源进行标注,而不
该文通过分析飞机模线图这一具体的海量工程图的特点,从减小时间复杂度和空间复杂度入手,对这一类的工程图即海量工程图进行矢量化研究.因此,该文中对现有的二值化算法、细化
该文研究的内容是各种随机噪声下的语音流检测.所用的实验数据来自真实现场的录音.涉及噪声种类繁多,如脉冲噪声、周期噪声、高斯噪声(白、有色)、非高斯噪声及其更为复杂的
该文首先介绍了序列模式挖掘的基本概念及其发展方向,然后提出了序列模式挖掘的一个新的算法——CSE算法.提高序列模式挖掘算法的性能,最主要的是减少数据库查询和I/O操作,CS
支撑矢量机是一种普遍适用的方法,已经广泛地用于模式识别、回归估计、函数逼近、密度估计等方面.该文在对支撑矢量机研究的基础上,分别研究了四种方法:1)提出了基于最小支撑