個人總結—軟件測試的目的
軟件測試的目的是以最少的人力、物力和時間找出軟件中潛在的各種錯誤和缺陷,通過修正各種錯誤和缺陷提高軟件質量,回避軟件發布后由于潛在的軟件缺陷和錯誤造成的隱患所帶來的商業風險,一句話就是規避風險。
一個好的測試用例在于發現從前未發現的錯誤;一個成功的測試是發現了從前未發現的錯誤的測試。 所以更為合適的定義是:測試是為發現錯誤而執行程序的過程。
軟件測試的目的是證明、檢測、預防。
證明:
1)獲取系統在可接受風險范圍內可用的信心。
2)嘗試在非正常情況和條件下的功能和特性。
3)保證一個工作產品是完整的且可用或可被集成的。
檢測:
1)發現缺陷,錯誤和系統不足。
2)定義系統能力和局限性。
3)提供組件、工作產品和系統的質量信息。
預防:
1)通過將測試活動提前介入到軟件生命周期中,盡早的發現并消除前期研發階段引入的缺陷,以防止前期缺陷遺留并放大到后續環節。
2)通過對發現的缺陷進行分析,找出導致這些缺陷產生的流程上的不足,通過改進流程,預防同類缺陷再次產生。
對于如何處理測試中發現的錯誤,將直接影響到測試的效果。只有正確、迅速、準確地處理這些錯誤,才能消除軟件錯誤,保證要發布的軟件符合需求設計的目標。在實際軟件測試過程中,對于每個Bug都要經過測試、確認、修復、驗證等的管理過程。
錯誤跟蹤管理系統為了正確跟蹤每個軟件錯誤的處理過程,通常將軟件測試發現的每個錯誤作為一條條記錄輸入制定的錯誤跟蹤管理系統。
缺陷跟蹤管理軟件在功能上各有特點,可以根據實際情況選用。當然,也可以自己開發缺陷跟蹤軟件。
為一個缺陷跟蹤管理系統,需要正確設計每個錯誤的包含信息的字段內容和記錄錯誤的處理信息的全部內容。字段內容可能包括測試軟件名稱,測試版本號,測試人名稱,測試事件,測試軟件和硬件配置環境,發現軟件錯誤的類型,錯誤的嚴重等級,詳細步驟,必要的附圖,測試注釋。處理信息包括處理者姓名,處理時間,處理步驟,錯誤記錄的當前狀態。
正確的數據庫權限管理是錯誤跟蹤管理系統的重要考慮要素,一般要保證對于添加的錯誤不能從數據庫中刪除。
軟件錯誤的狀態新信息(New):測試中新報告的軟件缺陷;打開 (Open):被確認并分配給相關開發人員處理;修正(Fixed):開發人員已完成修正,等待測試人員驗證;拒絕(Declined):拒絕修改缺陷;延期(Deferred): 不在當前版本修復的錯誤,下一版修復關閉(Closed):錯誤已被修復;Bug管理的一般流程測試人員提交新的Bug入庫,錯誤狀態為New.高級測試人員驗證錯誤,如果確認是錯誤,分配給相應的開發人員,設置狀態為Open.如果不是錯誤,則拒絕,設置為Declined狀態。
開發人員查詢狀態為Open的Bug,如果不是錯誤,則置狀態為Declined;如果是Bug則修復并置狀態為Fixed.不能解決的Bug,要留下文字說明及保持Bug為Open狀態。
對于不能解決和延期解決的Bug,不能由開發人員自己決定,一般要通過某種會議(評審會)通過才能認可。
測試人員查詢狀態為Fixed的Bug,然后驗證Bug是否已解決,如解決置Bug的狀態為Closed,如沒有解決置狀態為Reopen.軟件錯誤流程管理要點為了保證錯誤的正確性,需要有豐富測試經驗的測試人員驗證發現的錯誤是否是真正的錯誤,書寫的測試步驟是否準確,可以重復。
每次對錯誤的處理都要保留處理信息,包括處理姓名,時間,處理方法,處理意見,Bug狀態。
拒絕或延期錯誤不能由程序員單方面決定,應該由項目經理,測試經理和設計經理共同決定。
錯誤修復后必須由報告錯誤的測試人員驗證后,確認已經修復,才能關閉錯誤。
加強測試人員與程序員的交流,對于某些不能重復的錯誤,可以請測試人員補充詳細的測試步驟和方法,以及必要的測試用例。