Page 244 - 数码世界6月整本
P. 244
技术交流
2.2.2 相邻集成 的类成员变量的定义、使用对产生。为一个类或类簇生
相邻集成是将一个节点的所有邻居集成在一起,包 成的测试用例集应能覆盖该类或类簇中所有类成员变量
括所有直接前驱节点和直接后继节点。相邻集成可大大 的定义、使用对。
降低集成测试的会话数量,并可避免桩和驱动器的开发。 3. 3 基于类间继承关系的测试
相邻集成本质上是混合集成。
基于类间继承关系的测试首先通过测试独立类(即
2. 3 基于路径的集成测试 非系统中已经测试正确的祖先类的子类)来开始构造系
消息是一种程序设计语言机制,通过这种机制一个 统,在完成独立类测试后,下一层继承独立类的类(依
单元将控制转移给另一个单元。方法/消息路径是穿插 赖类)继续被测试,这个依赖类层次的测试序列一直持
出现模块执行路径和消息的序列,其基本思想是描述包 续到构造完整的系统。
含在单独单元之间控制转移的模块执行路径序列。 3. 4 基于统一建模语言的测试
基于方法/消息路径的测试是结构性测试和功能性
统一建模语言为面向对象软件提供了强大的建模工
测试的混合。在标识方式上,特别是方法/消息路径图
具,同时它也作为测试的依据。统一建模语言中的顺序
的标识方式上,它是结构性的;在表达输入和输出行动
图、用例图、状态图、类图等均已被应用于面向对象软
上,方法/消息路径是功能性的,所以功能性测试技术
件的集成测试。
都是潜在可用的。因此结构和功能方法的交叉检查被应
顺序图描述对象之间动态的交互关系,着重体现对
用到基于路径的集成测试中。基于路径的集成测试既适
象间消息传递的时间顺序,因此它可以作为类簇测试的
用于采用传统瀑布过程开发的软件,也适用于采用基于
依据。顺序图可以转换为流程图。这种流程图表示了对
合成可选的生命周期模型开发的软件。
象间消息传递的顺序,与程序流程图在形式上极为类似,
3 面向对象软件的集成测试 也包括了循环、分支和顺序等。采用基本路径法可导出
流程图的基本路径集,路径集中的每一条路径都是一个
3. 1 面向对象方法/消息路径集成测试
消息序列,即测试用例。
面向对象程序中方法的调用是有一定次序的,如果 用例图一般被运用在系统测试中,图中的每一个用
违反次序就会产生错误。方法序列规范规定了类或类簇 例都可以转换为一个状态模型,然后参照状态测试的方
中方法的执行顺序。依据这样的规约,我们可以为类或 法进行测试。
类簇产生一些消息序列,检验这些类或类簇中的方法是 在面向对象的测试中,状态图通常被用于基于状态
否能够正确地交互。面向对象软件中的方法/消息路径 的测试。状态图描述一个特定对象的所有可能状态及其
是由消息连接起来的方法执行序列。面向对象的方法/ 引起状态转移的事件。类图描述了组成面向对象程序的
消息路径集成测试是基于类间协作关系的测试,由系统 各个类之间的关系,包括聚集、重数、关联、子类型和
的一个输入端口事件作为激励,对其触发的一组类进行 递归包含等。依据类图可以确定各类之间的层次关系,
测试,执行相应的方脚消息路径,最后终结于某一输出 从而决定对类进行测试的顺序。另外,采用类图可以生
端口事件。 成检验类之间关系是否正确实现的测试用例。
编写测试用例时,需根据一定的准则对所产生的消
4 结束语
息序列进行划分,并采用冗余、遗漏和颠倒次序等方法
由正确的消息序列生成错误的消息序列,以测试程序的 集成测试是软件测试过程中的一个重要阶段。文章
健康性。 阐述了软件集成测试的原理和重要性,深入探讨了包括
3. 2 面向对象数据流集成测试 基于分析、调用图和路径在内的传统软件集成测试方法,
以及包括面向方法/消息路径、对象数据流、类间继承
基于数据流的测试由传统的数据流测试发展而来。
关系、统一建模语言在内的对象软件集成测试方法,旨
传统数据流测试的基本思想是:一个变量的定义通过辗
在为软件集成测试的发展和完善提供理论依据和支持。
转的定义和使用,可以影响到另一个变量值或路径的选
择。因此,可以选择一定的测试数据,使程序按照一定
变量定义、使用路径执行,并检查执行结果是否与预期
的相符,从而发现错误代码。这种测试思想也适用于面
向对象的软件。但在类级和类簇级测试中,由于方法执
行的先后次序是动态决定的,因此必须首先得到类或类
簇中的正确方法序列,测试用例则围绕这些方法序列中
124... ...125