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

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