你会做软件需求分析吗?

有经验的测试人员告诉我们,探求用户需求是测试工作的第一前提。这是因为,只有明确需求,才可以针对测试工作进行计划和实施,才能开始后续的步骤。

但是实际工作中,明确的需求并不在多数,往往需要测试人员开启脑补能力,针对各种原始需求不停地挖掘,才能知道用户到底要干什么?

借助精神分析学派的潜意识理论,我们大致可以将用户需求分为显性需求和隐性需求。

显性需求一般是用户可以明确感受到并且可以表达出来的,可以进行针对性满足的需求,通俗的说吧,就是你饿了,我请你吃饭,馒头加咸菜,保证你吃饱;如果我不给你,你就会让我蓝瘦,香菇。

饿了给吃的,可以说是满足用户显性需求。一般来说,当用户的显性需求被满足时,用户基本没啥太大的反应;但不被满足时,那就呵呵哒了。

而与之对应的隐形需求指的是用户不能准确表达的,但是存在于内心的诉求,且往往有着主观化的感情。

接着通俗的说,如果你饿了,我请你吃饭,馒头加咸菜,保证你吃饱,但是我想你吃多了肯定会口渴啊,我就再给你拿一杯水吧;但是如果我不拿水,你可能也无所谓,因为毕竟你只需要馒头咸菜吃饱就行了啊。

在这里,管饱就是解决了用户饿的基本需求,而随之而来的口渴可以说是用户的隐形需求。如果用户的隐形需求也能被满足时,用户会兴奋、会惊讶、会尖叫,你们好人性啊,还能想的这么全面,做事如此可靠,下次还找你们带我吃饭。

所以,显性需求是用户需求的表层形式,而隐性需求正是被表层需求掩盖的真实需求,也就是用户留给我们可以深度挖掘的产品目标。那么,怎么去挖掘这份隐性需求呢?

1.可用性测试行为记录 让一群具有代表性的用户对产品进行典型操作,同时观察员和开发人员在一旁观察,聆听,做记录。

在测试过程中,我们要观察并记录用户的各种行为,包括操作的流畅度、停顿、误操作以及用户的神态表情等。

但是要注意整个过程中不要给用户任何操作性提示或行为性诱导,以便对用户的行为做日常状态下最真实的记录,因为只有如此,才能知道用户的真正诉求和想法,才能挖掘到最真实的隐性需求。

2.平时日常生活中观察积累 这就需要各位在生活中多多留心了,我们要巧妙的把生活中的经验应用到工作中,只有把生活中的内容变成工作,让自己都分不清楚到底是在生活还是在工作,这就说明你已经进入状态了,这样的话,你的经验就完全可以应用到需求分析中,直接作为客户的隐形需求来使用。

3.同类竞品功能对比 在我们生活中,很多人的习惯可能都是跟第一次使用或者使用频率极高的同类竞争品有关系,比方说有的人一有不懂的东西,旁边人就会提醒他可以去百度一下;

如果需要购物可能大多数人下意识反应就是淘宝;而如果在网络上进行网络聊天的时候,大多数人都是按着录音键,讲完话之后再发送,这也是微信和QQ中的操作方式。而这些方式在融入习惯的时候已经引不起大多数用户对他的关注了,用户是在使用一种没有意识的行为进行操作。

所以在这个过程中,我们需要多去做一下这些竞争品的功课,从而了解到竞争品让客户养成了什么样的无意识行为,而这个也是我们隐性需求的重要来源方式。

其实所谓的无意识只是讲让大众养成了这样的习惯,就像我们呼吸一样,每个人都没有过分注重自己是怎么进行呼吸的,但是却无时无刻不在进行这一行为,而我们所要提取的隐性需求就是来源于此,要把无意识的习惯重新有形化,并且把它变成需求考虑到用户的体验中。

分析需求的最高境界不是完成了客户的全部需求点而是在浑然天成的状态下,让客户感觉不到这是机器程序,而是非常合乎自然界的常理,就像没有设计过一般。

 

当你做好软件需求分析,就可以编写测试用例,实施测试计划啦~

>>戳戳,免费下载自动化测试工具TestWriter!(测功能、测回归、测兼容性)

时间: 2024-08-03 16:11:47

你会做软件需求分析吗?的相关文章

如何做软件需求分析

