《软件测试》第七章 系统测试与集成测试

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
负责制定集成构建计划,按照集成计划 将通过了单元测试的类集成 负责设计测试驱动程序和桩;根据集合 测试发现的缺陷提出变更申请
14
3.测试计划
▪ 用集成测试计划的模板(详见附录B:集成
测试计划模板)写集成测试计划书。计划 书内容通常应该包含以下部分:确定集成 测试对象,确定集成测试策略,确定集成 测试验收标准,确定集成测试挂起和恢复 条件,估计集成测试工作量,估计集成测 试所需资源;进行集成测试任务划分(包 括任务名、责任人、输入和输出、风险及 应对措施、进度安排等)等。
15
4.测试内容
功 可 易 性 维可
能 靠 用 能 护移
性 性 性 测 性植
测 测 测 试 测性
试试试
试测

16
5.集成模式的选取
▪ 集成模式是软件集成测试中的策略体现,其重要性是明显的,直接关系到测试的效率、
结果等,一般要根据具体的系统来决定采用哪种模式。集成测试基本可以概括为以下 两种:非渐增式测试模式和渐增式测试模式。非渐增式测试模式:先分别测试每个模 块,再把所有模块按设计要求一次全部组装起来,然后进行整体测试。渐增式测试模 式:把下一个要测试的模块同已经测试好的模块结合起来进行测试,测试完以后再把 下一个模块结合进来测试。
▪ 在实际测试中,应该将两种模式有机结合起来,采用并行的自顶向下、自底向上集成
方式,从而形成改进的三明治方法。而更重要的是采取持续集成的策略,软件开发中 各个模块不是同时完成,根据进度将完成的模块尽可能早地进行集成,有助于尽早发 现缺陷,避免集成阶段大量缺陷涌现。同时自底向上集成时,先期完成的模块将是后 期模块的桩程序,而自顶向下集成时,先期完成的模块将是后期模块的驱动程序,从 而使后期模块的单元测试和集成测试出现了部分的交叉,不仅节省了测试代码的编写, 也有利于提高工作效率。
13
Test Designer
角色 测试设计员 测试员 实施员
配置管理员 集成员 设计员
2.人员安排
职责
负责制定集成测试计划、设计集成测试、 实施集成测试、评估集成测试 执行集成测试,记录测试结果
负责实施类(包括驱动程序和桩),并 对其进行单元测试,根据集成 测试发现的缺陷提出变更申请 负责对测试工作进行配置管理
续不断地给被测系统增加压力,直到被测系 统被压垮,从而确定系统能承受的最大压力。
▪ 5、疲劳测试
▪ 通常是采用系统稳定运行情况下,在一段时
间内(经验上一般是连续72个小时),保持 能够支持最大并发用户数,持续执行一段时 间业务,通过综合分析交易执行指标和资源 监控指标来确定系统处理最大工作量强度性 能的过程。
驱动的开发工作量大;对高层的 验证被推迟,设计上的错误不能 被及时发现。适用于底层接口比 较稳定,高层接口变化比较频繁, 底层组件较早被完成的情况。
中间层测试不充分。该方法适用 于大部分软件开发项目。 10
其他一些集成测试策略
集成策略
优点
缺点
基干**集成 分层集成
具有三明治集成的优点,更适合 必须对系统的结构和相互依存性
第七章 集成测试 与系统测试
1
内容 概要
1
集成测试概述
2
集成测试阶段工作
3
系统测试概述
4
系统测试的结果分析
5
系统测试的文档模板
2
第一节.集成测试
本▪章集重成点测:试的策略 ▪ 集成测试的过程 ▪ 集成测试阶段工作
3
本节概要
重点掌握:
常用的集成策略有哪些 集成测试的流程 集成测试的工作过程
4
一.常用的集成测试策略
于大型复杂项目的集成。
进行仔细的分析;驱动和桩开发 量大;局部采用了大爆炸的策略,
有些接口可能测试不充分。
适用于有明显层次关系的系统。
基于功能的集成 基于消息的集成 基于风险的集成 基于进度的集成
优先验证关键功能的正确性,减少 对接口测试不充分,有较大的
驱动的开发,进度要快。
冗余测试。
优先验证关键消息的正确性,减少 对接口测试不充分,有较大的
置。
某个时间用户数 量很大,突然降 级到很低,然后 ,过一段时间, 又突然加到很高 ,反复几次。借 助这种负载方式 ,容易发现资源 释放、内存泄漏 等问题。
由随机算法自 动生成某个数 量范围动态的 负载。虽然不 容易模拟系统 运行出现的高 峰期,但能模 拟长时间的高 位运行过程。
27
▪ 4、压力测试 ▪ 压力测试(Stress Testing)。压力测试是持
发的费用;支持故障隔离。缺点:桩 术风险,需要尽早被验证,希望
的开发工作量大,底层验证被推迟, 尽早能看到产品的系统功能行为
底层组件测试不充分。
的情况。
自底向上集成 三明治集成
对底层组件行为较早验证;工作最 初可以并行集成,比自顶向下效率 高;减少了桩的工作量;支持故障 隔离。
集合了自顶向下和自底向上两种策 略的优点。
26
3、负载测试
一次加载
递增加载 高低突变加载随机加载方式
有规律地逐渐增 一次加载每个数 加用户,每几秒 量的用户,在预 增加一些新用户 定的时间段内持 ,交错上升,这 续运行。例如, 种方式又称为ra早晨上班,用户 mp-up模式。借 访问网站或登录 助这种负载方式 网站的时间非常 的测试,容易发 集中,基本上属 现性能的拐点, 于Flat负载模式。即性能瓶颈的位
统对意外情况的反应能力等。 (13)检验软件升级后,能否继续支持旧版本的数据。
25
2、性能测试应包含内容
(1)对软件系统架构的分析(了解输入、 输出数据类型、数据量)。 (2)网络环境说明。 (3)硬件环境说明。 (4)测试范围、目的与方法。 (5)性能测试工具的选型。 (6)测试的启动和退出条件。 (7)测试执行及测试结果分析。
6
对模块1进行集成测试时,先测试模块1的内部接口的 集成,需对模块2和模块3打桩,然后进行测试。接着 再测试模块1和模块2、模块3的集成关系,当测试模 块1和模块2的集成关系时,需对模块3打桩,同理, 测试模块1和模块3的集成关系时,需对模块2打桩。
7
(3)自底向上集成
从最底层模块开始按照接口依赖关系,逐层向上集成。如下图
都被测试通过。 业务功能组合:相关联的功能项的组合功能都被正确实现。 业务功能冲突:业务功能间存在的功能冲突情况均测试通过,例如:共
享资源访问等。 异常处理及容错性:输入异常数据,或执行异常操作后,系统容错性及
错误处理机制的健壮性。
24
二.系统测试内容:
1、
功 能 测 试
(1) 检验能否适当地接受输入数据而产生正确的输 出结果。
28
▪ 6、易用性测试 ▪ 易用性测试方法有静态测试、动态测试以
及动态和静态结合测试。易用性测试就是 要检查系统界面和功能是否容易学习,使 用方式是否规范一致,是否会误导用户或 者使用模糊的信息。
29
7、 安 装 测 试
安装测试(Installing Testing)是确保软件 在正常情况和异常情况下都能进行安装,并 核实软件在安装后可立即正常运行的测试。 异常情况包括磁盘空间不足、缺少目录创建 权限等场景。安装测试包括测试安装代码以 及安装手册。安装手册提供如何进行安装, 安装代码提供安装一些程序能够运行的基础 数据。 进行安装测试时,从下面3点开展测试工作。 (1)检查系统安装是否能够安装所有需要的 文件/数据并进行必要的系统设置,是否会破 坏其他位置的文件,是否可以终止并恢复现场。 (2)检查系统是否能够正确卸载并恢复现场。 (3)检查安装和卸载过程的用户提示和功能 是否出现错误
测试模块3时,不需要写桩模块,但是需要为模块3 编写驱动模块,测试完模块3和模块4后,再对模块2 进行集成测试。由于模块3和模块4已经测试完,不 需要写桩模块,但还需要为模块3编写驱动模块。
8
(4)三明治集成
结合自底向上和自顶向下两种集成方法,对于底层模块采用自底向上的 法,对于顶层模块采用自顶向下的集成方法进行测试。
·
设计集成测试
·
制定集成测试计划
12
三.1.集成测试阶段工作流程
实施类,进
制定计划,设计用例
行单元测试划型
测试过程,脚本
制定集成计划
执行集成测试, 生成测试日志
开发设计模型
执行集成测试, 生成测试日志
Designer
Integrator Implementer The Designer Tester
一些异常操作。 (7) 检验系统的界面是否清晰、美观。 (8) 支持各种应用的环境,能配合多种硬件周边设
备,与外部应用系统的接口有效。 (9) 检验是否所有功能都能够实现,是否存在遗漏
功能。 (10)检验是否所有功能都能正常实现,是否存在不
正常功能。 (11)检验是否存在额外的功能,如功能键等。 (12)检验功能是否满足系统设计的隐含需求,如系
部分,大量的实际中会运行到的 程序执行路径没有被测试到;风
险高。
较早地验证了主要控制和判断点;按 该方法适用于产品控制结构比较
深度优先可以首先实现和验证一个完 清晰和稳定,高层接口变化较小,
整的软件功能;功能较早证实,带来 底层接口未定义或经常可能被修
信心;只需一个驱动,减少驱动器开 改,产品控制组件具有较大的技
▪ 测试模块3采用自底向上集成,测试模块5
采用自顶向下集成。
9
测试策略
优点
缺点
大爆炸集成 自顶向下集成
可以迅速完成集成测试;需要的桩 一次试运行成功的可能性不大;
和桩模块非常少;需要的用例是最 问题定位和修改比较困难;接口
少的,多个测试人员可以并行测试; 间的交互关系只被测试到很少一
操作简单;资源利用率高
(2) 检验能否接受不同的数据输入(能接受正确的 数据输入、对异常数据的输入进行提示和溶出 处理)。
(3) 检验数据输出结果是否正确、格式是否清晰, 能否保存和读取。
(4) 检验功能逻辑是否清楚,符合使用者的习惯。 (5) 检验系统的各种状态是否按照业务流程变化,
并保持稳定。 (6) 检验菜单、按钮操作是否正常、灵活,能处理
17
▪ 总之,实际应用中,常用的集成策略有:自顶向
下集成、自底向上集成和混合集成。因为这三种 策略并不相互排斥,因此基于这三种策略的组合 可以派生出多种策略。集成策略的选取主要依赖 于:
▪ (1)集成部件的可用性(例如第三方软件或硬
件)。
▪ (2)系统规模。 ▪ (3)是新系统还是在现有系统上增加、改变功能。 ▪ (4)体系架构。
系统可靠性、 稳定性测试
性能测试
系统兼容 性测试
系统安装 升级测试
系统组 网测试
23
3、功能层
初验测试:系统核心功能、基本业务流程的验证。 业务场景测试:模拟用户操作实际业务场景,遍历主要业务流程和业务
规则。 业务功能覆盖:关注需求规格定义的所有功能是否都已实现。 业务功能分解:将每个功能分解为测试项,关注每个测试项的测试类型
▪ 非渐增式测试时可能发现一大堆错误,定位和纠正每个错误非常困难,并且在改正一
个错误的同时又可能引入新的错误,新旧错误混杂,更难断定出错的原因和位置。与 之相反的是渐增式集成模式,程序一段一段地扩展,测试的范围一步一步地增大,错 误易于定位和纠正,接口的测试亦可做到完全彻底。两种模式中,渐增式测试模式虽 然需要编写的驱动或桩程序较多,发现模块间接口错误相对稍晚些,但仍然具有比较 明显的优势。
18
第二节.系统测试
本章重点:
▪ 系统测试类型 ▪ 系统测试内容 ▪ 系统测试过程
19
本节概要
本节难点:
五种重要系统测试类型 十八种系统测试 系统测试主要流程
20
1.
一.

