一篇好的BUG報告是如何煉成的
如果大家剛剛開始接觸bug追蹤、問題管理以及Web開發(fā)等工作,那么bug報告絕對是各位避不開的一項任務。在今天的文章中,我們將嘗試從多種視角回答這個問題。相信我,內(nèi)容還是相當有趣的。
我們總在探討 bug報告……但卻很少解釋bug報告究竟是什么。
關于這個問題,我通過谷歌在Usersnap上找到1000多個相關結(jié)果,發(fā)布在博客上的博文也有183篇,其中涉及大量bug追蹤工作中該做與不該做的內(nèi)容。
然而,我們?nèi)匀粵]有回答最為核心的問題。不過關于bug報告的各類議題仍然相當豐富,毫無疑問。
總而言之,我們今天終于開始進入正題了……畢竟是個好消息,對吧?
“ 究竟什么是 bug報告? ”
那么我們首先回答這個問題,“究竟什么是bug報告?”
為了找到答案,我們需要了解幾項相關概念,包括什么是bug、什么是bug報告以及bug報告軟件。
什么是BUG?
在軟件開發(fā)、工程或者Web構建過程當中,bug指的不是那種小小的昆蟲,而是另一種完全不同的概念。
簡而言之,這意味著:
軟件bug是一種錯誤、缺陷、故障或者瑕疵,可能造成不正確或者預期之外的運行結(jié)果。
基本上,軟件bug就是那種與設計思路不符的元素。
為什么叫它“bug”?——bug名稱的起源
大家可能好奇,為什么要將軟件錯誤稱為bug?這是個好問題,因為用“bug”一詞形容軟件錯誤或者故障的作法可以追溯到1945年。1945年年末,哈佛大學的一個技術團隊發(fā)現(xiàn)Relay70設備當中存在一些故障點。他們最終發(fā)現(xiàn)引發(fā)問題的是一些蟲子(bug)尸體。
而在bug定義條目所指出,“這是歷史上首例被記錄在案的bug。”
因此,從理論上講,bug就是與設計思路不符的元素。
不過,如果設計本身就存在問題,那么又該如何看待?這屬于bug嗎?如大家所見,這個問題的答案還有很多探討空間。
無論大家屬于開發(fā)者、設計師還是軟件用戶,想必在實際生活中都多少遇到過bug,甚至可能親手造成過bug。
什么是bug報告?
那么新的問題來了:什么是bug報告?
當bug出現(xiàn)時,人們會發(fā)現(xiàn)并將其報告(記錄為文檔并發(fā)送)給負責修復錯誤或者故障的技術團隊。
根據(jù)Yegor的說明,bug報告“應當解釋產(chǎn)品所出現(xiàn)的具體問題。”
他進一步補充稱,bug報告應當遵循以下這一基本模式:
“我遇到的情況是這樣的,我希望實際情況是那樣的,因此請加以修復。”
聽起來很簡單,對吧?然而實際情況并非如此——很多bug報告并沒能說清需要表達的內(nèi)容。
想象一下,如果我們自己遇到了bug并需要發(fā)送報告,那么會在其中包含哪些信息?答案恐怕將因人而異。
過去,bug報告屬于冗長的表格,包含大量字段與數(shù)據(jù)請求。比如:
錯誤的優(yōu)先級是什么?
怎樣描述問題?
由哪些部分組成?
使用的是哪個版本的瀏覽器?
等等……

好的bug報告與差的bug報告
那么bug報告肯定也是有好壞的——二者區(qū)別何在?為什么會有這么多糟糕的bug報告?
我收集到了與此相關的一些說法,幫助大家更明確地進行區(qū)分:
那么***,我們要匯總以上內(nèi)容來回答今天的主題:“究竟什么是bug報告?”
所謂bug報告,需要存儲全部記錄、報告及修復軟件內(nèi)或者網(wǎng)站上問題的信息。而且在理想場景下,其應盡可能以更為有效的方式實現(xiàn)。
總結(jié)陳詞
總而言之,我們已經(jīng)了解了關于bug、bug報告以及bug報告系統(tǒng)的相關知識。不過這還僅僅是基礎,從有bug到無bug的道路仍然漫長而坎坷——同志們,加油!
文章轉(zhuǎn)載自微信公眾號“一斑”(ID: yiban51CTO)