第四章集成测试
第四章 集 成 测 试
本章要点 集成测试的定义; 集成测试与系统测试的区别; 集成测试与开发之间的关系; 集成测试的分析方法; 集成测试策略的选择; 集成测试环境的搭建; 集成测试用例设计的方法
[本章要点] • 集成测试的定义; • 集成测试与系统测试的区别; • 集成测试与开发之间的关系; • 集成测试的分析方法; • 集成测试策略的选择; • 集成测试环境的搭建; • 集成测试用例设计的方法
本章目标 了解集成测试与系统测试的区别; 了解集成测试与开发过程之间的关系; ◆了解集成测试的层次和集成测试的重点; ◆理解集成测试的概念和集成测试的过程; ◆掌握集成测试的分析方法及集成测试的策略。 ◆掌握集成测试用例设计的方法
[本章目标] ◆ 了解集成测试与系统测试的区别; ◆ 了解集成测试与开发过程之间的关系; ◆ 了解集成测试的层次和集成测试的重点; ◆ 理解集成测试的概念和集成测试的过程; ◆ 掌握集成测试的分析方法及集成测试的策略。 ◆ 掌握集成测试用例设计的方法
4.1集成测试概述 般这样定义集成测试:根据实际情况对程 序模块采用适当的的集成测试策略组装起来,对 系统的接口以及集成后的功能进行正确性检验的 测试工作。 4.1.1集成测试与系统测试的区别 1、测试对象 集成测试的测试对象是由通过了单元测试的 各个模块所集成起来的组件。而系统测试的测试 对象,除了软件之外,还有计算机硬件及相关的 外围设备、数据采集和传输机构、计算机系统操 作人员等的整个系统
4.1集成测试概述 一般这样定义集成测试:根据实际情况对程 序模块采用适当的的集成测试策略组装起来,对 系统的接口以及集成后的功能进行正确性检验的 测试工作。 4.1.1集成测试与系统测试的区别 1、测试对象 集成测试的测试对象是由通过了单元测试的 各个模块所集成起来的组件。而系统测试的测试 对象,除了软件之外,还有计算机硬件及相关的 外围设备、数据采集和传输机构、计算机系统操 作人员等的整个系统
2、测试时间 集成测试是介于单元测试和系统测试之间的 测试 在测试时间上,先于系统测试 3、测试方法 集成测试通常会采用灰盒测试。而系统测试 通常使用黑盒测试。 4、测试内容 集成测试的主要内容就是各个单元模块之间 的接口,以及各个模块集成后所实现的功能。而 系统测试的主要内容就是整个系统的功能和性能
2、 测试时间 集成测试是介于单元测试和系统测试之间的 测试. 在测试时间上,先于系统测试。 3、测试方法 集成测试通常会采用灰盒测试。而系统测试 通常使用黑盒测试。 4、测试内容 集成测试的主要内容就是各个单元模块之间 的接口,以及各个模块集成后所实现的功能。而 系统测试的主要内容就是整个系统的功能和性能
5、测试目的 集成测试的主要目的就是发现单元之间接口 的错误,以及发现集成后的软件同软件概要设计 说明不一致的地方。而系统测试的主要目的就是 通过与系统需求定义相比较之后发现软件与系统 定义不符合或矛盾的地方。 6、测试角度 集成测试工作的开展更多的是站在测试工作 人员的角度上。系统测试工作的开展更多的是站 在用户的角度来进行
5、测试目的 集成测试的主要目的就是发现单元之间接口 的错误,以及发现集成后的软件同软件概要设计 说明不一致的地方。而系统测试的主要目的就是, 通过与系统需求定义相比较之后发现软件与系统 定义不符合或矛盾的地方。 6、测试角度 集成测试工作的开展更多的是站在测试工作 人员的角度上。系统测试工作的开展更多的是站 在用户的角度来进行
A产品 子系统1 子系统2 硬件子系统1 软件子系统1 硬件子系统2 软件子系统2 软件模块1 软件模块2 软件模块3 软件模块4 (软件结构图) 软件程序1 软件程序2 单元1 单元2 单元3 单元4 4-1软件结构图 (软件模块结构)
A产品 子系统1 子系统2 硬件子系统1 软件子系统1 软件模块1 软件模块2 软件程序1 软件程序2 单元1 单元2 单元3 单元4 硬件子系统2 软件子系统2 软件模块3 软件模块4 (软件结构图) (软件模块结构) 4-1 软件结构图
4.1.2集成测试与开发的关系 为了使读者更好的了解集成测试与开发的关系, 图4-1给出了软件基本结构图 4.1.3集成测试的重点 1、各个模块连接起来后,穿过模块接口的数据是 否会丢失,是否能够按期望值传递给另外一个模 块 2、各个模块连接起来后,需要判断是否仍然存在 单元测试时所没发现的资源竞争问题 3、分别通过单元测试的子功能模块集成到一起能 否实现所期望的父功能; 4、兼容性,检查引入一个模块后,是否对其他与 之相关的模块产生负面影响
4.1.2集成测试与开发的关系 为了使读者更好的了解集成测试与开发的关系, 图4-1给出了软件基本结构图。 4.1.3集成测试的重点 1、各个模块连接起来后,穿过模块接口的数据是 否会丢失,是否能够按期望值传递给另外一个模 块; 2、各个模块连接起来后,需要判断是否仍然存在 单元测试时所没发现的资源竞争问题; 3、分别通过单元测试的子功能模块集成到一起能 否实现所期望的父功能; 4、兼容性,检查引入一个模块后,是否对其他与 之相关的模块产生负面影响;
5、全局数据结构是否正确,是否被不正常的修改 6、集成后,每个模块的误差是否会累计扩大,是 否会达到了不可接受的程度; 4.1.4集成测试的层次 对于传统软件来说,按集成粒度不同,可以把 集成测试分为3个层次,即 模块内集成测试 子系统内集成测试 子系统间集成测试 对于面向对象应用系统来说,按集成粒度不同, 可以把集成测试分为2个层次: 类内集成测试 类间集成测试
5、全局数据结构是否正确,是否被不正常的修改; 6、集成后,每个模块的误差是否会累计扩大,是 否会达到了不可接受的程度; 4.1.4集成测试的层次 ➢ 对于传统软件来说,按集成粒度不同,可以把 集成测试分为3个层次,即: - 模块内集成测试 - 子系统内集成测试 - 子系统间集成测试 ➢ 对于面向对象应用系统来说,按集成粒度不同, 可以把集成测试分为2个层次: - 类内集成测试 - 类间集成测试
4.2如何进行集成测试 4.2.1集成测试分析 体系结构分析 首先,跟踪需求分析,对要实现的系统划分 出结构层次图。 其次,是对系统各个组件之间的依赖关系进 行分析,然后据此确定集成测试的粒度,即集成 模块的大小。 模块分析 般,可从以下几个角度进行模块分析: 1)确定本次要测试的模块;
4.2如何进行集成测试 4.2.1集成测试分析 一、体系结构分析 首先,跟踪需求分析,对要实现的系统划分 出结构层次图。 其次,是对系统各个组件之间的依赖关系进 行分析,然后据此确定集成测试的粒度,即集成 模块的大小。 二、模块分析 一般,可从以下几个角度进行模块分析: 1)确定本次要测试的模块;