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

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