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