目录
学习目标
- 掌握什么是系统测试
- 熟悉系统测试过程
- 理解各种系统测试类型
一、什么是系统测试?
1、系统测试的定义
- 系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,
与硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在
实际运行(使用)环境下,对被测对象进行一系列的测试活动;
- 系统可能包含硬件,但不一定包含硬件,可能就是纯软件
2、系统测试的目的
- 通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。
- 系统测试的测试用例应根据需求分析说明书来设计,并在实际使用环境下运行。
3、系统测试对象
- 系统测试的对象是软硬件集合在一起的系统,不应是独立的软件和硬件环境。当然具体操作,执行时可根据实际情况来组织。
- 验证时应尽可能模拟实际的运行环境与条件
系统测试对象对应的是产品级
二、系统测试工作过程
- 系统测试计划阶段:完成系统测试计划
- 系统测试设计阶段:完成系统测试方案
- 系统测试实现阶段:完成系统测试用例
- 系统测试执行阶段:执行系统测试用例,修改发现的问题并进行回归测试,提交系统预测试报告、系统测试报告、缺陷报告
1、系统测试计划阶段
1、5W1H计划法
WAHT 测试的对象是什么?
WHEN 什么时间测试?
WHERE 在哪里测试?
WHO 谁来测试这个项目?
WHY 为什么测试?
HOW 怎么测试?
2、测试计划的意义
- 领导能够根据测试计划做宏观调控,进行相应资源配置等
- 测试人员能够了解整个项目测试情况以及项目测试不同阶段的所要进行的工作等
- 便于其他人员了解测试人员的工作内容,进行相关配合工作
2、系统测试设计阶段
这个阶段的主要内容:
- 依据需求规格,提取测试点(测试要点)
- 设计系统测试环境
- 设计测试数据集(可选)
3、系统测试实现阶段
- 测试动作执行的载体为测试用例。系统测试实行阶段主要内容就是测试用例的实现
- 也就是将测试目标明确化,变成可实际操作的过程
- 测试用例的编写
4、系统测试执行阶段
所谓系统测试执行,并非单单执行测试用例这个动作,他是由不同的工作内容组成的
- 构建测试环境
- 执行测试
- 缺陷管理
- 测试日报
- 测试报告
系统测试日报的写作目的是为了交流和总结
三、系统测试类型
1、功能测试
定义:功能测试是根据产品的需求规格说明书和测试需求列表,验证产品的功能实现是否符合产品的需求规格的一类测试。
功能测试是系统测试中最基本的测试!
(1)功能测试的目的
目标:
功能测试主要是为了发现以下几类错误:
- 是否有不正确或遗漏了的功能?
- 功能实现是否满足客户需求和系统设计的隐藏需求?
- 是否多出用户不需要的功能?
- 输入能否正确接受?能否正确输出结果?
功能测试的依据:需求说明书
(2)功能测试要点
单功能验证
多功能交互
业务流程
2、性能测试
定义:性能测试(Performance Testing)就是用来测试软件在集成系统中的运行性能的。
性能测试的目标是度量系统相对于预定义目标的差距。
(1)性能测试收集的信息
- CPU使用情况
- 内存使用情况
- 硬盘使用情况
- 网络带宽使用情况
- 系统响应时间
- 系统吞吐量,即每秒能处理的请求数量
性能测试必须要有工具支持,市面上有一些专门用于GUI或Web的性能测试工具
(2)性能测试的分支
- 负载测试
- 容量测试
- 压力测试
- 基准测试
(3)性能测试的两种模式
有性能需求的:
按照性能需求进行测试,达到性能指标即可
无性能需求的:
测出性能指标,通过不断增加负载的方式来观察系统的承受处理能力,然后找到容量值。
3、GUI测试
- GUI测试是针对系统软件GUI界面进行的测试
- GUI测试主要包括两方面的内容:
界面实现与界面设计的吻合情况;
确认界面处理的可能性。
GUI测试更多的是站在用户的角度去观察,去体验。
通常要结合用户的使用习惯
GUI测试对象
- 简单界面元素
- 组合类界面元素
- 完整界面(窗口)
4、可靠性测试
- 系统可靠性的指标
系统平均失效时间间隔(MTBF)
系统平均恢复时间(MTTR)
- 系统可靠性设计技术
避开错误
容错技术
信息冗余(增加校验数据位)
时间冗余(额外的时间多次执行)
硬件冗余(额外的设备)
- 可靠性测试分支
稳定性测试
异常测试
容错处理;
- 系统自动处理
- 人工干预处理