论文部分内容阅读
软件测试作为软件生存周期中的重要阶段,对于发现、纠正软件错误以及保证软件质量具有重要意义。程序切片是一种程序分析理解技术,具有简化问题,缩小目标范围等特点。基于切片技术的软件测试是一种全新的软件测试技术,它把对整个程序的测试转化为只对某个程序切片的测试。根据程序的不同切片来缩小软件的测试范围,并提高软件测试的效率。同时由于程序切片考虑程序存在的各种依赖关系(不仅仅是数据依赖和控制依赖),使得测试的准确性得到提高。
面向对象程序特有的层次结构以及消息传递、类、对象、继承、多态、动态联编等特性,使得适用于过程化的分析技术不足以表示面向对象的程序系统,层次切片是一种根据面向对象程序的内在层次特性利用分层方法计算的切片,是程序测试中缩小软件的测试范围、提高软件测试效率的有效方法。给定切片准则,层次切片包含了影响兴趣变量的包、类、方法及语句。本文在对面向对象软件的特点和Java分层特性研究的基础上,提出了一种基于层次切片的面向对象程序逐层求精的测试方法。本文的主要工作有:
1.分析Java语言在包、类或接口、成员方法和成员数据等级别的依赖关系。
2.根据兴趣变量所映射的各层次切片准则对Java程序各层次级别的依赖图进行不同粒度的切片,计算得到兴趣变量所影响的程序部分:包级切片、类级切片、方法级切片、语句级切片。
3.逐步求精,在各层次切片的基础上进行软件测试。
最后,在进行理论分析的基础上,本文给出了实现以上研究内容的原型系统及其实现细节,并展望了未来的工作方向。