*什么是需求?
就是要干什么,這個(gè)即將做的事情的來龍去脈,最終結(jié)果。就是這么簡單,不要去想那么復(fù)雜,再復(fù)雜的需求描述也是有這么幾個(gè)要素組成的。
*從何入手?
那么面對幾十頁幾百頁的需求描述,我們怎么去看去理解呢?尤其是自己從來沒有接觸的行業(yè),再加上是新入職的員工,這些需求理解更是難上加難。
對于這種情況,我的做法是尋找需求中相對比較好理解,過程相對獨(dú)立的模塊入手。比如說“進(jìn)銷存”軟件的測試,雖然你的業(yè)務(wù)一點(diǎn)兒不了解,但是你總會(huì)大概理解一個(gè)子模塊大體的意思。好,就找這個(gè)子模塊一個(gè)最常用的功能進(jìn)行閱讀即可。
*順藤摸瓜
找到一個(gè)入手點(diǎn)后,只要我們?nèi)肟诠δ芊治龅姆椒ǖ卯?dāng),那么我們就會(huì)順藤摸瓜,“摸出”整個(gè)需求的脈絡(luò)了。針對著一個(gè)入口功能的分析,模板如下顯示:
入口準(zhǔn)則:即使用這個(gè)模塊的前提條件
處理過程:即第一步做什么,第二步做什么
輸入信息:在每一步驟中,都輸入了什么信息
輸出信息:在每一步驟中,都輸出了什么信息。包括自動(dòng)生成的信息和打印輸出的信息。
出口準(zhǔn)則:這個(gè)模塊完成的條件,以及哪個(gè)相關(guān)模塊被激活。
這個(gè)模板怎么用呢?簡單的很,從入口準(zhǔn)則中找到該模塊的上一級模塊,從出口準(zhǔn)則找到該模塊得下以及模塊。中間的過程是該模塊自身處理流程。由于開始說了,你是調(diào)了一個(gè)你相對熟悉,容易理解的模塊進(jìn)行需求分析,因此該模塊內(nèi)部需求,你應(yīng)該是可以看懂的。然后先往前找上一級相關(guān)模塊,如法拋擲。最終梳理出整個(gè)需求的脈絡(luò)。
*整理
既然已經(jīng)摸清楚了整體請跨功能,那么最后就是自頂向下分類,自底向上畫流程。
自頂向下分類:還是用進(jìn)銷存舉例,他包括進(jìn)、銷、存、管理四大部分,其中“進(jìn)”指采購,包括采購計(jì)劃,采購訂單,采購到貨,采購入庫等。好了,就分到這個(gè)程度就ok了。通過這個(gè)分類,你可以了解到你拿到的這個(gè)需求都要干什么,最終要達(dá)到什么目的。下面的測試就圍繞這個(gè)目的進(jìn)行測試。
自底向上畫流程:俗話說“路要一步一步走,飯要一口一口吃”,因此目的明確了并不能讓我們真正理解這個(gè)需求的各個(gè)細(xì)節(jié),不了解細(xì)節(jié),那么我們就不能進(jìn)行合理的測試。了解細(xì)節(jié)最好的辦法就是畫流程圖,然后根據(jù)每個(gè)流程節(jié)點(diǎn)進(jìn)行逐一分析,分析方式同上面說到的模板一致。
*找茬
上面過程做完了,基本的需求你就理解了。但是這時(shí)候別忘了發(fā)揮你的想象力,搜索你的經(jīng)驗(yàn)庫,去多提一些問題。在此建議需要圍繞需求本身進(jìn)行提問,不能胡亂提的。這個(gè)尺度不好把握,多跟寫需求的人吵兩次,心里就有數(shù)了。