随机测试用例的自动化生成和约简

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:hldu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件作为计算机的灵魂,在国民经济和社会生活等各方面都起着举足轻重的作用。软件质量问题直接影响各行业的正常运作,软件错误轻则给用户带来不便,重则造成巨大经济损失甚至人员伤亡。软件测试是保证软件质量和可靠性的重要手段,是软件开发中不可或缺的环节。随着用户对软件产品质量的要求不断提高以及软件工程技术的日益成熟,软件测试在整个软件开发周期中所占的比重越来越大。而设计测试用例是软件测试的核心问题,软件测试的好坏很大程度上取决于测试用例的质量和数量。设计测试用例往往需要手工完成,耗时长且效率低。因此,设计实现一种高质量的测试用例自动化生成工具,对于提高软件测试的效率和质量具有重要的研究意义和应用价值。本文针对测试用例生成这一核心问题,整合随机测试和不变量提取技术,设计实现了一个完全自动化的测试用例生成框架工具。在分析了随机测试优缺点的基础上,着重利用随机测试自动化程度高的优点,1)使用预设值技术来提高随机测试的覆盖率,且支持用户自定义预设值,可扩展性强;2)实现了复杂类型数据的递归生成,适用范围更广;3)引入错误测试用例过滤机制,保证测试用例的正常执行;4)不变量是程序执行过程中保持不变的逻辑断言,是对程序属性的一种描述。利用这一特性,实现了基于不变量变化的约简算法,对随机生成的测试用例进行有效的约简,使得最终生成的测试用例规模适度;5)为测试用例生成提供了新的终止标准,解决了以往以时间为限制条件的缺点。最终的程序输出包括三部分:可用于人工排错或回归测试的正常测试用例,能够揭示程序缺陷的错误测试用例,以及揭示程序属性的不变量。通过实验证明,本文实现的随机测试用例生成技术,可以在无任何人工干预的情况下,完全自动化的生成规模适度的测试用例;基于不变量技术的测试用例约简算法效果突出;输出的错误测试用例可以有效的揭示程序中的错误;与纯随机技术相比,带预设值的测试用例代码覆盖率显著提高;变异测试充分度达到不低于同类测试用例生成工具的水平。
其他文献
防火墙(Firewall)与入侵检测系统(IDS)作为两种网络安全防护技术应用越来越广泛。防火墙通常被部署在网络的边界用于不同网络间的隔离,通过访问控制策略来允许或是拒绝数据包
随着互联网技术的迅猛发展,各种服务商在互联网中开启的流量入口也越来越多,形式各不相同,硬件上,用户可以通过PC、智能平板、手机等使用相关服务,在软件上也包含了如社交网
面向对象技术的发展,出现了众多的面向对象的建模语言,其中统一建模语言UML作为一种定义良好、功能强大的图形化建模语言得到广泛的运用。UML溶入了软件工程领域的新思想和新
随着社会经济的快速发展和人民生活水平的不断提高,一方面,家用电器的种类越来越多,普及率也在逐年增加;另一方面,各类家用电器淘汰废弃的速度在不断加快,形成了大量的废弃物垃圾,这不仅使社会负担加大,浪费了大量资源和能源,而且也使环境遭受了严重的破坏和影响,更使人们的生活质量下降。因此,研究废旧家电产品的回收再利用技术和处理过程,建立废旧家电回收处理流程模型,合理规划废旧家用电器的拆卸建模过程以及拆卸序
射频识别(RFID)技术是近年来兴起的一种非接触式的自动识别技术。与目前采用的条形码技术相比,RFID技术具有读取距离远、穿透能力强、效率高、信息量大等优势,并且在各个领域
人脸识别技术是基于生物特征识别技术的一个重要分支,在辨别身份和传递感情方面起着重要的作用。由于人脸识别技术在视频监控、访问控制、信用卡验证、多媒体数据库检索以及
随着互联网技术的飞速发展,WEB上的信息量快速增长,如何方便有效利用这些WEB信息吸引了越来越多人的关注。传统数据仓库和中间件的信息集成方案在WEB数据源集成中具有极大的
工作流技术是一种过程建模与过程管理的核心技术,它解决了以往业务系统一旦其业务流程发生变化就要对整个系统重新规划的瓶颈。使用工作流技术能够在业务流程发生改变后快速
H.264标准是国际电信联盟(ITU)和国际标准化组织(ISO)联合提出的最新一代视频压缩编码国际标准,其中包含了很多先进的视频压缩编码技术,比以前的视频编码标准在编码效率方面
基于单片机控制的星载电场仪数据采集和传输系统是国家863计划-微小型星载电场仪的重要组成部分。该系统以单片机C8051F020为主控制器,控制多路高精度A/D转换芯片的采样过程,