網站首頁 個人文檔 個人總結 工作總結 述職報告 心得體會 演講稿 講話致辭 實用文 教學資源 企業文化 公文 論文

利用bugzilla提交Bug寫作指南

欄目: 素材及寫作指導 / 發佈於: / 人氣:2.83W

為什麼你要讀這份指南?

利用bugzilla提交Bug寫作指南

簡單地説,如果你報告Bug越有效, 工程師完全修復它的可能性就越大這份Bug寫作指南是針對新手在書寫有效的Bug報告方面進行指導的常規指南,並非每個建議都正好適用於你的軟件項目。

如何寫一份有用的Bug報告?

有用的Bug報告是用於正確修復Bug的。因此一份有用的Bug報告通常地有兩個特徵:

可復現:

如果工程師不能發現或最終證明這一Bug存在,工程師或許會將它標記為WORKSFORME(所有要重新產生這個bug的企圖是無效的)"或 " INVALID(描述的問題不是一個bug ),並且繼續進行下一個Bug的修復工作。任何你能提供的詳盡描述將為工程師修復Bug提供幫助。

詳細精確:

如果工程師能越早隔離、定位問題,就越可能方便地修復。

讓我們舉一個例子:你正在測試一個Web閲覽器,在訪問網站時崩潰了,因此你想寫一個Bug報告:

糟糕的Bug報告:“我的瀏覽器崩潰了。我正在訪問。我的計算機使用Windows系統。這真是個大問題,你們應該馬上修復它。順便説一下,你們的圖標真噁心,如果你們保留那些醜陋的圖標,沒有人將再使用你們的軟件。還有我的祖母的主頁看上去外觀也不正確,或者,它們全被搞亂了。祝好運。”有用的Bug報告:“每當我訪問時應用程序就崩潰了,我使用的是在Win NT 4.0 (Service Pack 5)系統上的 10.28.99版本。 我也曾重新引導進入 Linux,使用10.28.99

Linux版本,這個問題也出現了。我發現每次崩潰都發生在繪製這個頁面位於上端的 Foo橫幅的時候。我分析了頁面,發現除非你刪除border=0屬性,否則下列圖片鏈接將導致應用程序崩潰 :(附圖片)

如何在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分配給默認工程師;填寫正文框將允許你用手工方式把它分配給其他工程師。(要察看每個產品單元的默認工程師列表,請單擊產品單元鏈接。)

4,Cc:還有哪些人將收到這個Bug修復更新的電子郵件? 列出其他需要通過電子郵件收到這個Bug修復更新的人的完整的電子郵件地址。只要你願意,你可以輸入足夠多的電子郵件地址,電子郵件地址之間必須用逗號分隔,不可有空格。

5,關於這個Bug你還能告訴工程師什麼?

6,URL:在什麼 URL中你發現這個Bug?

如果你是在特殊的URL中遇到Bug,請在這裏提供它(們)。如果你已經將Bug隔離在一段特殊的HTML程序段中,也請在這裏為它提供URL。

7,概述:你如何在大約60個字符之內將這個Bug進行描述?

一個好的概述能很快和唯一識別一份Bug報告,否則,開發者將不能通過Bug概述進行有意義的查詢,並且在瀏覽一份有10頁長的Bug列表時,可能忽略你的Bug報告。

關於“在Tosh Tecra 780DVD w/ 3c589C上安裝PCMCIA失敗”的概述是有用的標題,而“軟件失敗”或安裝問題將是糟糕的標題的例子。

8,描述:還有什麼你能告訴工程師關於這個Bug的?

如果可能,在這個域中請提供問題診斷的詳細細節。

如果適用,下列的Bug報告模板將幫助你保證不會漏掉所有相關信息:(翻譯是我自己加的,不準確的話請見諒!)

總的描述:對概述的更為詳細的補充

Drag-selecting any page crashes Mac builds in NSGetFactory

Bug復現的步驟:是跟蹤Bug必須的最小集,包含所有的特殊安裝步驟。

1) View any web page. (I used the default sample page, resource:/res/samples/) 觀看所有網頁。 (我使用了缺省樣頁資源:/res/samples/)

2) Drag-select the page. (Specifically, while holding down the mousebutton, drag the mouse pointer downwards from any point in the browserscontent region to the bottom of the browsers content region.) 扯拽選擇頁。

(具體地, 當持續鼠標鍵時, 扯拽鼠標向下從任何點在瀏覽器的美滿的區域對瀏覽器的美滿的區域的底部。)

目前的結果:應用程序在經過那些步驟後的結果The application crashed.應用被碰撞。(程序崩潰)

期望的結果:當Bug不再出現時,應用程序應有的結果

The window should scroll downwards. Scrolled content should be selected.

Or, at least, the application should not crash.) 窗口應該移動向下。 應該選擇移動的內容。 (或,至少, 應用不應該碰撞。)

時間及硬件平台:第一次出現這個Bug的時間及硬件平台。

11/2/99 build on Mac OS (Checked Viewer & Apprunner) 11/2/99修造在Mac OS(被檢查的觀察者& Apprunner)

其它環境及硬件平台:Bug是否出現在其他硬件平台或瀏覽器上。- Occurs On

Seamonkey (11/2/99 build on Windows NT 4.0)

- Doesnt Occur On

Seamonkey (11/4/99 build on Red Hat Linux; feature not supported) Internet

Explorer 5.0 (RTM build on Windows NT 4.0)

Netscape Communicator 4.5 (RTM build on Mac OS)

-在Seamonkey (11/2/99修造在Seamonkey (基於windows NT 4.0)-不發生在11/4/99Red Hat Linux; 特點沒支持的) Internet Explorer 5.0 (RTM修造在windows NT4.0)Netscape Communicator 4.5 (RTM基於Mac OS)

其它信息:任何其他調試信息

Win32: if you receive a Dr. Watson error, please note the type of the crash, and the module that the application crashed in. (e.g. access violation in )

Mac OS: if youre running MacsBug, please provide the results of a how and

an : please provide a minimized stack trace, which can be generated by typing gdb apprunner core into a shell prompt.

Win32: 如果您接受一個 Dr. Watson 錯誤, 請注意崩潰的型, 和模塊, 應用碰撞了in. (即訪問違例在)

Mac OS: 如果你是在運行MacsBug, 請提供怎麼和sc 的結果。

Unix: 請提供減到最小的棧檢索, 可能由鍵入的gdb apprunner 核心引起入殼提示。

你已經完成了一篇不錯的bug報告!