面向对象测试的概述
面向对象是一种软件开发的思想,在整个软件生命周期都要遵循这种思想,根据软件生命周期的各个阶段,可以将面向对象测试分为以下几种:
面向对象分析的测试OOA test
面向对象设计的测试OOD test
面向对象编码的测试 OOP test
其中面向对象编码测试又分为单元测试和集成测试
面向对象分析和设计的测试主要是检查验证系统需求说明书,概要设计等需求设计文档,主要采用静态分析的方法,分析系统的架构是否合理,各个类的设计是否合理,有无多余或者缺少的类,以及每一个类中的属性和方法设计是否合理,有无多余或者缺少的属性和方法等。
面向对象程序的单元测试
传统的面向过程的语言如C语言是对函数的测试,而面向对象程序的单元测试主要是对基类和派生类的测试。
在一个类中封装了对象的属性和方法,那么对类的测试必然包括对属性的测试和方法的测试,对于方法的测试完全可以采用传统的白盒测试技术,如边界值、逻辑驱动测试、循环语句测试等。但是更多的时候是把类作为一个整体,将其属性和方法结合起来测试以及不同类之间的关联测试
下面结合实例来讲解一下面向对象单元测试的大概步骤
Shape类,rectangle类,square类和circle类。其中shape类为基类,rectangle类,square类都继承自shape类,square类继承自rectangle类
/*形状类,实现该形状周长和面积的计算*/
public abstract class Shape
{
public abstract double perimeter();//计算周长,抽象方法
public abstract dou