# 测试流程
- 需求分析与评审
- 编写测试计划与测试方案
- 设计测试用例与评审用例
- 执行测试用例与缺陷跟踪
- 编写测试报告
# 需求分析与评审
## 什么是软件需求?
软件需求:是指为用户解决某一问题或达到某一目标所需要的软件功能。
如:手机扫码支付问题。
网站用户量的增长这么一个目标。
## 为什么要做需求评审?
- 保证需求的完整,准确。
- 保证团队对需求理解的一致性。
## 怎么做需求评审?
- 需求评审会
- 参会人员
- 项目经理、产品经理
- 开发人员,架构师
- 测试工程师
- UI
- 运维工程师
- DBA
## 程师在需求评审中的主要职责是什么?
- 确认自己对需求要有清晰的理解,没有疑惑。
- 确认需求文档的完整与正确性,能够指导后期的工作。
- 对需求中不合理的地方提出自己的修改意见。
# 编写测试计划与测试方案
## 测试计划
#### 什么是测试计划?
概念:是指描述了要进行的测试活动的范围、方法、资源和进度的文档。
#### 测试计划都包含什么内容?
- 明确的测试目标与测试范围
- 所测试的系统
- 包含哪些测试
- 执行计划的角色和职责
- 每个人员所负责的工作
- 任务的进度安排与资源分配
- 人员分配
- 时间分配
- 资源分配
- 风险评估和应急计划
- 人员流动
- 人员请假
- 测试的各项标准
- 准入标准
- 准出标准
## 测试方案
#### 什么是测试方案?
概念:是从测试技术角度去分析需求,在方向上明确要怎么测,分析结果重点在于测试策略与技术实现。
#### 测试方案包含什么内容?
- 测试策略/测试方法
- 测试环境规划
- 测试工具的设计和选择
## 测试计划和测试方案的区别?
- 测试计划是【管理型】文档, 测试方案是【技术型】文档;
- 测试计划是解决【做什么?】【谁来做?】, 测试方案是解决【怎么做?】;
- 主要内容存在差异:
- 测试计划主要内容如下:
- 明确的测试目标和测试范围
- 执行计划的角色与职责
- 任务的进度安排与资源分配
- 风险评估与应急计划
- 测试的各项标准
- 测试方案主要内容如下:
- 测试策略/测试方法
- 测试环境的规划
- 测试工具的设计和选择
# 设计测试用例
- 方法:等价类划分法与边界值组合
## 测试用例设计步骤:
#### 第一步:需求分析
- 输入分析
- 输入内容
- 长度
- 类型(数值、文字、字母)
- 是否为空
- 是否重复
- 处理分析
- 正常处理
- 异常处理
- 输出分析
- 前台(对应提示)
- 后台(模块间的影响)
- 数据库(数据存储)
#### 第二步:划分等价类
- 有效等价类
- 有效数据
- 无效等价类
- 无效数据
#### 第三步:设计用例
- 用例编号
- 模块
- 优先级
- 用例名称
- 预置条件
- 测试步骤
- 测试数据
- 预期结果
## 测试用例评审
#### 同行评审
**测试内部:**高级测试工程师、测试主管、测试经理等。
#### 项目评审
**项目内部:**
- 产品/项目经理
- 开发
- 测试
- 客户
## 执行测试用例与缺陷跟踪
#### 测试执行步骤
- 查看用例标题-确定目标
- 检查预置条件
- 按照步骤执行测试用例
- 实际结果与预期结果比较
#### 缺陷跟踪
- 提交缺陷报告
- ID
- 标题
- 模块
- 优先级
- 严重程度
- 复现步骤
- 预期结果
- 实际结果
- 缺陷状态
- 缺陷类型
- 跟踪缺陷(jira系统)
- 新建
- 处理中
- 已解决
- 关闭
- 重新打开