11.5 本章小结
本章介绍了面向对象的设计语言和设计风格,系统的概括了面向对象的测试策略,并阐述了面向对象测试用例设计的相关重点。
面向对象方法学把分析、设计和实现很自然地联系在一起了。虽然面向对象设计原则上不依赖于特定的实现环境,但是实现结果和实现成本却在很大程度上取决于实现环境。因此,直接支持面向对象设计范式的面向对象程序语言、开发环境及类库,对于面向对象实现来说是非常重要的。
为了把面向对象设计结果顺利地转变成面向对象程序,首先应该选择一种适当的程序设计语言。面向对象的程序设计语言非常适合用来实现面向对象设计结果。事实上,具有方便的开发环境和丰富的类库的面向对象程序设计语言,是实现面向对象设计的最佳选择。
良好的程序设计风格对于面向对象实现来说格外重要。它既包括传统的程序设计风格准则,也包括与面向对象方法的特点相适应的一些新准则。
面向对象方法学使用独特的概念和技术完成软件开发工作,因此,在测试面向对象程序的时候,除了继承传统的测试技术之外,还必须研究与面向对象程序特点相适应的新的测试技术。(https://www.daowen.com)
面向对象测试的总目标与传统软件测试的目标相同,也是用最小的工作量发现最多的错误。但是,面向对象测试的策略和技术与传统测试有所不同,测试的焦点从过程构件(传统模块)移向了对象类。
一旦完成了面向对象程序设计,就开始对每个类进行单元测试。测试类时使用的方法主要有随机测试、划分测试和基于故障的测试。每种方法都测试类中封装的操作。应该设计测试序列以保证相关的操作受到充分测试。检查对象的状态(由对象的属性值表示),以确定是否存在错误。
可以采用基于线程或基于使用的策略完成集成测试。基于线程的测试,集成一组相互协作以对某个输入或某个事件做出响应的类。基于使用的测试,从那些不使用服务器类的类开始,按层次构造系统。设计集成测试用例,也可以采用随机测试和划分测试方法。此外,从动态模型导出的测试用例,可以测试指定的类及其协作者。
面向对象系统的确认测试也是面向黑盒的,并且可以应用传统的黑盒方法完成测试工作。但是,基于情景的测试是面向对象系统确认测试的主要方法。