需求的重要性
需求的定义和分类
需求的定义
- 1 用户解决问题或达到目标所需条件或权能
- 2 系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能
- 3 一种反应上面1 或 2 所述条件或权能的文档说明
- 它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准或设计限制
需求的分类
- 用户需求 文档描述了用户使用产品必须完成的任务
- 业务需求 反映了组织机构或客户对系统、产品高层次的目标要求
- 功能需求 定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求
需求对测试的重要性
需求分析
- 基于什么环境
- 基于什么用户
- 基于什么行为
8020原则
bug分布 需求54% 设计25% 代码15% 其他6%
缺陷修复成本
- 越早修复成本越低
需求跟踪矩阵
软件需求主要包括两个方面:需求开发和需求管理
需求开发(不断反复)
- 需求获取
- 需求分析
- 编写需求规格阶段
- 需求验证阶段
软件需求规格说明的特点
- 完整性
- 一致性
- 可修改性
- 可跟踪性
需求管理(严格控制)
- 定义需求
- 需求确认
- 建立需求状态
- 需求评审
- 需求承诺
- 需求跟踪
- 需求变更控制
测试需求跟踪矩阵
- 根据软件开发需求说明书逐条列出软件开发需求,并判断其可测性
- 形成可测试的描述并界定出测试范围
- 根据质量标准,逐条制定质量需求
- 建立测试需求跟踪矩阵,对测试需求实施严格有效的管理
编写测试需求跟踪矩阵
需求编号功能点名称需求描述需求拆分测试类别测试要点测试负责人优先级
编写测试需求跟踪矩阵的步骤
- 阅读理解各类需求
- 结合界面原型图理解软件各部分功能
- 从叶级别的功能点开始编写矩阵
- 保证每个功能点都有正反测试思路覆盖,正反测试配比达到1:4
- 只写清测试思路和预期结果,不用具体展开