在掌握类与子类的测试、分层与增量之后。我们要讨论面向对象层次结构测试的要点
主要从以下三个方面去展开:
· 对认定的对象的测试。
· 对认定的结构的测试。
· 对构造的类层次结构的测试。
1对认定对象的测试
OOA(面向对象分析测试)中认定的对象是对问题空间中的结构、其他系统、没备、
被记忆的事件、系统涉及的人员等实际实例的抽象。对它的测试可以从如下方面考虑:
· 认定的对象是否全面,其名称应该尽量准确、适用,是否问麒空间中所涉及到的实例都反映在认定的抽象对象中。
. 认定的对象是否具有多个属性。只有一个属性的对象通常应看做其他对象的属性 而不是抽象为独立的对象。
. 对认定为同一对象的实例是否有共同的、区别于其他实例的共同属性,是否提供 或需要相同的服务,如果服务随着不同的实例而变化t认定的对象就需要分解或利用继承性来分类表示。
. 如果系统没有必要始终保持对象代表的实例信息,提供或者得到关于它的服务,认定的对象也无必要。
2对认定结构的测试
认定的结构指的是多种对象的组织方式,用来反映问题空间中的复杂实例和复杂关系。
认定的结构分为两种:分类结构和组装结构。分类结构体现了问题空间中实例的一般与特殊的关系:组装结构体现了问题空间中实例整体与局部的关系。
认定的分类结构测试要点:
. 对于结构中的一种对象,尤其是处于高层的对象,是否在问题空间中含有不同于
下一层对象的特殊可能性,即是否能派生出下一层对象。
. 对于结构中的一种对象,尤其是处于同一低层的对象,是否能抽象出在现实中有
意义的更一般的上层对象。
. 对所有认定的对象,是否能在问题空间内向上层抽象出在现实中有意义的对象。
. 高层对象的特性是否完全体现下层的共性.低层的对象是否有高层特性基础上的
特殊性。
认定的组装结构的测试要点:
. 整体(对象)和部件(对象)是否在考虑的问题空间中有实际应用,其组装关系
是否符合现实的关系。
· 整体(对象)中是否遗漏了反映在问题空间中的有用部件(对象)。
· 部件(对象)是否能够在空间中组装新的有现实意义的整体(对象)。
3对构造类层次结构的测试
为了能充分发挥面向对象继承共享特性,OOD(面向对象设计测试)的类层次结构通
常基于OOA中产生的分类结构原则来组织,着重体现父类和子类间的一般性和特殊性。
在当前的问题空间,对类层次结构的主要要求是能了解空间构造实现全部功能的结构框架。
为此测试要注意如下几个方面:
· 类层次结构是否涵盖了所有定义的类。
· 是否能体现OOA中所定义的实例关联、消息关联
· 子类是否具有父类没有的新特性。
· 子类间的共同特性是否完全在父类中得以体现。