測試人員需要參加需求評審,我想大部分測試人員都接受了這個觀點,同時也是這么做的。但測試人員為什么需要參加需求評審,恐怕不是每一個人都知道個中道理。本文從作者多年從事軟件測試和過程管理的經(jīng)驗出發(fā)進行論述,供同行們參考。
關(guān)鍵詞:測試 測試人員 需求評審正文:我們知道,在項目的生命周期中,需求、設(shè)計、編碼、測試等活動往往是由不同的專業(yè)技術(shù)人員協(xié)同完成的。這樣,由于下游技術(shù)人員對上游技術(shù)人員工作產(chǎn)出物的理解偏差,將導(dǎo)致不同階段的產(chǎn)出物之間不一致的現(xiàn)象出現(xiàn),這也是導(dǎo)致項目可能不成功的重要風(fēng)險之一。
基于以上的觀點,需求人員編寫的《用戶需求說明書》、系統(tǒng)設(shè)計人員編寫的《系統(tǒng)設(shè)計說明書》、編碼人員實現(xiàn)的系統(tǒng)、測試人員編寫的《測試用例》之間不可避免地存在不一致的現(xiàn)象。
由于測試工作的主要面向?qū)ο笫恰队脩粜枨笳f明書》和可運行系統(tǒng),為便于分析,我們先用圖來表述一下三者之間的關(guān)系:從理論上講,上圖中“需求”(S圓表示)、“可運行系統(tǒng)” (P圓表示)和“測試用例” (T圓表示)應(yīng)該是重合,但實際上這三個圓很難重合。
從上圖可以看出:可能會有沒有測試到的已描述行為(區(qū)域2和區(qū)域5);經(jīng)過測試的已描述行為(區(qū)域1和區(qū)域4);對應(yīng)未描述行為的測試用例(區(qū)域3和區(qū)域7);可能會沒有測試的程序行為(區(qū)域2和區(qū)域6);經(jīng)過測試的程序行為(區(qū)域1和區(qū)域3);對應(yīng)于未通過程序?qū)崿F(xiàn)的行為(區(qū)域4和區(qū)域7)。
由于我們今天討論的主題是“測試人員為什么需要參加需求評審”,因此我們重點來看看與這一問題關(guān)系密切的區(qū)域2和區(qū)域5、區(qū)域3和區(qū)域7.區(qū)域2和區(qū)域5這兩部分是測試用例沒有覆蓋到的需求,即“沒有正確的測試用例與該部分需求對應(yīng)”。出現(xiàn)這種情況本人認(rèn)為有三種可能:
1、 設(shè)計測試用例的測試人員對需求理解不完整,出現(xiàn)了應(yīng)該被測試的需求而沒有被測試用例覆蓋到的現(xiàn)象;
2、 《用戶需求說明書》中區(qū)域2和區(qū)域5對應(yīng)的需求,具有不可測試性,測試人員無法設(shè)計用例;
3、 《用戶需求說明書》中區(qū)域2和區(qū)域5對應(yīng)的需求,不是用戶的需求,是需求分析人員憑空增加的,測試人員無須設(shè)計與這部分需求對應(yīng)的測試用例。
區(qū)域3和區(qū)域7這兩部分是需求沒有覆蓋到的測試用例,即“沒有正確的需求與該部分測試用例相對應(yīng)”。出現(xiàn)這種情況本人認(rèn)為有兩種可能:1、設(shè)計測試用例的測試人員對需求理解不充分,從而設(shè)計出了多余的測試用例;2、《測試用例》中區(qū)域3和區(qū)域7的測試用例所對應(yīng)的需求,是用戶的真實需求,只是《用戶需求說明書》中沒有描述到而已。
從上面的分析可以看出,如果測試人員參加了“需求評審”,則上面出現(xiàn)的問題可以最大程度地避免,因為測試人員參加“需求評審”的重要作用正是針對產(chǎn)生這些問題的因素而進行的。
由此總結(jié)出,測試人員參加“需求評審”活動所需要達到的目標(biāo)包括如下三個方面:1、充分地理解需求,確保對需求的理解與需求分析人員是一致的;2、從可測試的角度,努力發(fā)現(xiàn)《用戶需求說明書》中不可測試的需求,從而提醒需求分析人員盡早修改;3、從測試人員的角度努力發(fā)現(xiàn)《用戶需求說明書》中的不完整性,從而提醒需求分析人員及時補充遺漏掉的這部分用戶需求。