11.3.2 面向对象环境中的集成测试
由于面向对象软件中没有明显的层次控制结构,传统的自顶向下和自底向上的集成策略意义不大。此外,由于类的构件之间存在直接或间接的交互,通常不可能将操作集成到类中(传统的增量集成方法)。
面向对象系统的集成测试有两种不同的策略。
(1)基于线程的测试(thread-based testing)。对响应系统的一个输入或事件所需的一组类进行集成。每个线程单独地集成和测试。应用回归测试以确保没有产生副作用。(https://www.daowen.com)
(2)基于使用的测试(use-based testing)。通过测试很少使用服务类(如果有的话)的那些类(称为独立类)开始系统的构建。独立类测试完成后,利用独立类测试下一层次的类(称为依赖类)。继续依赖类的测试直到完成整个系统。
在进行面向对象系统的集成测试时,驱动模块和桩模块的使用也发生了变化。驱动模块可用于低层操作的测试以及整组类的测试。驱动模块也可用于代替用户界面,以便在界面实现之前就可以进行系统功能的测试。桩模块可用于类间需要协作但其中的一个或多个协作类还未完全实现的情况。