面向方面软件的测试用例排序技术

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:deansam
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为了提高软件测试活动的效费比,软件工程领域的研究者们提出了测试用例排序技术:通过重新编排测试用例的执行顺序以求在更短的时间内发现更多的软件错误。实践证明,使用测试用例优先级划分技术使得软件测试工程师有可能在测试资源和时间有限的情况下发现更多的软件错误,而且,软件错误的暴露时间提前使得软件工程师们有充分的时间来修正错误并灵活调整项目进度,最终使得软件系统的可靠性在较短的时间内得到保证。面向方面编程(Aspect-Oriented Programming, AOP)是一种新的编程范式,其核心思想是分离关注点与模块化,它允许关注点的分离并提供了一套描述这些分离出来的横切关注点的机制,以此保证核心关注点与横切关注点的无缝结合,从而解决了面向对象程序设计在系统建模阶段由于横切关注的存在而导致的代码分散和代码纠缠问题。得益于这种新的编程方式,软件开发人员可以集中精力分别完成核心业务逻辑和横切逻辑,最终得到一个低耦合,高内聚的软件系统。随着面向方面程序设计的蓬勃发展,面向方面软件的测试技术研究获得了越来越多的关注。然而现有的测试用例排序技术没有考虑到AOP的各种特性,无法很好地应用到面向方面软件的测试中去。为了提高面向方面软件测试活动的效费比,本文提出了一种改进的面向方面程序的调用图表示法和生成算法,并在此基础上开发了基于静态分析调用图的面向方面软件的测试用例排序技术。该技术着重从错误易发性(Fault Proneness)和错误严重性(Fault Severity)两方面来评估每一个待测试模块的测试重要性(Testing-importance),然后通过控制流分析获得各个测试用例的系统覆盖信息,最后根据测试用例所覆盖到的所有模块的测试重要性总和来确定每个测试用例的执行优先级。基于以上方法,本文设计实现了可应用于AspectJ程序和Java程序的测试用例排序工具APROS。与传统的测试用例排序技术有所不同,APROS脱离了对测试用例历史执行数据以及程序不同版本间代码差异信息的依赖,因此其应用范围不再局限于回归测试领域而是扩大到了非回归测试领域。实验表明,执行APROS排序后的测试套件能显著提高严重错误的发现速率,通过修正这些提早暴露出来的程序错误,我们可以很快地缩小软件错误在整个系统中的影响范围。
其他文献
博客是一个个人性与公共性相结合的媒介,它充分利用了网络双向互动,超文本链接,动态更新,覆盖范围广的特点,其精髓不是表达个人思想或是记录个人的日常经历,而是从个人的角度
邮政系统正将业务集中到县、市中心服务器主机上进行,这种业务模式需要以终端绑定的方式对网点终端进行管理。终端绑定在一定程度上保障了只有授权终端才能登录中心主机进行
近年来,网络通信技术与多媒体技术的快速发展使得以数字形式存在的图像能够更方便地表征、存储、拷贝和分发,但是数字媒体可以低成本、高速度地被复制和传播的特点使几乎不用
虚拟现实技术是高度发展的计算机技术在各个领域广泛应用过程中的结晶,其应用范围包括娱乐、军事、航天、设计、生产制造、信息管理、商贸、建筑、医疗保险、危险及恶劣环境下
安全电子邮件通过引入密码技术实现邮件的加密和数字签名功能,保障邮件信息的认证性、机密性、完整性和不可否认性。然而传统安全电子邮件,如:S/MIME和PGP等,依赖在线CA机构
低密度校验(LDPC)码由于其低译码复杂度和可任意逼近香农限的良好性能而成为目前最佳的编码技术之一,越来越多的编码研究学者开始关注如何构造性能好的LDPC码。Tanner图的构
大规模手机通讯网络揭示社会运行规律,是复杂网络研究中最具研究意义的真实网络之一。本文运用社团检测算法对大规模手机通讯数据进行社会网络的实证研究,具体工作如下:1、揭
随着计算机网络技术的不断发展,黑客攻击日益猖獗,网络安全问题日趋严峻。传统的各种静态安全防御体系,如防火墙、身份认证及数据加密技术并不足以构成完整的安全防御体系,入
数据挖掘是一门多学科交叉的研究领域,它综合了数据库技术、人工智能、机器学习、统计学、知识工程、面向对象方法、信息检索、高性能计算以及数据可视化等最新科学技术的研
摄像机运动检测有助于实现视频语义内容的理解和分析,是基于内容的视频检索系统中的重要研究内容。本文通过对摄像机运动检测技术的研究,给出了一种基于支持向量机的摄像机运