第七章-集成测试和系统测试
- 7.1 集成测试概述
-
- ==?集成测试的策略==
-
- ①大爆炸集成
- ②自顶向下集成
- ③自底向上集成
- ④三明治集成测试
- 7.3 系统测试概述
-
- ==?系统测试的类型==
- ==?加压模式==
- 系统测试的主要内容
7.1 集成测试概述
单元测试完成后,进行集成测试。
集成测试最简单的形式是将两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。组件是指多个单元的集成聚合。
集成模式是软件集成测试中的策略体现,关系到测试的效率、结果等,一般要根据具体的系统来决定采用哪种模式。
在实际测试中,常采用并行的自顶向下、自底向上集成方式,从而形成改进的三明治方法。而更重要的是采取持续集成的策略,避免集成阶段大量缺陷涌现。
分为五个阶段:
· 制定集成测试计划
· 设计集成测试
· 实施集成测试
· 执行集成测试
· 评估集成测试
?集成测试的策略
①大爆炸集成
大爆炸集成是一种一次性将系统内的组件全部集合到测试系统中进行测试的方法。这种方法可以很快看到程序运行起来,但很难定位问题。
优点:
(1)测试方法简单、可并行。
(2)需要的桩模块和用例少。
缺点:
(1)一次运行成功的可能性不大。
(2)不利于程序的错误定位与修改。
(3)测试不充分,容易遗漏很多错误。
适于稳定、系统较小的情况。
②自顶向下集成
自顶向下增量式测试表示逐步集成和逐步测试是按结构图自上而下进行的,即模块集成的顺序是首先集成主控模块(主程序),然后根据软件控制层次结构,依照集成方式(深度优先和广度优先)向下进行集成,下层的桩模块一次一个地被替换为真正的模块。
优点:
(1)能较早地验证程序主模块
(2)容易进行故障隔离和错误定位
缺点:
(1)需要大量的桩模块,工作量巨大。
(2)底层模块测试不够充分,而且问题修改成本高。
适于高层接口变化较小的情况。
③自底向上集成
自底向上增量式测试是从最底层的模块开始,按结构图自下而上逐步进行集成和测试。在测试较高层模块时,底层的模块功能已具备,因此不用设计桩模块。
优点:
(1)尽早的验证底层模块
(2)容易对错误进行定位
(3)减少了桩模块的工作量
缺点:
(1)不能及时发现高层模块的错误
(2)可能要编写一定数量的驱动模块
适用于底层接口较稳定的情况。
④三明治集成测试
三明治集成是一种混合增量式测试策略,综合了自顶向下和自底向上两种集成方法的优点,把系统划分成三层,中间一层为目标层,目标层上采用自顶向下集成,目标层下采用自底向上集成。
优点:兼顾了自顶向下和自底向上两种集成测试的优点。
缺点:中间层测试不充分,问题可能会集中于中间模块。
多数软件开发项目都可以应用此集成测试策略。
7.3 系统测试概述
?系统测试的类型
用户层
应用层
功能层
子系统层
协议/指标层
其他测试类型
?加压模式
一次加载:一次性加载某个数量的用户,在预定的时间段内持续运行。例如,早晨上班,用户访问 站或登录 站的时间非常集中,基本上属于Flat负载模式。
递增加载:有规律地逐渐增加用户,每几秒增加一些新用户,交错上升,这种方式又称为ra-mp-up模式。借助这种负载方式的测试,容易发现性能的拐点,即性能瓶颈的位置。
高低突变加载:某个时间用户数量很大,突然降到很低,然后,过一段时间,又突然加到很高,反复几次。借助这种负载方式,容易发现资源释放、内存泄漏等问题。
加载:由随机算法自动生成某个数量范围内动态变化的负载,跟实际情况最接近的方式,能够模拟长时间的高位运行过程。
重要性能指标包括:响应时间、吞吐量、CPU使用率、内存占用率。
系统测试的主要内容
- 功能测试
- 性能测试:通过模拟业务压力量和使用场景组合,测试系统的性能是否满足性能的要求。
- 负载测试:通过在被测系统上不断增加压力,直到性能达到预定目标或者资源达到饱和状态。它可以找到系统处理能力的极限,为系统调优提供数据。
- 压力测试:测试系统在一定饱和状态下,系统能够处理的会话能力,以及是否会出现错误。目的是检查系统处于压力情况下的表现。
- 疲劳测试:通常是采用系统稳定运行情况下,在一段时间内(经验上一般是连续72个小时),保持能够支持最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
- 易用性测试:易用性测试方法有静态测试、动态测试以及动态和静态结合测试。易用性测试就是要检查系统界面和功能是否容易学习,使用方式是否规范一致,是否会误导用户或者使用模糊的信息。
- 安装测试:确保软件在正常情况和异常情况下都能进行安装,并核实软件在安装后可立即正常运行的测试。异常情况包括磁盘空间不足、缺少目录创建权限等场景。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
- 配置测试:确定哪些硬件、型 和驱动程序可用。将确定后的硬件配置缩减为可控制的范围。
- 文档测试:检查系统文档是否齐全,是否有多余文档或者死文档,文档内容是否正确、规范、一致等。
- 安全测试: 用于检验系统对非法侵入的防范能力。(包括病毒,加密,权限)
- 恢复测试:人为使系统发生灾难(系统崩溃、硬件损坏、病毒入侵等),检查系统是否能恢复被破坏的环境和数据。
- 回归测试:指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。
常用的用例选择方法可以分为以下3种:
(1)局限在修改范围内的测试
(2)在受影响功能范围内回归
(3)根据一定的覆盖率指标选择回归测试
集成测试,也叫组装测试、联合测试、子系统测试或部件测试,它是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。
系统测试则是将已经确认的软件、计算机硬件、外设、 络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更完善的方案。
- 集成测试策略的优缺点和适用情况
- 性能测试的主要类别,加压方式,重要性能指标
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!