一、软件需求是什么
- 业务需求:反映了组织机构或客户对系统、产品高层次的目标要求,他们一般在项目视图与范围文档中予以说明
- 用户需求:描述了用户使用产品必须要完成的任务,一般在使用的一些实例或方案脚本说明中予以说明
- 功能需求:定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足业务需求。
- 非功能性需求:比如性能要求
二、需求澄清
1. 需求阶段的位置
需求是软件项目研发的开始,是组建研发团队后第一次集体参与讨论的事情,也是质量保障的重要一环
2. 需求会议中测试需要做什么
- 找到需求中设计不合理或者难以理解的地方,抛出疑惑;
- 思考需求中的测试点,影响我们测试的地方让产品经理给出说明,比如异常情况如何处理,有多少种状态,状态之间如何转化,为后面的测试用例设计扫清障碍。
- 要多问几个为什么,为什么要提这个需求,了解需求背景以及设计的总体框架
- 了解目前存在的困难,如何解决
- 如果涉及到业务数量,需要了解数量大小
- 了解有无需求变更,需求变更影响范围
- 发掘隐性需求
3. 需求评审原则
- 需求文档上没有任何错误
- 每个功能逻辑都很顺畅
- 结合用户习惯、以往的测试经验,挖掘一些隐性需求