軟件測試中的BUG
1、術語解釋
測試程序:提供給測試組測試的程序;
測試計劃:對測試程序(構件、應用程序、系統等)及其目標進行簡要說明;
錯誤跟蹤系統:是某個程序或應用系統,使得項目組可以報告、管理以及分析錯誤報告和錯誤趨勢,如RationalClearQuest就是一個錯誤跟蹤系統。
2、為什么要提交bug
在得到一個詳盡的測試程序后,剩下的工作就是執行測試計劃了。但是由于任何由人編寫的程序都不可避免的存在著不符合測試需求的錯誤,也就是bug。因此需要一個方法來跟蹤、分析和展示那些測試活動,避免偏離最小。這種方法稱之為錯誤跟蹤系統。它主要是有效的管理缺陷,實現以下作用:
1)減少由于缺陷報告不明確而被開發組駁回的情況;
2)加快缺陷的處理速度;
3)提高測試的可信度;
4)加強測試組與開發組在整個項目過程中的團隊合作
3、如何才能提交好的測試bug
在有些組織里,程序員幾乎會把一半的測試bug返回給測試組,因為那些錯誤不可再現、沒有發現錯誤、同設計要求一致,或者錯誤報告根本無法操作。如果錯誤報告有如此高的返回率,基本可以認為是過程崩潰,需要立即解決:因為編寫這些報告浪費了時間;會影響程序員和測試人員之間的團隊凝聚力;最糟糕的是失去改進產品質量的機會。
有些錯誤總是不可再現的或提出質疑的。有些錯誤只是間斷地在模糊的或極端的條件下表現出來。有時候,測試環境和程序員之間的不一致會導致“在我的系統上工作良好”的反應。在需求不清楚的項目中,在一定的測試條件下,對“正確”行為的觀點可以存在合理的不同。有時候,當真正的問題在于糟糕的測試過程、測試數據或不正確的測試用例時,測試人員可能錯誤解釋測試測試結果和報告錯誤。
為了防止這類問題,要提交好的測試bug,作為一個好的測試人員,必須遵循以下八個步驟:
1) 結構:無論你是做探索性的或是描述性的、手工的或自動的測試,都要認真仔細的測試;
2)再現:盡量三次再現故障。如果問題是間斷的,那么最好報告問題發生的概率;例如,每3次出現一次,每3次出現2次等;
3) 推廣:確定系統其他部分是否可能出現這種錯誤,以及使用不同的數據是否可能出現這種問題,特別是那些存在嚴重影響的問題。
4)總結:簡要描述客戶或用戶的質量體驗和觀察到的一些特征。
5)壓縮:精簡任何不必要的信息,特別是冗余的測試步驟。
6)去除歧義:使用清晰的語言,尤其要避免使用那些有多個不同或相反含義的詞匯。
7)中立:公正地表達自己的意思,對錯誤及其特征的事實進行描述,避免夸張或忽略的語句,引起過度的注意力或忽視。
8)評審:至少有一個同行,最好是一個有經驗的測試工程師或測試經理,在你提交測試報告或測試評估報告之前先自己讀一遍。
好的測試bug描述是告訴讀者測試人員發現了什么,而不是測試人員做了什么。因此只需要根據上述八個步驟寫下最少的必需重現步驟。
4、如何提交bug
一個好的錯誤跟蹤系統包括了錯誤的必要信息,如果做得不好,會造成迷惑,并誤導讀者。好的故障描述應該包括十個基本部分:標題、項目、所屬模塊、優先級、重要性、異常等級、可重復性、現象、操作過程和附件。
、贅祟}
使用一兩句話來描述錯誤,告訴經理、開發人員以及其他讀者為什么應該關心該問題。好的標題應該著重于出現的bug現象。但是過于簡潔易引起誤導,使得原本重要的問題被忽視。因此必須應該采用簡潔、切中要害的概要,這樣才能引起讀者的重視。不重要的就描述比較輕微,例如:“聯系人的email沒有檢查合法性”;重要的就要體現比較嚴重,例如:“填了運營商仍然提示運營商不能為空,使得無法進行下一步的操作”,會更容易讓開發人員理解究竟是什么問題及其重要性,并及時處理。
、陧椖
是指該錯誤屬于哪一個項目,歸哪個項目組解決,使不同的項目組看到和及時定位自己項目的錯誤。
、鬯鶎倌K
是指準確說明發異常等級生錯誤的模塊,切忌發生錯誤指派模塊,導致后續流程錯誤;
、軆炏燃
分為以下4級:1級:“馬上解決”,表示問題必須馬上解決,否則系統根本無法達到預定的需求;2級:“高度重視”,表示有時間就要馬上解決,否則系統偏離需求較大或預定功能不能正常實現;3級:“正常處理”,即進入個人計劃解決,表示問題不影響需求的實現,但是影響其他使用方面,比如頁面調用出錯,調用了錯誤的數據庫等;4級:“低優先級”,即問題在系統發布以前必須確認解決或確認可以不予解決。
、葜匾
分為以下5級:1級:“非常嚴重”,表示缺陷不修改整個系統流程不能繼續;2級:“比較嚴重”,表示缺陷不修改不影響系統其他流程,但是本模塊流程不能繼續;3級:“一般”,表示缺陷不影響流程;4級:“輕微”,表示缺陷可以延期解決;5級:“優化”,表示修改以后流程會更好。
文章來源于領測軟件測試網 http://www.kjueaiud.com/