2.


3.


4.


5.
6.
21
1、用户层
I
用户支持测试
II
用户界面测试
I源自文库I
可维护性测试
IV
安全性测试
22
2、应用层
(1)大爆炸集成 大爆炸集成是一种一次性将系统内的组件 全部集合到测试系统中进行测试的方法。 这种方法可以很快看到程序运行起来,但 很难定位问题,并且该方法必须先对所有 单元进行单元测试,然后再将所有单元组 装起来进行测试。
5
(2)自顶向下集成 自顶向下集成的方法是从最顶层程序开始, 所有被主程序调用的下层单元全部使用桩 来代替,然后一层一层向下进行测试,每 层程序调用的下一层程序单元都要打桩。 整个集成可以按深度优先的策略进行,也 可按照广度优先的策略进行。采用深度优 先策略可以较快验证一个子系统的完整功 能。
驱动的开发,进度要快。
冗余测试。
最具有风险的组件最早进行验证, 需要对各组件的风险有一个清
有助于系统的快速稳定。
晰的分析。
具有较高的并行度,能够有效缩短 桩和驱动工作量较大,有些接
项目的开发进度。
11
口测试不充分,有些测试重复 和浪费。
二.集成测 试五阶段
·
评估集成测试
·
执行集成测试
·
实施集成测试
相关文档
最新文档