前言
软件测试是软件工程中的重要部分,是确保软件质量的重要手段。随着软件的复杂度不断增强、软件产业的不断发展,软件测试得到越来越广泛的重视,本章将对面向对象软件测试的特点、测试模型和基本技术分别进行详细地介绍。
一、面向对象软件的特点及其对测试的影响
面向对象程序主要具有封装性、继承性、多态性等几大特性。
- 封装性
在面向对象程序设计中,封装是指将对象的数据和操作包装在一起,从而使对象具有包含和隐藏信息(如内部数据和代码)的能力。这样可将操作对象的内部复杂性与应用程序的其他部分隔离开来。 - 继承性
继承性是面向对象程序设计中的一个关键概念。继承性是指基于现有的类(称为父类或基类)创建新类(称为子类或派生类)的机制。子类继承基类的所有属性、方法和事件,并可以附加新属性和方法,以进行优化。每个新创建的子类继承它的基类的所有特性,并加上它自己的个性紧密结合而成。 - 多态性
多态性是指类为方法提供不同的实现方式,但能够以相同名称调用的功能。多态性允许对类的某个方法进行调用,而无需考虑方法所提供的特定实现。
二、面向对象软件测试的不同层次及其特点
一般来说,面向对象软件的测试可分为3个层次或4个层次。这里主要取决于对单元的构成,若把单个操作和方法看作单元,则有4个层次:方法测试、类测试、类簇测试和系统测试。
• 方法测试:方法测试是指对类中的各个方法进行单独的测试。
• 类测试: