基于相似性的回归测试用例约简与优先排序方法研究

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:zlp_dream
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在软件演化与维护过程中,软件的频繁变更是一个永恒的话题。修改错误、增加新的功能或者适应新的运行环境等因素都将引起软件的变更。软件一旦发生变化,就需要回归测试修改的代码、新增加的代码以及潜在地受变更影响的代码。研究表明,回归测试占了总测试预算的80%,软件维护阶段总费用的50%。尽管回归测试的代价如此之高,但它却是不可或缺的测试。随着软件持续演化,测试套件的规模也不断增加。由于测试资源的有限性,重新运行所有测试用例的方法是不可行的。在这种背景下,如何选择高效的测试用例子集以便较早地发现更多的错误具有重要的实际意义。聚类分析的方法被引入到回归测试领域中。根据运行测试用例产生的剖面信息,将测试用例分成若干簇,使得同一簇中的对象彼此相似,而与其他簇中的对象相异。同一簇中的对象具有相同的剖面信息,因而具有相同的错误发现能力。通过动态插桩技术收集运行测试用例产生的剖面信息,比如函数的覆盖信息,函数调用的时序信息、函数调用的关系信息以及函数调用的结构信息等。并构建四种不同类型的剖面结构,包括函数覆盖向量、函数调用序列、函数执行序列与函数调用树。  本研究从运行代价和错误发现效率两个方面比较四种不同类型的结构化剖面对回归测试效率的影响。实验结果表明,函数调用的时序信息、调用关系以及结构信息有助于进一步提高约简测试套件的错误发现能力。就成本-效益而言,聚类分析函数调用序列的方法是更高效的。该方法不仅提高了回归测试的错误发现效率,也进一步丰富并发展了回归测试用例约简与选择研究。在回归测试中,尽早地执行那些能够发现错误的回归测试用例,就能尽快的进行错误的定位与修复工作,从而提高整个回归测试的效率。因此,回归测试用例的执行顺序对错误发现效率有重要的影响。如何对原始套件中的测试用例进行优先排序成为当前的研究重点。基于测试用例的相似性可以有效地对回归测试用例进行优先级排序。该方法不仅确保了回归测试用例的多样性,同时也可以提高错误检测效率。不同的相似性度量代表不同的含义,如何选取高效的度量也是至关重要的。为此,实验从错误发现效率及其稳定性两个方面对比分析了6个相似性度量。实验结果表明,基于全局相似性的回归测试用例优先排序算法与Euclidean距离度量这一方法组合具有较强的错误发现能力,同时产生的结果也更加稳定可靠。该研究为选择高效的基于相似性的回归测试用例优先排序算法与距离函数提供了实践指导。
其他文献
随着社会需求的不断增加和计算机动画技术的不断发展,运动捕获技术也受到越来越多的重视。传统的运动捕获技术需要使用昂贵的设备,附着在身上的传感器也限制了演员的自由表演
集群、网格和P2P的出现将成为下一代并行分布式计算平台。人们对网格的研究越来越感兴趣,但由于网格环境的限制研究者无法对研究的结果进行评估和测试。因此网格模拟器的出现
服装CAD系统的不断完善促进服装工业的发展,优化排样是服装CAD系统中的核心部分,但由于其属于 NP完全问题,很难用精确算法求得最优解。一个好的排样方案可以节省原料,降低成本,因
近年来,很多研究人员对长时间持续运行的软件系统的测量与分析,发现导致软件性能衰退的主要原因之一是系统资源的耗尽,而且软件系统运行时监测和采集到的系统资源耗费数据显示出
网格(Grid)技术是近年来国际上兴起的一种重要信息技术,其目标是实现对地理上广泛分布的大量异构资源进行共享。任务调度是网格技术的一个重要组成部分,它要根据任务信息采用适
计算机技术和多媒体技术的迅猛发展让我们不得不面对大量的视频信息。随着视频数据的日益丰富,在大量视频素材中方便地寻找感兴趣的视频片断的需求变得日益迫切。因此,基于内
学位
随着全球经济的迅速发展,制造业正向着数字化、柔性化、智能化、集成化、敏捷化和网络化方向发展,网络化制造己成为现代制造业发展的主要趋势。本文结合甘肃省科技攻关项目“有
手术仿真系统是仿真技术在现代医学方面的一项重要应用,它对手术过程进行模拟,给医务工作者提供了可靠的手术训练环境。在外科手术中,对人体软组织进行切割是最常见的操作之一,因
多媒体远程教学系统集实时视频、实时语音和教学辅助工具为一体,通过网络实现教师与学生异地之间的信息共享和交流,有效地实施网络教学和远程辅导答疑,它的开发和应用已经成为目