[发明专利]一种基于层次切片的回归测试用例选择方法无效
| 申请号: | 201010173787.3 | 申请日: | 2010-05-14 |
| 公开(公告)号: | CN101859276A | 公开(公告)日: | 2010-10-13 |
| 发明(设计)人: | 陶传奇;李必信;周颖;孙小兵;文万志 | 申请(专利权)人: | 东南大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 许方 |
| 地址: | 210096 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 层次 切片 回归 测试 选择 方法 | ||
技术领域
本发明提出了一种基于层次切片的回归测试用例选择方法,主要是利用层次的思想解决面向对象程序中回归测试用例的重用选择问题,属于软件测试中回归测试用例选择的技术领域。
背景技术
回归测试是软件维护中最耗费成本的阶段,如何有效重用回归测试用例是一项重要的研究任务。目前主要的回归测试用例重用技术是测试用例选择和测试用例优先级。测试用例选择是回归测试用例重用的主要技术,它根据原程序和已有的回归测试用例,分析需要重新运行的测试用例,然后从中选择部分测试用例来运行修改后的程序。回归测试用例选择问题主要归结为修改分析和测试覆盖分析。修改分析就是根据程序修改点分析程序中受修改影响的部分。测试覆盖分析如何利用测试用例对程序修改点及其受影响部分进行覆盖。回归测试用例选择的主要方法包括线性方程、符号执行、路径分析、控制流、数据流、程序依赖图、系统依赖图、防火墙、簇识别、程序切片技术等。
切片是一项有效的程序分解技术,也是一种重要的回归测试用例选择方法。利用切片技术对修改点计算切片,可以有效识别出受修改影响的程序部分。早期使用切片技术进行回归测试用例选择的主要手段是,计算测试用例输入针对程序输出的切片,比如动态切片、执行切片、相关切片等,如果计算出的切片中包含修改语句,则选择相应的测试用例。另外一种使用数据流的切片方法是利用数据流分析受修改影响的“定义-使用”关系对,然后选择该“定义-使用关系”对应的测试用例。
由于面向对象程序中存在着多态、动态绑定等很多复杂属性,使得程序修改产生的影响更加复杂和隐蔽,从而很难有效的进行回归测试用例的选择。切片技术可以有效分析程序修改产生的影响,但传统切片不能满足面向对象程序的部分需求。而一些面向对象切片比较复杂,也不精确。因此,需要一种新型的切片手段来支持面向对象程序下的回归测试用例选择。
发明内容
技术问题:本发明的目的是使用层次切片技术支持面向对象程序的回归测试用例选择。该方法能够根据面向对象程序本身的逻辑层次,从粗粒度到细粒度,逐步求精的选择出回归测试用例,同时也能够在不同粒度上选择出测试用例,为实际回归测试选择的粒度问题提供了灵活的选择框架。
技术问题:本发明为实现上述目的,采用如下技术方案:
本发明一种基于层次切片的回归测试用例选择方法,包括如下步骤:
步骤1).版本控制获取需要进行回归测试程序的修改点m;
步骤2).利用层次切片工具JHSA计算修改点m的层次切片集,识别出受程序修改影响的部分,其切片结果为包级切片集、类级切片集、方法级切片集及语句级切片集;
步骤3).从包级到语句级进行层次回归测试用例选择;
a)在包层次上,从待重用测试用例集T中选择出其包覆盖集能够覆盖包级切片集的测试用例集Tp;
b)在类层次上,从测试用例集Tp中选择出其类覆盖集能够覆盖类级切片集的测试用例集Tc;
c)在方法层次上,从测试用例集Tc中选择出其方法覆盖集能够覆盖方法级切片集的测试用例集Tm;
d)在语句层次上,从测试用例集Tm中选择出其语句覆盖集能够覆盖语句级切片集的测试用例集Ts。
有益效果:本发明方法提出了一种逐步求精的层次回归测试用例选择方法,通过利用切片技术在回归测试选择中识别修改影响的作用和层次切片方法在面向对象程序中的优势,主要用于解决回归测试用例选择的精确性和层次性问题。主要有以下一些优点:
(1)利用切片技术进行程序修改分析,能够较准确识别出受修改影响的程序部分。利用切片技术可以有效识别出和修改点相关的程序其他部分。这些部分都有可能使得程序产生变化或者导致错误。传统的使用程序切片方法只使用了部分数据流技术,并且没有对修改点进行有效的程序切片。我们的切片技术基于系统依赖图,所以综合考虑了数据流和控制流。这样可以更大程度的保证选择出的回归测试用例能够覆盖所影响的程序部分。
(2)利用层次切片在面向对象程序切片中的优势,提高了回归测试选择的精确性。层次切片是针对面向对象程序的一种切片技术,和传统切片相比,它能够根据程序逻辑分层结构,逐步求精的计算出切片。尤其是在具有多态性和动态绑定等复杂的程序中,利用层次切片可以在高层次准确的识别与切片准则有关的部分并且删除了与切片准则无关的程序部分。这样就保证了回归测试选择的精确性,减少了多余测试用例的选择,从而降低了回归测试成本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010173787.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于三维建模的骨科手术导航模板
- 下一篇:图像传感器模块





