软件测试 (九)系统测试
软件测试 (九)系统测试
本章要点 系统测试前的准备 功能测试用例的设计方法 安装测试的检测项 性能测试、压力测试和容量测试之间的联 系和区别 安全性测试中需要考虑的问题 健壮性测试、容错性测试、恢复测试之间 的关系 可用性测试过程 图形用户界面测试用例设计方法 文档测试的检测项
本章要点 系统测试前的准备 功能测试用例的设计方法 安装测试的检测项 性能测试、压力测试和容量测试之间的联 系和区别 安全性测试中需要考虑的问题 健壮性测试、容错性测试、恢复测试之间 的关系 可用性测试过程 图形用户界面测试用例设计方法 文档测试的检测项
系统测试概述 系统测试的对象包括源程序、需求分析阶段到 详细设计阶段中的各技术文档、管理文档、提 交给用户的文档、软件所依赖的硬件、外设甚 至包括某些数据、某些支持软件及其接口等。 随着测试概念的发展,当前系统测试已逐渐侧 重于验证系统是否符合需求规定的非功能指标。 其测试范围可分为功能测试、性能测试、压力 测试、容量测试、安全性测试、图形用户界面 测试、可用性测试、安装测试、配置测试、异 常测试、备份测试、健壮性测试、文档测试、 在线帮助测试、网络测试、稳定性测试
系统测试概述 系统测试的对象包括源程序、需求分析阶段到 详细设计阶段中的各技术文档、管理文档、提 交给用户的文档、软件所依赖的硬件、外设甚 至包括某些数据、某些支持软件及其接口等。 随着测试概念的发展,当前系统测试已逐渐侧 重于验证系统是否符合需求规定的非功能指标。 其测试范围可分为功能测试、性能测试、压力 测试、容量测试、安全性测试、图形用户界面 测试、可用性测试、安装测试、配置测试、异 常测试、备份测试、健壮性测试、文档测试、 在线帮助测试、网络测试、稳定性测试
准备工作 收集各种软件说明书,作为系统测试的 参考 仔细阅读软件测试计划,最好制定单独 的系统测试计划,作为系统测试的根据, 并收集已编好的测试用例; 如果没有现成的系统测试用例,则需要 做大量工作来编写测试用例
准备工作 收集各种软件说明书,作为系统测试的 参考; 仔细阅读软件测试计划,最好制定单独 的系统测试计划,作为系统测试的根据, 并收集已编好的测试用例; 如果没有现成的系统测试用例,则需要 做大量工作来编写测试用例
编写测试用例 在编写测试用例时,应从软件规格和各 种文档中发掘以下信息: 0对系统各种功能的描述; 0系统要求的数据处理和传输效率; °对系统性能的要求; 0对兼容性的要求; 0对备份和修复的要求; 0对配置的描述; 0对安全方面的要求等
编写测试用例 在编写测试用例时,应从软件规格和各 种文档中发掘以下信息: ◦ 对系统各种功能的描述; ◦ 系统要求的数据处理和传输效率; ◦ 对系统性能的要求; ◦ 对兼容性的要求; ◦ 对备份和修复的要求; ◦ 对配置的描述; ◦ 对安全方面的要求等
系统测试类型 系统测试的测试类型包括功能测试、性 能测试、安装测试、压力测试、容量测 试、安全性测试、健壮性测试、可用性 测试、用户界面测试、文档测试等。其 中功能测试、性能测试、安装测试、可 用性测试等在一般情况下是必须的,而 其他的测试类型需要根据软件项目的具 体要求进行裁剪
系统测试类型 系统测试的测试类型包括功能测试、性 能测试、安装测试、压力测试、容量测 试、安全性测试、健壮性测试、可用性 测试、用户界面测试、文档测试等。其 中功能测试、性能测试、安装测试、可 用性测试等在一般情况下是必须的,而 其他的测试类型需要根据软件项目的具 体要求进行裁剪
功能测试 功能测试是系统测试中最基本的测试, 它不管软件内部是如何实现的,而只是 根据需求规格说明书和测试需求列表, 验证产品的功能是否符合需求规格,主 要检验以下几个方面: 功能是否全部实现,有没有遗漏; 0功能是否满足用户需求和系统设计的隐藏 需求; °能否正确地接受输入,并给出正确结果
功能测试 功能测试是系统测试中最基本的测试, 它不管软件内部是如何实现的,而只是 根据需求规格说明书和测试需求列表, 验证产品的功能是否符合需求规格,主 要检验以下几个方面: ◦ 功能是否全部实现,有没有遗漏; ◦ 功能是否满足用户需求和系统设计的隐藏 需求; ◦ 能否正确地接受输入,并给出正确结果
功能测试 在进行功能测试时,作为功能测试的基本输入, 首先需要对需求规格说明书进行分析,分析步骤 有以下几个 0对每一个明确的功能需求进行标号; 对每一个可能隐含的功能需求进行标号 对于可能出现的功能异常进行分类分析,并标号; 对前3个步骤获得的功能需求进行分级,以便为每个功 能点计划投入的人力等;由于对每个功能点都进行充 分测试需要极大的代价,所以常常需要将需求功能划 分为关键需求功能和非关键需求功能,关键需求功能 是指产品核心功能,如果关键功能失败,则可能导致 用户直接拒绝使用产品; 对每个功能进行测试分析,以决定是否可测、如何测 如何输入、可能输出等; 为测试制订脚本化和自动化支持
功能测试 在进行功能测试时,作为功能测试的基本输入, 首先需要对需求规格说明书进行分析,分析步骤 有以下几个: ◦ 对每一个明确的功能需求进行标号; ◦ 对每一个可能隐含的功能需求进行标号; ◦ 对于可能出现的功能异常进行分类分析,并标号; ◦ 对前3个步骤获得的功能需求进行分级,以便为每个功 能点计划投入的人力等;由于对每个功能点都进行充 分测试需要极大的代价,所以常常需要将需求功能划 分为关键需求功能和非关键需求功能,关键需求功能 是指产品核心功能,如果关键功能失败,则可能导致 用户直接拒绝使用产品; ◦ 对每个功能进行测试分析,以决定是否可测、如何测、 如何输入、可能输出等; ◦ 为测试制订脚本化和自动化支持
功能测试 常用的用例设计方法有: 0规范导出法 0等价类划分 0边界值分析 0因果图 0判定表 0正交实验设计 0基于风险的测试 0错误猜测法
功能测试 常用的用例设计方法有: ◦ 规范导出法 ◦ 等价类划分 ◦ 边界值分析 ◦ 因果图 ◦ 判定表 ◦ 正交实验设计 ◦ 基于风险的测试 ◦ 错误猜测法
性能测试 性能测试是用来测试软件系统在实际的集成系统中运行 性能的。因为在无论是在单元测试,还是集成测试中 都没有将系统作为一个整体放入实际环境中运行,因此 只有在性能测试阶段,才能够真正看到系统的实际性能 主要包括以下几个方面: 0评估系统的能力:测试中得到的负荷和响应时间数据可用于 验证预期系统的能力,并帮助做出决策; 0识别体系中的弱点:受控的负荷可以被增加到一个极端的水 平,并突破它,从而修复体系的瓶颈或薄弱的地方 系统调优:重复运行测试,验证调整系统的活动得到了预期 的结果,从而改进性能; 0检测软件中的问题:长时间的测试执行可导致程序发生由于 内存泄露等引起的失败,揭示程序中的隐含的同题或冲突; 验证稳定性和可靠性:在一个生产负荷下执行一定时间的测 试是评估系统稳定性和可靠性是否满足要求的唯一方法
性能测试 性能测试是用来测试软件系统在实际的集成系统中运行 性能的。因为在无论是在单元测试,还是集成测试中, 都没有将系统作为一个整体放入实际环境中运行,因此, 只有在性能测试阶段,才能够真正看到系统的实际性能。 主要包括以下几个方面: ◦ 评估系统的能力:测试中得到的负荷和响应时间数据可用于 验证预期系统的能力,并帮助做出决策; ◦ 识别体系中的弱点:受控的负荷可以被增加到一个极端的水 平,并突破它,从而修复体系的瓶颈或薄弱的地方; ◦ 系统调优:重复运行测试,验证调整系统的活动得到了预期 的结果,从而改进性能; ◦ 检测软件中的问题:长时间的测试执行可导致程序发生由于 内存泄露等引起的失败,揭示程序中的隐含的问题或冲突; ◦ 验证稳定性和可靠性:在一个生产负荷下执行一定时间的测 试是评估系统稳定性和可靠性是否满足要求的唯一方法