每次版本發(fā)布上線后,測試人員,心里總是忐忑和緊張的;總在擔(dān)心,會不會有啥嚴(yán)重的稀奇古怪的Bug出現(xiàn) 。
根據(jù)老徐這10年+的測試經(jīng)驗(yàn),以及最近五年的質(zhì)量部門管理經(jīng)驗(yàn),其實(shí)是可以做到上線后0BUG的 。
同步幾個名詞:
1、線上環(huán)境:是指真實(shí)用戶在使用的生產(chǎn)系統(tǒng),也稱為「生產(chǎn)環(huán)境」。
2、零BUG:是指沒有任何用戶反饋線上問題 。
今天突然想到這個主題:
1)通過關(guān)鍵詞,檢索了老徐此公號「簡尚」的歷史文章,發(fā)現(xiàn)之前居然沒寫過 ;
2)另,老徐通過搜索引擎,全網(wǎng)檢索,也沒發(fā)現(xiàn)太多這方面有價值的文章 ;
基于如上兩點(diǎn),老徐打算寫一篇這方面的內(nèi)容,算是跟此公號幾萬「軟件測試從業(yè)者」一起探討,以及分享一些老徐過去的經(jīng)驗(yàn) ;
進(jìn)入主題:
如何做到「零BUG:是指沒有任何用戶反饋線上問題」呢 ?這里涉及到兩個測試行業(yè)內(nèi)的成熟實(shí)踐「測試左移」&「測試右移」
這塊的概念,隨機(jī)從網(wǎng)上貼一段:
1)測試左移
本質(zhì)是在一切開始之前先進(jìn)行測試,測試對象是需求,越早的發(fā)現(xiàn)需求不合理的地方出問題的幾率就越低。
另外測試左移還可以是在開發(fā)階段就進(jìn)行測試,開發(fā)階段可能產(chǎn)出只是代碼,而不是完成的功能,這時候比較合適的測試是做持續(xù)集成的單元測試,通過代碼覆蓋率的方式找到未經(jīng)測試的代碼,盡可能的保證代碼都被測試到。這些單元測試的用例可以在BDD時候通過用戶或客戶的用例描述來提煉。
總之左移是在測試階段到來之前,盡可能的抓緊開發(fā)前(需求分析)和開發(fā)中的時間做測試,提前發(fā)現(xiàn)問題,防微杜漸,避免積重難返。
2)測試右移
左移是往測試之前的開發(fā)階段移,右移是往發(fā)布之后移。
也就是產(chǎn)品上線了之后也可以進(jìn)行一些測試活動。當(dāng)然在生產(chǎn)環(huán)境直接做測試是不推薦的,但是可以在生產(chǎn)環(huán)境做監(jiān)控,監(jiān)控線上性能和可用率,一旦線上發(fā)生任何問題,盡快反應(yīng),提前反應(yīng)(在用戶發(fā)現(xiàn)之前,把問題解決了,這就是所謂的0Bug),給用戶良好的體驗(yàn)。
測試右移其實(shí)還可以理解為如果線上發(fā)生任何問題,我們有沒有能力第一時間發(fā)現(xiàn)問題并解決問題,并保證線上數(shù)據(jù)的一致性或盡可能少的影響線上用戶。
很對時候,右移比左移更具有挑戰(zhàn)性。
OK ,老徐的做法,基本上也是遵循如上兩個原則 :
1)盡可能早的在源頭控制產(chǎn)品質(zhì)量,在需求源頭就要控制偽需求,在代碼設(shè)計(jì)階段、就要控制劣質(zhì)代碼 ;
2)時時刻刻監(jiān)控線上系統(tǒng)的功能可用性 & 數(shù)據(jù)異常 & 數(shù)據(jù)拐點(diǎn) & 異常Log
當(dāng)然,如果想科學(xué)的執(zhí)行0BUG策略,也可以根據(jù)行業(yè)規(guī)范 & 根據(jù)公司項(xiàng)目&產(chǎn)品特性,定制BUG優(yōu)先級&BUG嚴(yán)重程度 。
如果無法做法嚴(yán)格意義的0BUG ,至少得實(shí)現(xiàn)P0/P1/P2 BUG 0 ,至于P3BUG 0的目標(biāo),根據(jù)團(tuán)隊(duì)磨合情況 & 成員能力提升情況,逐步實(shí)現(xiàn) 。
End 。
延伸:
還有一些公司,根據(jù)Bug,會有處罰機(jī)制 & KPI ,后期再聊 。
這篇文章,更多是先拋出這個話題,并沒有寫到細(xì)節(jié)執(zhí)行層 ;
有興趣的,底部留言討論 。
先寫到這 。
文 / IDO老徐
轉(zhuǎn)載注明來源 isTester.com