如何寫一份良好的缺陷(Bug)報告

jopen 13年前發布 | 7K 次閱讀 Bug

        英文原文:How to Write a Good Bug Report

        沒錯,任何軟件都存在 bug,哪怕是我們自己也存在缺陷,因為程序員也是普通人,人是會犯錯誤的。當有人在使用軟件時遇到 bug,你需要使用郵件形成一份缺陷 bug,發送給開發人員。開發者可以依據該報告定位問題,復現問題,修復問題。

        但是很多時候,開發人員很難理解提交上的缺陷報告,因為發送人并不了解我們需要的是什么,那如何與開發人員溝通以及如何寫出一份缺陷報告,在這篇文章,我將教你如何寫出一份清晰的缺陷報告能使開發者理解、復現、修復問題,這里下載缺陷報告模板。

如何寫一份良好的缺陷(Bug)報告

        為什么要發送缺陷報告

        缺陷報告可以用很多方式來幫助我們的開發者。

  • 他們能告知我們沒有意識到的問題
  • 他們能發現我們可能還沒想到的新特性
  • 他們能幫助我們感受到客戶是如何使用我們的軟件,以至于我們可以做的更好

        沒有這些缺陷報告,我們就不知道出錯的地方,我們需要它就像你唱歌跳舞時需要有軟件的支持一樣。

        什么時候發送缺陷報告

  • 簡單來說就是越快越好,詳細來說就是:
  • 當你看到一個錯誤消息時就發送錯誤報告
  • 當屏幕是空白或者數據缺失就發送報告
  • 當程序沒有出現預期的結果時發送報告
  • 當程序崩潰、死機、沒有響應或者響應很慢時發送報告
  • 當程序返回錯誤結果時發送報告
  • 當你得不到想需要的結果時發送報告
  • 如果你不清楚怎樣做時發送報告
  • 如果你不喜歡軟件做的方式,或者軟件老打攪你時,發送錯報告
  • 如果你想在系統中實現一個變通方案時發送報告

        缺陷報告需要有哪些內容

        缺陷報告應該包含很多信息,你提供的信息越多效果越好,對于開發者,就像我,提供一個純文本文件模板給你填充然后郵件發給我,當然也有表格形式的,但是最期待你自己杜撰一份然后發給我。下面是一些必須包括的部分以及如何寫好每部分:

        標題:創建一個簡短的標題,讓問題看起來更清晰。“應用崩潰”是一個很惱人的標題因為它沒有足夠的信息包括 在這份報告里面。取而代之的是標題應該包含錯誤消息和消息碼,或者是結果的名稱以及失敗時你正在做的事情。例如:Error 402:訪問拒絕當點擊“發送郵件”這個例子就提供了缺陷系統的上下文信息。

        差:“程序崩潰”,“報錯”,“Bug”

        好:“從’Kifu’中打印時 5C79 錯誤”,“’Kifu honors’報表為空”

        產品:用名稱標識產品,告知你使用的是哪個版本。絕大部分軟件都包含有版本信息。web 應用的版本信息通常在頁腳。

        差:“你的應用”

        好:”Kifu v1.01″

        平臺:告訴我們軟件運行在什么平臺。尤其是操作系統的名字及版本和游覽器名稱版本。特別是 web 應用,這些信息對我們很重要。

        差:“Windows”

        好:“Windows 7,IE9”

        是否能重現:有些惱火的 Bug 是間歇性的出現,我們想預先知道,如果我們正在處理一個靈異事件或者正逢 Bug 出現時。

        差:留空白

        好:“每次”,“偶然”,“不重現”

        描述:這部分是很多人拿不定的地方,不知道怎么描述問題,在描述中做到包括下面的內容:

        總結:用簡潔的語言概括出 Bug 出現時你正在做的事情。從上下文開始,在操作應用的哪個部分。聚焦在你做的時候軟件做了什么?

        差:“系統不能用了”

        好:在“honor report”頁面單擊“打印按鈕”,但是報表是空的。

        發生了什么:一步一步描述你做的事情當 bug 出現時,為什么你認為是錯誤的。事無巨細,打印出菜單的名稱,頁面標題,點擊時的按鈕或者鏈接的名稱。做相同的操作是不是出現一樣的錯誤。

        差:“空白報表”

        好:“點擊 ‘File/Save as…’,’Save‘對話空彈出,然后點擊‘OK’按鈕,但是文件沒有保存”

        錯誤時什么:如果錯誤消息出現時,拷貝粘貼整個信息,這樣更有利于我們跟蹤錯誤。

        差:“有個錯誤,點擊它始終讀不出”

        好:“Error 403:訪問拒絕”

        復現的步驟:如果你可以讓 bug 重現,那太好了,這能提供很大的幫助。一步步描述如何重現次 bug。

        差:“打印沒法使用”

        好:“從‘Honors Report’頁面,點擊‘打印按鈕’”

        預期結果:描述你預期發生的結果當 bug 發生時,這部分特別有用如果程序沒有按照你期待的結果發生時,因為它很詭異。

        差:“我期待能正常工作”

        好:“我期待能看到‘Honors Reports’的 PDF 文件”

        真實結果:當 bug 發生時是怎么發生的,什么錯誤,為什么有錯,或者如果錯誤拋出,拋出什么錯。

        差:“沒法用”

        好:“我收到是空的 PDF 文件,或者’403錯誤,訪問拒絕’”

  • 附件:如果你知道怎么截屏,做吧,附上一個簡短的錯誤,截屏可以是錯誤之前或者發生錯誤之后,我們的開發者能夠看到究竟發生了什么。如果應用有崩潰的日志,同樣附上它。
  • 聯系方式:附上你的名字和 email,我們可以讓你提交的報告及時的得到答復,在我們不理解問題的描述時還能夠詢問你,如果你忘記附聯系方式了,我們也就沒法聯系到你,也沒法修復 bug。

        原文:Noverse   編譯:伯樂在線 –劉志軍

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!