面向对象的软件测试,与传统的结构化系统相比,面向对象系统具有三个明显特征,即封装性、继承性与多态性。
封装性决定了面向对象系统的测试必须考虑到信息隐蔽原则对测试的影响,以及对象状态与类的测试序列,因此在测试一个类时,仅对该类的每个方法进行测试是不够的;
继承性决定了面向对象系统的测试必须考虑到继承对测试充分性的影响,以及误用引起的错误;
多态性决定了面向对象系统的测试必须考虑到动态绑定对测试充分性的影响、抽象类的测试以及误用对测试的影响。