软件集成测试策略和方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件集成测试策略和方法
修订历史记录
目录
1引言 (4)
目的 (4)
范围 (4)
2集成测试策略和方法 (4)
测试设计技术与策略 (4)
自顶向下方法 (4)
自底向上方法 (5)
“三明治”方法 (5)
1引言
1.1目的
指导软件项目组进行有效的系统集成测试。
1.2范围
本指南适合公司软件开发部的所有软件项目。
2集成测试策略和方法
2.1测试设计技术与策略
进行软件集成测试的测试用例包括白盒法、黑盒法等多种设计技术。软件集成也有多种不同的策略。这些策略总的来说可以分为两种:
A) 非增量方式
先测试好每一个软件单元,然后依次集成在一起再测试整个程序。本方式是一种很直接、原始的集成方式,它把所有通过单元测试的模块一块儿地全部集成在一起,直接集成为软件系统,并对它进行测试。
采用这种方式的原因是期望它可以带来方便的、快捷的集成效果。但这种方法遭到广大测试专家的批评,普遍认为它会引起混乱,且难以确定错误源的位置。
B) 增量方式
逐步把一个要被集成的软件单元或部件,同已测试好的软件部件结合起来测试。增量方式主要包括自顶向下、自底向上、自顶向下与自低向上相结合等方式。
增量方式的优点是:占用人工少;可以较早发现模块接口错误;容易排错;测试效果好,比较彻底。
增量方式的优点:占用机器时间少;有利于并行开发。
2.2自顶向下方法
自顶向下集成法是一个模块一个模块地集成软件的方法。按照控制的结构,从主控模块开始,向下地逐个把模块连结起来。把附属于主控模块的子模块等集成起来的方式有“深度优先”与“宽度优先”两种集成方法。
A)深度优先法:先把结构中的一条主要的控制路径上的全部模块逐步集成起来(主要路径的选择与特定的应用特性有关,多少带有主观随意性。)然后再连接其它的控制路径。
B)宽度优先法:是从结构的顶层开始逐层往下集成。
集成的过程可以分为以下五个步骤:
主控模块用作测试驱动器。直接附属于主控模块的各模块全部用桩模块代替。
按所选的集成法(即深度优先法或宽度优先法)每次用一个真模块取代一个附属的桩模块。
当装入每一个真模块时都要进行测试。
作完每一组测试后又再用一个真模块代替另一个桩模块。
可以进行回归测试(即重新再作过去作过的全部或部分测试),以便肯定没有新的错误发生。
2.3自底向上方法
自底向上集成方法是从软件结构中最底层的、最基本的软件单元开始进行集成和测试。这样,在逐步向上集成过程中下层模块总是存在的,也就是不再需要桩模块了,但却需要调用这些模块开展工作的驱动模块。
自底向上集成可以按下列步骤实施:
1、低层的模块组成簇,以执行某个特定的软件子功能。
2、编写一个驱动模块作为测试的控制程序,和被测试的簇连在一起,负责安排测试用例的输入输出。
3、对簇进行测试。
拆去各个小簇的驱动模块,把几个小簇合并成大簇,再重复做1、2及3步。这样按软件结构逐步向上集成。
2.4“三明治”方法
自顶向下测试的主要优点是能较早显示出整个程序的轮廓。主要缺点是,当测试上层模块时使用桩模块较多,很难模拟出真实模块的全部功能,部分测试内容被迫推迟,直至换上真实模块后再补充测试。
自底向上测试从下层模块开始,设计测试用例比较容易,但是在测试的早期不能显示出程序的轮廓。
针对自顶向下、自底向上方法各自的优点和不足,人们提出了自顶向下和自底向上相结合,从两头向中间逼近的混合时集成方法,被形象地称之为“三明治”方法。其具体步骤为:
A) 对上层模块采取自顶向下测试;
B) 对关键模块或子系统采取自底向上测试。
C) 混合式的“三明治”方法,综合了自顶向下、自底向上两种方法的长处。