说明:
以下说明可能不完全正确,主要是给新手对“需求分析和评审”有个大致的认识

A. 需求分类
是对需求按照可以管理的方式分组。可分为以下:
(一) 原始需求(客户需求):原始需求可视为客户的需求,而客户是不了解软件开发技术的,提出的需求是没有办法直接用于开发的,输出文档:市场需求文档(Market Requirement Document,MRD)
(二) 产品需求:产品设计人员或者需求分析人员根据原始需求、结合软件可以实现的功能形成的需求,我个人理解应该就是所说的业务需求,这点待讨论.输出文档:产品需求文档(Product Requirement Document,PRD)
(三) 软件需求:软件开发人员根据软件实现原理进一步将产品需求详细化,输出文档:软件需求规格说明书(Software Requirements Specification),简称SRS
(四) 测试需求:开发人员不了解如何对软件进行测试,无法将需求详细到可直接用于测试,所以测试人员还需要将软件需求转化为测试需求
客户需求->产品需求(业务需求)->软件需求->测试需求,可看成需求由简单到详细的过程,对于每个需求类型都要界定需求实现的优先级、工作量和风险
一个经典的例子:
小明说,他要吃猪骨头火锅(客户需求),80块吧,但没想到又碰到了授客。
授客:“真的想吃?”
小明:“想吃!”
授客:“为什么?”
小明:“我饿了……”(找到了本质)
授客:“哦,这里是两个馒头(产品需求),请你吃,才1块钱”
……

小知识:客户和用户的区别
客户是为产品或服务买单的人。
用户是使用产品或服务的人,和产品或服务产生直接的交互过程。

客户是对产品或服务形成服务请求和达成买卖关系的人或实体。也可以说是对产品或服务购买有决策权的相关人,这里包含技术决策者和业务决策者等系列人。
客户一般关注的是价格和效果,效果包括了产品使用后的工作效率提升,也隐含了领导的业绩提升。有的时候客户既不关心价格也不关心效果,他关心自己的个人利益。所以找到客户的真实意图是拿单的关键所在。

用户对产品的关注点是好用,简单,提高效率,带来便利。产品最终是为用户服务的,即使产品被客户买单,但最终用户用不起来,那么这也是个失败的产品。
所以,产品被用户认可,使用后能提升工作效率,同时给客户带来利益,这才是双赢的局面。

B. 测试需求
什么是测试需求,见名知意,要测啥?简单说也就是设计测试用例中的验证点,测试依据,这里包括功能性测试需求,也包括非功能性能测试需求。做测试的要学会从需求规格说明书中挖掘需要测试的验证点,进行用例设计。

例子:从软件需求规格说明书中获取测试需求
(举例目的在于让新手了解写用例并不是直接复制需求说明书中的内容,而是要挖掘测试点)
假设需求规格说明书中有如下一功能需求

功能描述:
功能名称: 快速搜索
功能描述: 可以根据人名或文章、标题的内容进行搜索
用户及角色: 注册用户
补充说明: 无
输入项:略
处理流程:略
输出项:略

即便仅有功能描述的情况下,我们也可对其进行挖掘测试需求:
1.输入是否支持中文?数字?英文?空格?
2.是否可以输入较长的搜索字符?
3.输入是否支持模糊搜索?
……
确定以上问题为测试需求后即可把它们作为用例设计的验证点,进行用例设计

