基于MM路径的集成测试用例生成技术研究(2)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

基于MM路径的集成测试用例生成技术研究(2)


 本课题将基于MM路径的面向对象集成测试方法作为主要研究对象。这是实现面向对象自动化测试的重要环节。本文主要研究基于MM路径的面向对象集成测试方法,对MM路径以及MM路径在面向对象集成测试中的应用进行了深入的研究,基于C++源代码自动生成MM路径。
1.2  研究现状
(1.3 本文主要研究工作
    本文从MM路径的概念出发,结合面向对象软件的特点,研究了MM路径在面向对象集成测试方面的应用,实现自动生成MM路径。主要完成了以下工作:
    1.讨论了面向对象集成测试和对于MM路径的研究。同时从MM路径的组成结构出发,介绍了原子MM路径和复合MM路径的概念。
2.探讨了从程序源代码生成MM路径的方法。分析输入语言的源程序,从中
解析出模块、分支和路径,并生成MM路径。首先应该根据面向对象语言的特点,建立适用的数据结构,再根据该结构,选择相应的控制生成MM路径。
本文组织结构安排如下:
第一章介绍了课题研究的背景,国内外研究现状,本文的主要工作及组织结构。
第二章详细介绍了MM路径的定义以及面向对象的集成测试。
第三章从MM路径的产生原因、作用域范围和组成结构三方面介绍了MM路径的分类及特点;详细介绍了原子MM路径和复合MM路径的概念,以及两者的形式化表示方法。
第四章讨论了基于代码说明生成MM路径的方法并以实例说明。

2.MM路径与集成测试
2.1面向对象集成测试
2.1.1 面向对象集成测试
面向对象不同于其它程序语言主要在于它的三个基本特征:封装性、继承性和多态,所以使得传统的结构化程序测试策略不能完全适应面向对象程序的测试需要。主要表现在三个方面,即面向对象的封装不能实现传统测试方法中对数据非法操作的测试;面向对象的继承,使错误的传播概率提高,增加了测试的复杂度;面向对象的多态特征使程序内“同一”函数的行为复杂化,增加测试的工作量。
(1)封装性
封装是类的重要特性之一。在面向对象的程序设计中类把数据和操作数据的方法封装在一起,限制对象属性对外的可见性和外界对它的操作权限。这种只能通过接口存取数据的特性称为程序的封装性,封装性提高了信息隐蔽的能力,使模块间的祸合变弱从而使程序更容易修改。因此信息的隐藏也给程序的测试带来了一定的问题。
(2)继承性
在面向对象的程序中,由于继承的作用,一个类可以有多个子类,一个类也可以实现多个接口等,所以子类不仅继承了父类中的特征(数据和方法),还可以对继承的特征进行重定义。对于测试者来说,不但那些子类新定义或重新定义的方法要得到测试,被子类继承的父类方法往往也要在子类的环境中重新测试。总之,继承不仅不能简化测试问题,反而使测试更加复杂。

(3)多态性
多态的概念是指同一消息可以根据发送消息对象的不同而采用多种不同的行为方式;而多态行为操作指的是根据当前指针引用的对象类型来决定使用正确的方法。传统软件测试中经常使用静态分析技术对代码进行分析,识别程序执行路径。在面向对象软件中,由于多态性的存在,使得程序可执行的路径急剧增加,这就使得,多态性为软件测试用例生成带来的问题目前成为本领域研究的重点和难点之一。
2.1.2 面向对象集成测试的内容
传统软件测试的策略是从“小型测试”开始,逐步走向“大型测试”,即从单元测试开始,然后逐步进入集成测试,最后是有效性和系统测试。面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将被测模块搭建在一起进行测试的方法已不再适用。 (责任编辑:qin)