软件测试需求分析分享
什么是软件测试需求?
再说软件需求之前,我们必须意识到软件是为用户服务的,所以软件需求就是用户的需求。
曾经在网络上看到一个非常有趣的例子,来帮助我们了解什么是用户需求:
一个人饿了,想吃米饭。这就是用户需求。“饿”是需求,整句话是动机。你给了他一碗米饭。这就是满足了用户的需求。你给了他一面包,并且告诉他,这玩意更解饿,但是噎得慌,于是搭着买了一瓶脉动。这就是创造用户需求。
通过上面的例子,我们知道用户需求就是:可以解决用户所存在问题的一种方便快捷的产品,比如所共享单车解决了出行不便的问题,社交平台解决你沟通方式问题等。
软件测试需求常见的展现形式
我们介绍过产品经理这个岗位角色。我们的产品经理会获取用户的需求,并且整理成一定的文档和图片资料展现给我们研发团队,方便我们开发以及测试各类人员参与进来,根据产品经理提供的文档和图片资料进行需求分析和产品剖析,共同完成项目的研发。那产品经理会以什么样的形式展现这些需求资料呢?一般常见的有如下两种方式:
(1)软件产品需求文档
产品需求文档是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的一个文档,给大家看看我们工作中常见的需求分档目录:
1概述
2项目综述
3功能性需求
3.1功能性需求分类
3.2功能需求描述
3.2.1用户注册
3.2.1.1功能描述
3.2.1.2需求描述
3.2.2用户登陆
3.2.2.1功能描述
3.2.2.2需求描述
3.2.3我的账户
3.2.3.1功能描述
3.2.3.2需求描述
3.2.4投资理财
3.2.4.1功能描述
3.2.4.2需求描述
需求文档内容:
功能概述
通过上述的文档说明,我们知道这个是一个网站的注册功能,用户注册成功后会有一定的操作权限,并且有一定的业务处理流程和规则约束。当我们的研发团队看到这个文档,就能够有效的快速的去分析这个产品的需求,并且制定研发计划;测试团队看到这个文档,就能够制定有效的测试计划和方案。
(2)软件产品原型图
原型图简单的来说是用线条、图形描绘出的产品框架,也称线框图,跟我们最终的产品形态无异,我们可以用Axure这个工具画出产品的原型图,如下所示,这是一个互联网p2p平台的用户账户页面:
原型图相对产品需求文档来说,更具有直观性,因为原型图他会有页面设计以及交互设计,跟最终的产品达成效果相似度非常之高。对于研发团队和测试团队而言,他不再是一个抽象的存在,以更加具体的接近产品的最终形式展现,也能够让我们迅速的理解这个产品的需求,并且能够更好的更快的完成研发和测试。
软件测试需求分析的作用
在需求确定下来之后,研发团队通常会召开一个需求评审分析会议,由产品经理作为主讲解,在会议上向大家介绍我们的产品项目以及功能的实现效果以及内部业务逻辑,并且能够在这个会议里达成如下的目标:
梳理清楚产品的功能点以及业务逻辑,不存在二义性和疑惑;
对产品逻辑不清楚不合理的地方进行讨论,并且最终确定好修改方案;
对功能模块进行梯队层划分,优先实现重且关键的功能,后期再对其他梯队的功能进行研发。
确定好如上三个目标后,我们就可以开始工作了,开发人员确定好研发方案以及时间进度,测试人员确定好测试计划方案,并且根据需求去编写测试用例。
一般都有人问,我们测试人员什么时候介入项目呢?答案是:越早越好,其实在需求分析阶段我们已经介入了。
过早的介入项目,并进行软件测试需求分析,有什么作用呢?对于整个研发团队来说,尽早的了解被测系统,做好需求分析可以事半功倍,也不会导致后期因为需求分析不正确出现的工期延误或者是更大的市场损失,如果不做好需求分析,你在之后的工作中会深刻的感受到下面的麻烦和难题:
(1)浪费时间和资源来满足用户并不需要的需求(过度实现一些功能)
(2)开发出来的产品技术上先进,但不满足用户需求;
(3)总是需要比较长的时间来达成对产品设计的共识;
(4)在产品设计,开发和测试工作中对于用户需求的杰斯不一致;
(5)员工会厌倦因需求不断被怼重新解释而导致的返工;
(6)未说明的或不正确的需求会导致员工与用户间的不满;
(7)不稳定的产品,用户的不满意对我们未来的市场造成损失;
(8)浪费时间,增加成本,使得在一些投标的项目中不能低价
为了避免整个团队都陷入返工的这种糟糕的漩涡中,尽早做需求分析并且做好需求分析是非常有必要的事情。
如何做软件测试需求分析
如何进行需求分析是我们软件测试工作介入项目的第一步,根据我们自己的需求文档或者是原型图,可以从如下几个方面来进行分析,并找出相关的需求点:
(1)功能需求:产品应该完成的基本功能,一般来说这个都是比较硬性的标准,我们作为测试也必须要弄懂我们即将要测试的基本功能模块是哪些,才能有序的展开后期的测试工作;
(2)非功能性需求:对我们来说,就是隐形需求,可能在我们的需求文档里面不会体现出来,用户也不会明说,但是要让产品更加完善和高质量,可能我就需要去多方面考虑,比如说产品的兼容性、易用性、可靠性、稳定性等;
(3)限制条件:在需求分析中需要考虑一些规则约束等,比如在上面需求文档里面tidied注册功能。
它的限制条件就体现在:图片验证码的输入限制,短信验证码的时间与输入限制,密码的长度与格式限制,这些都需要我们在分析中认真分析,并为我们下一步的测试用例编写做好准备。
今日福利
柠檬班准备了150个常用Linux命令
课程地址:http://www.lemonban.com/front/couinfo/188
可加小米老师微信:
13327316731
暗号:官网
由柠檬班软件测试培训机构整理