提取測試需求是軟件測試活動中的基礎工作,是測試活動展開的前提條件。
在項目實施前在做整個系統(tǒng)的測試方案中工作量評估時,如果是基于系統(tǒng)功能點的方法,則已經對系統(tǒng)中的功能點、性能點等進行分析統(tǒng)計,可以直接在該分析結果的基礎上進行細化和完善。
外包項目測試活動中確定用戶需求范圍是最重要也最困難的工作之一。往往在項目實施前無法準確界定測試范圍,原因很多,主要有以下幾個方面:
1、系統(tǒng)用戶需求不詳細,從而無法確定測試范圍;
2、用戶需求中簡單的描述,可能包括很多研發(fā)工作,也需要測試,容易別忽略;
3、行業(yè)經驗不足,對其中的業(yè)務不熟悉,造成對業(yè)務功能不能確定;
在測試過程中,帶來測試范圍變化的原因,主要包括:
1、在研發(fā)過程中客戶較大的改變原來的需求,擴展原來的需求;
2、研發(fā)公司改變客戶的需求,帶來測試范圍的變化;
綜合以上的原因,主要來自于三個方面:
1、客戶的需求前期描述不清,后期的增加、修改變化;
2、研發(fā)公司對需求的變更;
3、我們自己團隊行業(yè)業(yè)務、項目經驗的不足;
對于第1點,可以約定測試用戶需求的基線版本,對于研發(fā)過程中需求變更超過一定范圍,重新評估增加的工作量。
對于第2點,可以同第1點一樣,同客戶在前期約定好。
對于第3點,則是需要一個過程,業(yè)務和項目經驗積累需要一個過程。
要確定測試需求,相當于確定了測試范圍,則能比較準確的確定工作量。如何分析測試需求呢?
首先、分析用戶提供的所有文檔,在業(yè)務分析師的幫助下,根據(jù)業(yè)務分解系統(tǒng)功能,由粗到細,逐漸細化需求,這其中需要客戶、研發(fā)團隊的協(xié)助,把不清晰、不明確、不具有可測試性的需求轉化明確的、具有可測性的需求。根據(jù)測試需求對應的集成測試、系統(tǒng)功能測試和性能測試活動不同,其測試需求也不同,例如,對于產品集成測試,則測試需求細化到測試集成的每個模塊接口、子系統(tǒng)接口即可。對于功能測試則時一個具體的功能實現(xiàn),該功能可能時一個典型業(yè)務中的一個操作,也可能是整個典型業(yè)務。如果是一個典型業(yè)務的一個操作功能,則最好把整個典型業(yè)務的測試需求串接在一起,形成一個典型業(yè)務的測試需求鏈(具有相關的測試需求形成的一個序列)。
其次、把測試需求盡量使用測試管理工具進行管理,便于測試需求的統(tǒng)計、變更,以及與測試用例形成關聯(lián)。
測試需求在客戶評審通過后,要形成基線,以后用戶需求變更后,要進行測試需求的變更,且保持測試需求與用戶需求的版本一致