為什么你要讀這份指南?
簡單地說,如果你報告Bug越有效, 工程師完全修復它的可能性就越大。
這份Bug寫作指南是針對新手在書寫有效的Bug報告方面進行指導的常規指南,并非每個建議都正好適用于你的軟件項目。
如何寫一份有用的Bug報告?
有用的Bug報告是用于正確修復Bug的。因此一份有用的Bug報告通常地有兩個特征:
可復現:
如果工程師不能發現或最終證明這一Bug存在,工程師或許會將它標記為 "WORKSFORME( 所有要重新產生這個bug的企圖是無效的)"或 " INVALID(描述的問題不是一個bug ) ",并且繼續進行下一個Bug的修復工作。任何你能提供的詳盡描述將為工程師修復Bug提供幫助。
詳細精確:
如果工程師能越早隔離、定位問題,就越可能方便地修復。
讓我們舉一個例子:你正在測試一個Web閱覽器,在訪問foo.com網站時崩潰了,因此你想寫一個Bug報告:
糟糕的Bug報告:“我的瀏覽器崩潰了。我正在訪問foo.com。我的計算機使用 Windows系統。這真是個大問題,你們應該馬上修復它。順便說一下,你們的圖標真惡心,如果你們保留那些丑陋的圖標,沒有人將再使用你們的軟件。還有我的祖母的主頁看上去外觀也不正確,或者,它們全被搞亂了。祝好運。”
有用的Bug報告:“每當我訪問foo.com時應用程序就崩潰了,我使用的是在Win NT 4.0 (Service Pack 5) 系統上的 10.28.99版本。 我也曾重新引導進入 Linux,使用10.28.99 Linux版本,這個問題也出現了。我發現每次崩潰都發生在繪制這個頁面位于上端的 Foo橫幅的時候。我分析了頁面,發現除非你刪除 " border =0"屬性,否則下列圖片鏈接將導致應用程序崩潰 :(附圖片)
如何在bugzilla/' target='_blank'>Bugzilla中輸入你有用的Bug報告?
在你輸入你發現的Bug前,應使用 Bugzilla查詢頁檢查是否你發現的是已知并被報告的Bug。(如果你發現的Bug同第37條已經知道的結果相同,你報告的話,就可能騷擾工程師,從而影響工程師修復Bug的效率。)
下一步,確認你發現的Bug是在最新的版本中所發生的。(工程師更傾向于對那些他們正在編寫的代碼中的嚴重問題感興趣,而不是對以前那些廢棄代碼中數以百計的Bug進行修復。)
如果你已經在當前版本中發現了一個新的Bug,請在Bugzilla中報告:
從你的Bugzilla主頁中,選擇“Enter a new bug”。
選擇你發現Bug的產品。
輸入你的電子郵件地址、密碼,然后按“Login”按鈕。(如果你遺忘或還沒有得到密碼,讓密碼正文框空白,并且按 " E-mail me a password "按鈕,不久你將收到包含你的密碼的電子郵件。)
現在,填寫那張出現的表格。以下說明表格中的所有含義:
你在哪兒發現了Bug?
1,產品:在哪一個產品中你發現了Bug? 你在上一頁已選擇 ,enter前已經選擇,
2,版本:在產品的哪一個版本中你找到了Bug?
If applicable.如果有的話。
3,產品單元:在產品的哪一個單元中存在Bug?
Bugzilla在你輸入一個Bug時,要求你必須選擇一個產品單元。(如果你無法確定所列產品單元的意思,單擊產品單元鏈接,那將聯接到對每個產品單元的詳細描述,這會幫助你作出最好選擇。)
4, 平臺:在哪一個硬件平臺上你找到了這個Bug?
(例如Macintosh、SGI、Sun、PC。)如果你知道這個Bug會發生在所有硬件平臺上,請選擇“All”,否則請選擇相應的你發現Bug的硬件平臺,如果列表中沒有出現你的硬件平臺,請選擇“Other”。
5,OS:在哪一個操作系統(OS)中你找到了這個Bug?
(例如Linux、Windows NT、Mac OS 8.5。)
如果你知道這個Bug會發生在所有OS中,請選擇“All”,否則請選擇相應的你發現Bug的OS,如果列表中沒有出現你的OS,請選擇“Other”。
這個Bug有多重要?
1,嚴重性:這個Bug的破壞性有多大?
這項值默認為“normal”。(要為一個特定的Bug界定最適當的嚴重性,單擊嚴重性鏈接,你將得到每個選擇的完全解釋,從Critical到Enhancement。)
2,誰將跟蹤解決Bug?
3,分配給:哪一個工程師將負責修復這個Bug?
在你提交Bug報告后,Bugzilla將自動把Bug分配給默認工程師;填寫正文框將允許你用手工方式把它分配給其他工程師。(要察看每個產品單元的默認工程師列表,請單擊產品單元鏈接。)
原文轉自:http://www.uml.org.cn/Test/200709181.asp