如果項(xiàng)目在上線后才發(fā)現(xiàn)Bug,怎么辦?
這個問題在日常測試中挺常見的,首先要做的就是暴露風(fēng)險,將問題暴露給產(chǎn)品研發(fā)測試三方以及leader,三方評估影響范圍以及修復(fù)成本。
?
從三個方面來考慮進(jìn)一步處理:
一.?評估Bug的影響范圍
二.?解決線上問題
三.?復(fù)盤線上問題,做好下次預(yù)防
?
1.評估Bug的影響范圍是處理線上Bug的第一步,通常需要根據(jù)評估的結(jié)果來決定下一步的處理方案。
?
1.1?分析bug影響的用戶數(shù)量
檢查bug是否業(yè)務(wù)核心環(huán)節(jié)的功能問題,如果是,一般對用戶體量都會影響較大
?
1.2?分析bug影響的嚴(yán)重程度
檢查bug是否涉及到用戶的個人信息泄露、資金財產(chǎn)損失等比較敏感的功能,涉及的話則認(rèn)為bug比較嚴(yán)重
?
2.我們通常會根據(jù)bug的影響范圍來分別處理
2.1?影響范圍比較小的bug
?
bug影響范圍比較小時,一般都會通過修復(fù)bug的方式來解決,方法如下:
了解bug出現(xiàn)的場景,業(yè)務(wù)操作,努力復(fù)現(xiàn)bug,開發(fā)人員結(jié)合bug出現(xiàn)時的各種日志(系統(tǒng)日志、數(shù)據(jù)庫日志、操作日志、debug日志),定位bug產(chǎn)生的原因,開發(fā)人員修改完成bug后,由測試人員進(jìn)行回歸測試,保證bug已被修復(fù),按照項(xiàng)目規(guī)劃的發(fā)布/升級的時間節(jié)點(diǎn),將bug修復(fù)的代碼發(fā)布到線上,bug解決.
如果開發(fā)修復(fù)缺陷的影響范圍可控(測試要參與影響評估,掌握代碼review能力是必備技能,關(guān)鍵時候能“保命”),則測試加班加點(diǎn)回歸測試,保證問題修復(fù)驗(yàn)證通過的同時未產(chǎn)生新缺陷。當(dāng)然如果測試過程又產(chǎn)生新缺陷,則考慮項(xiàng)目延期吧。
2.2?影響范圍比較大的bug
如果開發(fā)修復(fù)缺陷的影響范圍較大且不可控。則考慮項(xiàng)目延期,讓開發(fā)給岀詳細(xì)修復(fù)方案作為緊急fix版本,三方評估開發(fā)/測試工作量,保證問題修復(fù)后上線.
出現(xiàn)問題時,常見處理方式:
?
1.無法明確問題原因時,可以通過回滾版本的方式來規(guī)避
2.部分用戶功能可以通過后臺配置的方式將功能降級或關(guān)閉
3.如果是資源不足等性能問題時,可以通過重啟系統(tǒng)或者擴(kuò)容的方式解決,再進(jìn)一步觀察
4.以上幾種規(guī)避問題的方法只是幫助我們爭取到時間,規(guī)避問題后還是要按照之前修復(fù)bug的方式來定位問題,修復(fù)問題,并將修復(fù)的代碼發(fā)布線上,將bug徹底解決。
5.做好備份,及時發(fā)出上線公告,產(chǎn)生bug的功能暫且不上線,其他功能繼續(xù)上線
?
3.當(dāng)線上問題解決后,我們還需要對問題進(jìn)行復(fù)盤,避免同樣的問題再次發(fā)生:
線上問題復(fù)盤主要從如下幾個方面進(jìn)行:
1.檢查其他的業(yè)務(wù)是否有同類型的問題,有問題的話提前解決,避免遺漏上線
2.分析bug的根本原因,考慮如何避免此類問題再次發(fā)生
分析bug是在哪個階段引入?是設(shè)計(jì)階段、開發(fā)階段、測試階段?
分析bug引入的原因是什么?是流程問題、技術(shù)問題、管理問題?
處理問題的流程是否合理?是否有問題預(yù)警、是否有緊急上線規(guī)范。
--------?THE END?--------