测试如何进行有效的需求分析相关推荐

  1. 软件需求分析--三步走

    软件项目如何进行需求分析,要解决这个问题,我们要分三步走 第一步:通过什么方式去了解需求 了解需求的方式有好几种: (1)直接与客户交谈.如果分析人员生有足球评论员的那张"大嘴", ...

  2. 【转】安全测试自学路线图

    转自:http://www.besttest.cn/article.php?id=168 1. 黑客攻击流程 图1 黑客攻击流程 2. web安全测试流程 图2 web安全测试流程 3. 部分基础知识 ...

  3. 敏捷需求分析及深度提升(广州 2014.1.11)

    课程概述 无论你是做项目.做产品还是互联网,需求分析都是一个苦逼的事情!做项目的不知道客户想要什么,甚至客户自己也不知道想要什么!做产品和互联网的不知道潜在客户想要什么,不知道市场会有怎样的变化,只知 ...

  4. 你是如何找到自己的第一份测试工作的?

    作为一个测试新人,面对自己职场的第一份测试工作,在入职之前都会有点迷茫,去了新公司要如何展开测试工作?会不会有专人带?会不会有培训? 该如何处理好跟新同事之间的关系? 如何搭建测试环境等等一系列问题, ...

  5. scrum开发中测试人员如何工作?

    Scrum工具:Leangoo拥有看板式的协作方式,简洁直观,能够轻松拖拽任务卡和任务列表,并在团队成员间实时同步看板变化.同时它简洁实用的功能使它比其他软件更轻量,能让团队在5分钟内协作起来,无需耗 ...

  6. 美团笔试(测试开发)

    时间:2018.9.6   19.-21.20 在草稿纸上整理+超强的记忆力,部分题目如下: 逻辑测试部分: 1,0,2,2,6,10的下一个数是多少 2=2*1 2=2*(1+0) 6=2*(1+0 ...

  7. 聊一聊以前公司的测试流程

    测试主要流程为:需求分析-测试计划-测试用例-测试执行-测试报告-维护性测试 以前公司的测试流程: 一.首先召开需求分析会议,主要去探讨需求中主要的一些功能点: 二.其次开发进行开发工作,测试主管开始 ...

  8. penetration test:渗透测试

    网络渗透测试指导手册 来源: http://www.7747.net/Article/201009/75399.html 什么是网络渗透测试? 渗透测试是一种最老的评估计算机系统安全性的方法.虽然渗透 ...

  9. 看完牛客网19年测试全部面筋,有了这篇测试面试100问的博客

    文档正在整理中 介绍一下单元测试.集成测试.系统测试.验收测试.回归测试 1.单元测试[UT]:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的 ...

  10. 视觉检测类项目如何开展测试

    视觉检测类项目如何开展测试 #01什么是视觉检测设备 视觉检测是指通过机器视觉产品(即图像摄取装置,分 CMOS 和CCD 两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮 ...

最新文章

  1. 深度学习入门指北——从硬件到软件
  2. Leaflet绘制热力图【转】
  3. element ui中走马灯放图片
  4. 为什么watch机制不是银弹?
  5. orcad自上而下_开发自上而下的Web服务项目
  6. 华为IoT平台NB编解码插件开发详细教程【上篇】
  7. python语言中的数据类型之字典
  8. CleanMyMac for mac之偏好设置
  9. python入门之字符串处理_Python基础之字符串操作,格式化。
  10. scala学习-12-scala读取java项目下Src目录下的properties文件
  11. python操作sqlite数据库_Python操作Sqlite正确实现方法解析
  12. html换浏览器div的位置固定不变,浏览器窗口更改时,HTML div不在适当的位置
  13. 内置函数dict()字典
  14. php不使用第三个参数交换两个变量的值,交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3; 有两种解法, 一种用算术算法,...
  15. 计算机病毒与木马防范技术,计算机病毒与防护 4 3木马防范技术
  16. Chrome扩展、装逼神器:Vimium
  17. 技术人员谈管理之项目风险规避
  18. 关于物联网卡(二):如何使用物联网卡
  19. linux如何做动态壁纸实验报告,Ubuntu制作动态壁纸
  20. android2.1操作系统,电脑安卓操作系统

热门文章

  1. 《精通脚本黑客》读本书吧
  2. 软件测试理论基础知识
  3. 《数字图像处理》实验三
  4. QT 简单应用之播放WAV声音
  5. 把U盘变成超级工具箱
  6. Delphi 源码格式书写规范
  7. 设为首页 加入收藏代码
  8. Android开发指南-窗口小部件(App Widgets)
  9. java中滚动字幕做法_四种滚动字幕的方法
  10. 雅虎前端性能优化的35条军规