1.需求是什么 通常意义下,软件行业对需求的定义可能是由“需求方”以文字,口头,示意图 或者其他途径提出的“关于功能要怎么做”的表述. 2.需求有什么问题 往往软件开发行业陷入了一个困局,明明是按照需求方提出的需求,逐条实现的,为什么需求方往往不满意,做完又马上提出一堆变更,搞得双方都一肚子意见 3.真正的需求是什么,应该怎么分析 真正的需求应该把握这几个要点,“目的”,“方式”,“测试”,“结果” 逐条解释一下, 目的:需求的本质,这个需求是要做什么,这个在很多关于需求的分析中都讲得非常清晰了

【转】软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

软件需求分析

功能需求 1.用例分析是要求每一个子功能点都要有一个用例 例如:线路增加,线路删除,线路修改,线路查询.每一个功能描述一个用例 线路删除用例: 2.(后置条件是指:执行基本流程获得成功以后所达到的状态(条件).体现的是执行该用例的最终目的.)   管理员用户登陆 在注册完成后,以管理员账户登陆进入管理员界面,管理员用户登陆功能需求如下表所示: 表2.1“管理员用户登陆”功能需求分析用例 功能点编号 X3L101 功能点名称 管理员用户登陆 角色 管理员 功能说明 管理员用户能通过本功能点完成登陆

项目管理理论与实践(2)——软件需求分析

一.需求分析的目的 1. 马斯洛的需求层次理论 具体可以参考:(http://baike.baidu.com/view/295140.htm) 2. 需求分析的目的 1)与相关干系人在工作内容方面达成并保持一致 2)使设计.开发.测试人员能够更清楚地了解需求 3)定义系统边界,形成需求基线 4)为估算系统的规模.工作量.成本和进度提供基础 5)为开发计划的形成提供范围(SOW)基础 二.需求工程概述 1. 什么是需求工程?用一张图可以形象的表示 需求也属于一门工程学,需求工程包括需求开发.需求管

软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

软件需求分析教程阅读笔记二

软件需求分析教程阅读笔记二 管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用. 客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,然而从产品的实际用户处收集需求有着不可替代的必要性,所以导致项目最终失败的两个原因,一个是缺乏用户参与,另一个是不完整的需求规格说明. 在进行需求分析时,只有系统的实际使用者才能清楚的描述他们要用此系统

软件需求分析教程阅读笔记一

软件需求分析教程阅读笔记一 许多工程项目不能按时完成或者最后导致失败的一个很大的原因就是弄不清需求是什么,不能准确理解客户的需求意图,所以前期做好需求调研是一件非常重要的工作,是一件与系统代码开发占有同等比重的工作. 读这本书的同时,要注意实践过程,不必非得要从一个新项目开始应用,可以找一个以前的或者是现在正在进行的项目,根据书中所讲,着手开始实践. 软件需求就是需要知道是什么和为什么. 在软件开发当中遇到的许多问题,都是由于收集,编写,协商,修改产品需求过程中的手续和做法失误所带来的.需求分析

“写程序” 这个活动大多数情况下是个人行为。 我们听说的优秀程序员似乎都是单打独斗地完成任务。同学们在大学里也认识一些参加ACM 比赛的编程牛人, 他们写的ACM 比赛的程序是软件么? “写程序” 和 ”做软件“ 有区别么? 请采访这些学生。

ACM的题库的编程都只能算做程序,不能算软件.写程序和做软件区别还是很大的.程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合.为实现预期目的而进行操作的一系列语句和指令.而软件是程序以及开发.使用和维护所需要的所有文档的总称,而程序是软件的一部分.软件可能是由一个程序组成,或者由千万个程序组成,程序是软件的一个必不可少的组成. Edsger Dijkstra 曾经提到:“Software engineering, of course,presents itself as an

浅谈软件需求分析

浅谈软件需求分析 一.什么是需求分析? 通俗的讲,对用户的意图不断揭示和验叛的过程,要对经过系统可行性分析所确定的系统目标做更为详细的描述. 假如你是个建筑工程师,有个客户找你建一个鸡窝,这个时候要需要与客户沟通,来确定客户到底想要一个什么样子的鸡窝.我们应该注意三点: 1.准确的理解和描述客户需要的功能. 客户说,我的鸡窝要三层的,带电梯,饮水池,厕所,饮水池要自动判断水位供水,电梯要可以同时乘坐10只鸡-.客户滔滔不绝的讲了一大堆,你也都非常忠实的按照自己的理解再一一的向客户描述一遍,以便于