目录
我们为什么需要软件测试?
- 软件测试职位本身带来的价值
设置这一职位的目的,就是要让软件产品在交到用户手里之前得到很好的检验,所以,从事软件测试工作的人员必须对被测产品的质量负责。有了岗位负责制,产品的质量就在一定程度上可以得到保障了。
- 做的更专业,更好
本质就是比开发人员做得效率更高,效果更好
- 是软件产品质量保证的重要措施之一
软件测试是软件质量保证的一部分,早起引入软件测试有利于尽早发现缺陷和预防缺陷植入,并可以协助建立质量的文化
哪些人需要了解软件测试?
- 用户:参与需求验证和验收测试
- 项目经理:参与测试计划制定
- 程序员: 完成单元测试
- 测试员:设计和执行测试
一、什么是软件测试
IEEE(电气与电子工程师协会)对软件测试的定义如下:
使用人工或自动的手段来运行或测试某个系统的过程,其目的在于验证它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
软件测试的定义:
软件测试是为了发现缺陷而执行程序的过程
一个成功的测试是发现了至今没有发现的错误的测试
1.1 测试目的
检验被测系统是否满足需求,或弄清楚实际结果与预期结果是否一致
1.2 测试内容、手段和过程
1.2.1 手工动态测试涉及的工作
- 提供被测对象
- 准备相关预期
- 搭建测试环境
- 设计测试用例
- 运行测试用例
- 检查测试结果
- 记录测试过程
- 报告发现的缺陷
- 执行回归测试
交付件:
- 测试用例
- 驱动/桩模块
- 缺陷报告
1.2.2 静态检查
- 提供被测对象
- 准备相关预期
- 阅读代码和文档
- 模拟运行,阅读评审
- 报告发现的缺陷
- 执行回归测试
交付件:
- 测试用例
- 缺陷报告
1.2.3 自动化动态测试系统涉及的工作
- 提供被测对象
- 准备相关预期
- 搭建测试环境时,增加对测试工具的配置
- 设计测试用例后,根据测试用例编写测试脚本
- 运行测试用例
- 检查测试结果
- 记录测试过程
- 报告发现的缺陷
- 执行回归测试
交付件:
- 测试用例
- 驱动/桩模块
- 测试脚本
- 缺陷报告
1.2.4 软件测试的流程
四个阶段:计划、设计、实施、评估
1)计划
- 输入
- 需求规格说明
- 项目计划
- 输出
- 测试计划(主要回答以下问题:哪些人、分别在什么时候、使用哪些方法、利用哪些资源、遵循什么标准、对系统中的哪些对象展开测试、在这个过程中可能存在哪些方面的风险)
2)设计
其实质主要是回答2个问题:如何测试?以及遵循什么流程来测试
- 输入
- 需求
- 设计文档
- 测试计划
- 输出
- 测试用例
- 测试过程
3)实施(也包括了执行流程)
其目的是回答2个问题:如何让测试用例跑起来?被测软件中发现了什么问题?
- 输入
- 测试用例
- 测试过程
- 需求
- 输出
- 测试驱动模块
- 测试桩模块
- 测试脚本(可选)
4)评估
其目的是回答2个问题:测试工作质量怎么样?被测系统质量怎么样?
- 输入
- 测试用例
- 缺陷报告
- 测试标准
- 输出
- 测试评估报告
1.3 小结
什么是软件测试?
- 根本目的:确保被测系统符合用户需求
- 基本手段:设计测试用例</