发表于: 2018-05-29 02:16:26
1 672
今天完成的事:学习需求了解和需求分析
一、什么是需求了解呢?
需求了解:就是对需求文档进行分析并提出疑问,然后和产品、和开发沟通解决,以便明确需求、全面理解需求。
1)、为什么要进行需求了解呢?
需求了解的目的:是为了达到三方共识,避免出现开发实现的不是产品想要的,测试理解的和产品要求的有偏差。
2)、需求了解该什么时候去做呢?
当项目开始,产品提供了产品文档之后,作为测试人员就应该去了解需求了,晚了会觉得被动,而且给人的印象主动性不高的感觉。
3)、需求了解要了解些什么呢?又要如何了解呢?
对于一名测试人员来说,首先阅读产品文档要注意一下几点:
a、了解需求的目的
作为测试人员,可以说是产品的第一批用户,自己如果不知道产品的目的,又如何推广给他人使用呢
b、完整的阅读需求文档,同时标记疑问
从头到尾要仔细阅读文档。一定要用一整块时间进行完整阅读,在不同时间,不同的心情去阅读,感受往往是不偶同的,在阅读时,如遇到疑问,不要停留,做好标记将问题暂时记录起来,然后继续阅读,不要被自己打断。
c、分析标记的疑问,重新阅读文档
完整阅读完文档后,回头去看一下自己标记的问题,很多时候,这些问题在下文中可能会被解答,有时候在读完整篇后原来读不通的地方,忽然就通了。如果遇到还没有解决的问题,联系上下文,分析一下,将文档再从头看一遍,一般情况下,如此之后基本能解决大部分问题。
4)了解需求,确认目的之后还如何做呢?
此时应该和产品确认需求,对于之前的读需求文档(了解需求、确认目的),都是自己的臆测,而这些臆测的结果对还是不对,必须要跟产品核对自己对于需求文档的理解是否正确。此时也需要开发的参与,因为需求了解是产品、开发、和测试三方达成共识的步骤,产品讲需求,开发和测试确认自己的理解是否一致。
二、需求分析
1)一个优秀需求的特性
a、完整性:每一个描述包含开发人员设计和实现这项功能需要的所有信息
b、正确性:真是反映用户意图
c、精确性:需求的描述要具有可理解性,充分,包括必要的信息
d、可行性:在现有系统和环境已知条件和约束实现,必要时通过开发原型来验证
e、必要性:每一项需求都是必要的,满足用户需求所必需的,没有可以疏忽的
f、无歧义:每一需求只有一种解释,在需求开发定义一个共同理解的词汇表
g、可验证:通过分析、检查、模拟、测试、能判断需求是否被满足
2)项目前景和范围文档、用户需求文档、需求规格说明文档
a、项目前景和范围文档:定义了系统的业务需求,明确了系统开发的努力方向和工作范围
b、用户需求文档:定义了系统的用户需求,以用户立场表达了对系统行为的期望
c、需求规格文档:说明文档系统规格说明和软件规格说明
ps:系统规格说明定义整个系统的需求,软件需求、硬件需求、其它需求
软件规格说明定义软件需求
3)需求获取困难
a、用户和开发人员的背景不同、立场不同(只是理解的困难、默认只是现象)
b、普通用户缺乏概括性、综合性表述能力
c、用户存在认知困难
d、用户月租代庖(用户提出的不是需求,而是解决方案;用户固执的坚持某些特征和功能)
e、缺乏用户参与(用户数量太多,选择困难;用户认识不足,不愿参与;用户情绪抵触,消极参与;没有明确用户)
4)获取信息的来源
a、涉众(用户、客户、领域专家、市场人员、销售人员)
b、硬数据(登记表格、单据、报表定量、备忘录、日志定性)
c、相关产品(原有系统、竞争产品、协作产品)
d、重要稳档(原有系统的规格说明;竞争产品的规格说明;协作产品的规格说明;客户的需求文档、委托开发的规格说明、招标书)
e、相关技术标注和法规(相关法律、法规;行业规范、行业标准;领域参考模型)
明天计划的事:继续后面的学习或是总结下任务二
遇到的问题:不知道对于需求了解和需求分析的理解是否正确,还是过于繁琐笼统了
收获:对于需求了解有了更深的理解,知道了一些了解需求的方法和目的,知道怎样能更好了了解需求;以及知道怎样的需求算是一个合格的需求,明白需求的重要性
评论