250 likes | 467 Views
软件测试技术. 主讲教师:向润. 第 6 章 集成测试和系统测试. 6.1 系统集成的模式与方法 6.2 功能测试 6.3 系统测试 6.4 压力测试、容量测试和性能测试 6.5 安全性测试,可靠性和容错性测试. 6.1 系统集成的模式与方法. 6.1.1 集成测试前的准备 人员安排 测试计划 测试内容 集成模式 测试方法. 6.1 系统集成的模式与方法. 6.1.2 集成测试的模式 非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。
E N D
软件测试技术 主讲教师:向润
第6章集成测试和系统测试 • 6.1 系统集成的模式与方法 • 6.2 功能测试 • 6.3 系统测试 • 6.4 压力测试、容量测试和性能测试 • 6.5安全性测试,可靠性和容错性测试 wangchunxiu@ccniit.com
6.1系统集成的模式与方法 • 6.1.1集成测试前的准备 • 人员安排 • 测试计划 • 测试内容 • 集成模式 • 测试方法 wangchunxiu@ccniit.com
6.1系统集成的模式与方法 • 6.1.2集成测试的模式 • 非渐增式测试模式:先分别测试每个模块,再把所有模块按设计要求放在一起结合成所要的程序,如大棒模式。 • 渐增式测试模式:把下一个要测试的模块同已经测试好的模块结合进来测试。 wangchunxiu@ccniit.com
6.1系统集成的模式与方法 • 驱动模块(driver):用以模拟被测模块的上级模块的一次性代码。 • 桩模块(stub):也称存根程序,模拟被调用模块的一次性代码。 wangchunxiu@ccniit.com
6.1.3自顶向下和自底向上集成方法 • 自顶向下法,从主控模块开始,沿着软件的控制层次向下移动,逐渐把各个模块结合起来。 wangchunxiu@ccniit.com
6.1.3自顶向下和自底向上集成方法 M1 M2 S4 M3 M5 M6 S7 M8 深度优先:M1-M2-M5-M8-M6-M3-S7-S4 宽度优先:M1-M2-M3-S4-M5-M6-S7-M8 图6_1自顶向下集成方法示意图 wangchunxiu@ccniit.com
6.1.3自顶向下和自底向上集成方法 • 自底向上法,从“原子”模块(即在软件结构最底层的模块)开始集成以进行测试。 wangchunxiu@ccniit.com
6.1.3自顶向下和自底向上集成方法 Mc Ma Mb D2 D1 D3 图6_2自底向上集成方法示意图 wangchunxiu@ccniit.com
6.1.4大棒与三明治集成方法 • 1、大棒集成方法(big-bang integeration) • 采用大棒集成方法,先对每一个模块进行测试,然后将所有模块全部集成起来一次性进行集成测试。 • 2、三明治集成方法(sandwich integration) • 三明治集成方法自两头向中间集成。 wangchunxiu@ccniit.com
6.1.5持续集成 • 通常系统集成都会采用持续集成的策略,软件开发中各个模块不是同时完成,根据进度将完成的模块尽可能早的集成,有助于尽快发现缺陷,避免大量缺陷集中涌现。 wangchunxiu@ccniit.com
6.2功能测试 • 6.2.1功能测试的目的和内容 • 主要根据产品规格说明书,来检验被测试的系统是否满各方面功能的使用要求。 wangchunxiu@ccniit.com
6.2.2功能测试的方法 • 1、等价类划分法 • 2、边界值分析法 • 3、错误推测法 • 4、因果图法 wangchunxiu@ccniit.com
6.3系统测试 • 系统测试是将经过集成测试后的软件,作为计算机系统的一个部分,与计算机硬件、某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行一系列的严格有效的测试来发现软件的潜在问题,保证系统的运行。 wangchunxiu@ccniit.com
6.3.1系统测试的内容 • 压力测试(stress test) • 容量测试(capacity test) • 性能测试(performance test) • 安全测试(security test) • 容错测试(recovery test) wangchunxiu@ccniit.com
6.3.2回归测试 • 1、回归测试的目的:在程序有修改的情况下保证原有功能正常的一种测试策略和方法; • 2、回归测试的方法:再测全部测试用例、基于风险的选择测试、基于操作剖面选择测试、再测试修改的部分; • 3、回归测试的组织和实施。 wangchunxiu@ccniit.com
6.4压力测试、容量测试和性能测试 • 三种测试虽然测试目的有所不同,但手段和方法在一定程度上比较相似,通常会使用特定测试工具来进行模拟测试。 wangchunxiu@ccniit.com
6.4.1压力测试 • 1、压力测试估算 • 2、测试环境准备 • 包括硬件环境、网络环境、测试程序、数据准备等方面。 • 3、问题分析 • 4、累积效应 wangchunxiu@ccniit.com
6.4.2容量测试 • 通过测试预先分析出反映软件系统应用特征的某项指标极限值。 wangchunxiu@ccniit.com
6.4.3性能测试 • 测试软件能否在真实环境中满足性能要求。 wangchunxiu@ccniit.com
6.5安全性、可靠性和容错性测试 6.5.1安全性测试 6.5.2可靠性测试 6.5.3容错性测试 wangchunxiu@ccniit.com
6.5.1安全性测试 • 1、两种级别的安全性 • 应用程序级别和系统级别; • 2、测试目标 • 3、测试范围 • 4、测试标准 wangchunxiu@ccniit.com
6.5.2可靠性测试 • 可靠性(reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力。 • 可靠性测试方法 • 可靠性测试结果的评估 wangchunxiu@ccniit.com
6.5.3容错性测试 • 容错性测试是检查软件在异常条件下自身是否具有防护性的措施或者某种灾难性恢复的手段,包括: • 故障转移与数据恢复 • 测试目标 • 测试范围 • 完成标准 • 需考虑的特殊事项 wangchunxiu@ccniit.com
本章小结 • 本章首先从系统集成不同模式的比较以及自底向上、自顶向下、混合各自优缺点比较说明集成测试的必要性,以及持续集成的好处。然后介绍了系统测试的内容,从各个不同的角度实施相应的测试策略来确保软件的质量。 wangchunxiu@ccniit.com