Page 242 - 数码世界6月整本
P. 242
技术交流
软件集成测试解析
陆春
摘要:我国的软件测试技术正在快速发展。软件测试在软件开发过程中起非常重要的作用。软件测试中的集成测试是为了保证每一功能
模块组装在一起时可以很好地协调工作,从而保证整个系统良好的性能。文章主要对软件集成测试的原理和重要性、传统软件的集成测
试和面向对象软件的集成测试三方面进行阐述,旨在为软件集成测试的完善提供丰富的理论依据。
按软件工程开发周期可将软件测试过程分为单元测 集成测试具有以下特点:容易测试特殊的处理流程;从
试、集成测试、确认测试和系统测试4个部分。集成测 程序结构出发,目的性、针对性更强;高效率发现问题,
试是将已经过单元测试的软件模块集成、组装在一起的 定位准确、迅速。
过程。即使所有的软件模块都能通过单元测试,也不能
2 传统软件的集成测试
保证它们集成在一起就不会发生错误,所以在软件集成
过程中必须进行集成测试。传统软件(结构化程序软件) 2. 1 基于分解的集成测试
和面向对象软件在开发过程中有很大区别,它们的测试 基于分解的集成测试是基于系统测试功能分解的集
方法也有很大的差异。明确两类不同的集成测试原理和 成测试,包括非渐增式集成测试和渐增式集成测试两种
种类,有助于进一步了解软件集成测试理论,对软件集 方式。非渐增式集成测试这种集成测试采用一步到位的
成测试工作的顺利进行也具有重要意义。 方法来构造测试:对所有模块进行单元测试后,按程序
1 软件集成测试的原理和重要性 结构图将各模块联接起来,进行整体测试。其缺点是发
现错误却难以诊断定位,测试时可能发现一大堆错误,
1. 1 集成测试原理 定位和纠正每个错误非常困难,并且在改正一个错误的
集成测试是在单元测试的基础上,对模块按照设计 同时可能会引入新错误,新旧错误混杂,难以断定出错
要求组装成子系统或系统而进行的测试,其目的是确保 的原因和位置。
各单元组合在一起后能够按既定方案协作运行,并确保 渐增式集成测试渐增式集成测试从一个模块开始,
正确的增量行为。它所测试的内容包括单元间的接口以 边组装边测试,以发现与接口相联系的问题。渐增式集
及集成后的功能。集成测试的需求主要来自集成构件计 成方式包括自顶向下集成、自底向上集成、混合集成3
划和设计模型,着重于集成版本的外部接口行为,因此 种。自顶向下集成就是从最具控制力的模块开始,按控
测试需求须具有可测评性和可观测性。 制层次减弱的顺序向系统中增加模块,直至实现整个系
1. 2 集成测试的重要性 统;自底向上集成是从控制力最弱的模块开始,按控制
层次增强的顺序向系统中增加模块,直至实现整个系统;
单元测试仅能保证模块的局部正确性。实践表明,
混合集成是自顶向下和自底向上集成的组合。
软件的一些模块虽然能够单独正常工作,但是组装连接
后却不一定正常运行。程序在局部反映不出来的问题, 2. 2 基于调用图的集成测试
却在全局情况下有可能暴露,继而影响软件的正常功能。 基于分解集成测试的缺点之一是以功能分解树为基
可能的原因有以下几方面:计算的误差累计达到一定程 础。如果改用调用图,则可以减缓这种缺陷,并且也向
度;几个子功能组合后不能实现预计的主功能;模块相 结构性测试方法发展,同时免除了桩/驱动器开发工作
互调用时引入了新的问题;全局数据结构出现错误。因 量。基于调用图的集成包括成对集成和相邻集成。
此,在完成单元测试后,需要按照程序结构图进行集成 2.2.1 成对集成
测试。 成对集成的思想是免除桩/驱动器开发。成对集
系统测试一般在整个系统完成之后进行,错误难以 成的最终结果是对调用图中的每条边有一个集成测试
定位,所以往往无法替代集成测试。与系统测试相比较, 会话。
122... ...123