軟體測試如何進行需求分析
需求的分類
業務需求:反應了客戶對系統,產品的高層次的目標要求,在專案檢視和範圍文件中予以說明。
功能需求:定義了開發人員必須實現的軟體功能,使得使用者能夠完成他們的任務,從而滿足了業務需求。
使用者需求:文件描述了使用者使用產品必須要完成的任務,在使用者說明書明確體現。
eg:
業務需求:企業內部要有自己的通訊簿,簡單好用
功能需求:部門管理,聯絡人管理,新增,修改,刪除,匯入匯出等等功能
使用者需求:要能匯入匯出通訊薄;按部門結構顯示企業內人員,有個人名片;可以撥出電話,傳送簡訊,搜尋聯絡人
進行測試需求分析的目的:
把使用者需求轉化為功能需求
1.對測試範圍進行度量
2.對處理分支進行度量
3.對需求的業務場景進行度量
4.明確其功能點對應的輸入,處理和輸出
5.把隱式需求轉為明確
測試活動五要素:
測試需求(what)
決定怎麼測(how)
測試時間(when)
測試需求人員(who)
測試環境(where):測試中需要的技能,工具以及相應的背景知識,測試中可能遇到的風險等等
測試需求力求詳細明確,以避免測試遺漏和誤解
獲取需求的途徑:
相關的業務培訓,評審
其他相關人員溝通
與軟體相關的文件
其他(如舊系統為原型)
測試需求分析
確認功能:
1.業務功能:與使用者實際業務直接相關的功能或細節
2.輔助功能:輔助完成業務功能的一些功能或者是細節,eg:設定過濾條件
3.資料約束:功能的細節,主要是用於控制在執行功能時,資料的顯示範圍,資料之間的關係等
4.易用性需求:功能的細節,產品中必須提供,便於功能操作使用的一些細節,eg:快捷鍵就是典型的易用性需求
5.編輯約束:功能的細節,在功能執行時,對輸入資料專案的一些約束性條件,eg:只能輸入數字
6.引數需求:功能的細節,在功能執行時,需要根據引數設定不同,進行不同處理的細節。
7.許可權需求:功能的細節,指在功能的執行過程,根據不同的許可權進行不同的處理,不包括直接限制某個功能的許可權
8.效能約束:功能的細節,執行功能時必須滿足的效能需求
分析場景:
1.考慮場景的呼叫者:考慮每一個場景提供的服務是供哪些外部模組或者系統呼叫,找出所有的呼叫者。呼叫前提,約束都要考慮。每一個呼叫都可以考慮成一個大的業務流程(一般和外部有互動的業務出錯概率比較大,需要重點關注)
2.考慮系統內部各個場景之間的:形成內部業務流程圖,需要分析每個場景之間的約束關係,執行條件,組織出各種業務流程圖
挖掘隱性需求:???
測試員經驗積累:
1.常用的或規定的業務流程
2.各業務流程分支的遍歷
3.明確規定不可使用的業務流程
4.沒有明確規定但是應該不可以執行的業務流程
5.其他異常或者不符合規定的操作