*什么是需求?

  是要干什么,这个即将做的事情的来龙去脉,终结果。是这么简单,不要去想那么复杂,再复杂的需求描述也是有这么几个要素组成的。

  *从何入手?

  那么面对几十页几百页的需求描述,我们怎么去看去理解呢?尤其是自己从来没有接触的行业,再加上是新入职的员工,这些需求理解更是难上加难。

  对于这种情况,我的做法是寻找需求中相对比较好理解,过程相对独立的模块入手。比如说“进销存”软件的测试,虽然你的业务一点儿不了解,但是你总会大概理解一个子模块大体的意思。好,找这个子模块一个常用的功能进行阅读即可。

  *顺藤摸瓜

  找到一个入手点后,只要我们入口功能分析的方法得当,那么我们会顺藤摸瓜,“摸出”整个需求的脉络了。针对着一个入口功能的分析,模板如下显示:

  入口准则:即使用这个模块的前提条件

  处理过程:即第一步做什么,第二步做什么

  输入信息:在每一步骤中,都输入了什么信息

  输出信息:在每一步骤中,都输出了什么信息。包括自动生成的信息和打印输出的信息。

  出口准则:这个模块完成的条件,以及哪个相关模块被激活。

  这个模板怎么用呢?简单的很,从入口准则中找到该模块的上一级模块,从出口准则找到该模块得下以及模块。中间的过程是该模块自身处理流程。由于开始说了,你是调了一个你相对熟悉,容易理解的模块进行需求分析,因此该模块内部需求,你应该是可以看懂的。然后先往前找上一级相关模块,如法抛掷。终梳理出整个需求的脉络。

  *整理

  既然已经摸清楚了整体请跨功能,那么后是自顶向下分类,自底向上画流程。

  自顶向下分类:还是用进销存举例,他包括进、销、存、管理四大部分,其中“进”指采购,包括采购计划,采购订单,采购到货,采购入库等。好了,分到这个程度ok了。通过这个分类,你可以了解到你拿到的这个需求都要干什么,终要达到什么目的。下面的测试围绕这个目的进行测试。

  自底向上画流程:俗话说“路要一步一步走,饭要一口一口吃”,因此目的明确了并不能让我们真正理解这个需求的各个细节,不了解细节,那么我们不能进行合理的测试。了解细节好的办法是画流程图,然后根据每个流程节点进行逐一分析,分析方式同上面说到的模板一致。

  *找茬

  上面过程做完了,基本的需求你理解了。但是这时候别忘了发挥你的想象力,搜索你的经验库,去多提一些问题。在此建议需要围绕需求本身进行提问,不能胡乱提的。这个尺度不好把握,多跟写需求的人吵两次,心里有数了。