*什么是需求?
就是要干什么,这个即将做的事情的来龙去脉,最终结果。就是这么简单,不要去想那么复杂,再复杂的需求描述也是有这么几个要素组成的。
*从何入手?
那么面对几十页几百页的需求描述,我们怎么去看去理解呢?尤其是自己从来没有接触的行业,再加上是新入职的员工,这些需求理解更是难上加难。
对于这种情况,我的做法是寻找需求中相对比较好理解,过程相对独立的模块入手。比如说“进销存”软件的测试,虽然你的业务一点儿不了解,但是你总会大概理解一个子模块大体的意思。好,就找这个子模块一个最常用的功能进行阅读即可。
*顺藤摸瓜
找到一个入手点后,只要我们入口功能分析的方法得当,那么我们就会顺藤摸瓜,“摸出”整个需求的脉络了。针对着一个入口功能的分析,模板如下显示:
入口准则:即使用这个模块的前提条件
处理过程:即第一步做什么,第二步做什么
输入信息:在每一步骤中,都输入了什么信息
输出信息:在每一步骤中,都输出了什么信息。包括自动生成的信息和打印输出的信息。
出口准则:这个模块完成的条件,以及哪个相关模块被激活。
这个模板怎么用呢?简单的很,从入口准则中找到该模块的上一级模块,从出口准则找到该模块得下以及模块。中间的过程是该模块自身处理流程。由于开始说了,你是调了一个你相对熟悉,容易理解的模块进行需求分析,因此该模块内部需求,你应该是可以看懂的。然后先往前找上一级相关模块,如法抛掷。最终梳理出整个需求的脉络。
*整理
既然已经摸清楚了整体请跨功能,那么最后就是自顶向下分类,自底向上画流程。
自顶向下分类:还是用进销存举例,他包括进、销、存、管理四大部分,其中“进”指采购,包括采购计划,采购订单,采购到货,采购入库等。好了,就分到这个程度就ok了。通过这个分类,你可以了解到你拿到的这个需求都要干什么,最终要达到什么目的。下面的测试就围绕这个目的进行测试。
自底向上画流程:俗话说“路要一步一步走,饭要一口一口吃”,因此目的明确了并不能让我们真正理解这个需求的各个细节,不了解细节,那么我们就不能进行合理的测试。了解细节最好的办法就是画流程图,然后根据每个流程节点进行逐一分析,分析方式同上面说到的模板一致。
*找茬
上面过程做完了,基本的需求你就理解了。但是这时候别忘了发挥你的想象力,搜索你的经验库,去多提一些问题。在此建议需要围绕需求本身进行提问,不能胡乱提的。这个尺度不好把握,多跟写需求的人吵两次,心里就有数了。