测试如何进行有效的需求分析
說明:
以下說明可能不完全正確,主要是給新手對“需求分析和評審”有個大致的認識
A. 需求分類
是對需求按照可以管理的方式分組。可分為以下:
(一) 原始需求(客戶需求):原始需求可視為客戶的需求,而客戶是不了解軟件開發技術的,提出的需求是沒有辦法直接用于開發的,輸出文檔:市場需求文檔(Market Requirement Document,MRD)
(二) 產品需求:產品設計人員或者需求分析人員根據原始需求、結合軟件可以實現的功能形成的需求,我個人理解應該就是所說的業務需求,這點待討論.輸出文檔:產品需求文檔(Product Requirement Document,PRD)
(三) 軟件需求:軟件開發人員根據軟件實現原理進一步將產品需求詳細化,輸出文檔:軟件需求規格說明書(Software Requirements Specification),簡稱SRS
(四) 測試需求:開發人員不了解如何對軟件進行測試,無法將需求詳細到可直接用于測試,所以測試人員還需要將軟件需求轉化為測試需求
客戶需求->產品需求(業務需求)->軟件需求->測試需求,可看成需求由簡單到詳細的過程,對于每個需求類型都要界定需求實現的優先級、工作量和風險
一個經典的例子:
小明說,他要吃豬骨頭火鍋(客戶需求),80塊吧,但沒想到又碰到了授客。
授客:“真的想吃?”
小明:“想吃!”
授客:“為什么?”
小明:“我餓了……”(找到了本質)
授客:“哦,這里是兩個饅頭(產品需求),請你吃,才1塊錢”
……
小知識:客戶和用戶的區別
客戶是為產品或服務買單的人。
用戶是使用產品或服務的人,和產品或服務產生直接的交互過程。
客戶是對產品或服務形成服務請求和達成買賣關系的人或實體。也可以說是對產品或服務購買有決策權的相關人,這里包含技術決策者和業務決策者等系列人。
客戶一般關注的是價格和效果,效果包括了產品使用后的工作效率提升,也隱含了領導的業績提升。有的時候客戶既不關心價格也不關心效果,他關心自己的個人利益。所以找到客戶的真實意圖是拿單的關鍵所在。
用戶對產品的關注點是好用,簡單,提高效率,帶來便利。產品最終是為用戶服務的,即使產品被客戶買單,但最終用戶用不起來,那么這也是個失敗的產品。
所以,產品被用戶認可,使用后能提升工作效率,同時給客戶帶來利益,這才是雙贏的局面。
B. 測試需求
什么是測試需求,見名知意,要測啥?簡單說也就是設計測試用例中的驗證點,測試依據,這里包括功能性測試需求,也包括非功能性能測試需求。做測試的要學會從需求規格說明書中挖掘需要測試的驗證點,進行用例設計。
例子:從軟件需求規格說明書中獲取測試需求
(舉例目的在于讓新手了解寫用例并不是直接復制需求說明書中的內容,而是要挖掘測試點)
假設需求規格說明書中有如下一功能需求
功能描述:
功能名稱: 快速搜索
功能描述: 可以根據人名或文章、標題的內容進行搜索
用戶及角色: 注冊用戶
補充說明: 無
輸入項:略
處理流程:略
輸出項:略
即便僅有功能描述的情況下,我們也可對其進行挖掘測試需求:
1.輸入是否支持中文?數字?英文?空格?
2.是否可以輸入較長的搜索字符?
3.輸入是否支持模糊搜索?
……
確定以上問題為測試需求后即可把它們作為用例設計的驗證點,進行用例設計
總結
以上是生活随笔為你收集整理的测试如何进行有效的需求分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NS2】在linux下安装低版本GGC
- 下一篇: CentOS6.0 yum php mc