基于圈复杂度和调用次数的测试用例排序方法

来源 :上海师范大学 | 被引量 : 0次 | 上传用户:cherrychenghui
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试作为软件工程的一个重要组成部分,备受研究学者的关注。然而软件测试的花费是极其庞大的,至少50%的软件开发成本用于软件测试,回归测试作为软件测试的一个重要环节,在整个软件测试过程中占有很大的工作量比重。通过研究测试用例的排序问题,提出高效的优先级技术能够有效提高回归测试的效率,使得在较短的时间内能够检测出更多的错误,从而加快测试工作的进度以及新版本的发布,因此研究高效的优先级技术对提高测试效率以及降低测试成本是非常有意义的。测试用例优先级技术通常根据一些准则来调度测试用例的执行顺序以致于能够高效地完成测试目标。目前大多数的优先级技术主要根据覆盖信息、需求信息或测试历史执行信息等来研究排序准则。本文从程序结构出发,考虑程序结构的逻辑复杂性和功能模块影响范围两种影响因素,将其与基于覆盖排序技术的排序准则合并到一起进行研究,提出一种基于圈复杂度和调用次数的测试用例排序方法。该方法主要从两方面来评估测试用例的优先级,一方面通过圈复杂度来衡量功能模块代码的复杂性,作为该模块故障易发性的潜在代理,用来改进传统的以覆盖语句数或覆盖方法数来评估故障易发性的大小;另一方面通过分析待测试程序的静态调用图,以功能模块直接或间接被其它功能模块调用的次数作为该模块故障严重性的性能指标,用来改进传统的依赖历史信息评估故障严重性的大小。然后为评估的故障易发性和故障严重性两种因素分配不同权值,并以此来评估每一个待测试模块的测试能力TA(Testing-Ability)。最后通过分析各个测试用例的覆盖信息,将测试用例覆盖到的所有模块的测试能力的总和来确定每个测试用例的优先级。通过实验,将新技术应用于三个开源项目并对各个项目的单元测试用例进行测试,进一步地与随机排序技术、最优排序技术和基于覆盖的排序技术进行对比。实验结果表明,新的排序技术比随机排序技术和基于覆盖的技术具有更高的错误检测效率,并与最优排序技术最接近,说明该改进算法的有效性和高效性。
其他文献
随着信息化时代的到来,人类对信息的需求越来越丰富。作为诸多计算机研究中最为活跃领域之一的视频编码技术也随着应用要求的改变而不断发展。传统视频压缩编码标准,如MPEG-X系
随着信息化技术的迅猛发展和国际化市场竞争的日趋激烈,企业的全球化与信息化已成为必然趋势,各企业之间的业务协作越来越频繁,也越来越复杂。然而由于各个伙伴企业的模型在
BT是一种P2P协议,以集中式结构为基础的应用层协议。该协议及其软件自出现以来,因其强大的文件共享功能而备受欢迎。BT在带来便利的同时,也带来许多问题,如占用网络带宽、传
ARM Cortex-A15系列处理器是当前最新的嵌入式ARM SoC,该系列处理器首次集成了Mali-T600系列的移动GPU,该系列GPU率先支持OpenCL计算框架,可以利用GPGPU (General-Purpose co
数据库是信息系统的核心,集中存放着大量重要而又敏感的数据,是最吸引攻击者的目标,一旦数据被黑客窃取或者是破坏,其损失难以估量。传统的数据隔离技术不能有效地防护黑客的
随着计算机和网络的飞速发展,我们已经进入了数据信息爆炸式增长的时代,如何从海量的非结构化信息中提取真正满足用户需求的信息,已经成为一个越来越重要的研究课题。自然语
跟踪视频中的运动目标是计算机视觉领域中富有挑战性的课题之一,在视觉导航、安全监控等领域有着广阔的应用前景。开发鲁棒的跟踪算法也具有重要的理论意义。文献中广泛使用的
随着微博服务平台的快速发展,使用微博的用户数也越来越多。人们基于此传播和获取与热点事件相关的信息,这些微博的内容高度相似,信息质量参差不齐,亟需相关技术将其梳理。给
近年来,随着定位技术与无线通信技术的迅速发展,对移动对象进行跟踪与定位变得可行与必要。目前分布式时空数据的查询解决方案是将分散在世界各地的数据服务器都接入到互联网中
目前越来越多的企业采用基于WEB模式的系统作为企业信息发布、交换、管理、交易的平台。但随着电子商务的发展,B/S结构的WEB系统在用户界面与服务器交互方面的不足逐渐体现了