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