缺陷定位 | 如何精準(zhǔn)效率分析推測BUG定位(二)
點(diǎn)擊上方“藍(lán)字”,輕松關(guān)注我們

? ? ? ?明天就是除夕了,很多人都回到了老家,吃上了媽媽做的飯菜,這時候應(yīng)該是最幸福的時刻,我也用年前上班僅剩的幾小時把 缺陷定位(二)分享給大家,希望大家能支持,也祝福大家2022新年快樂,幸福健康?。?!
往期經(jīng)典:
缺陷定位 | 測試發(fā)現(xiàn)了Bug,還要分析定位Bug?(一)
? ? ? ?我覺得BUG分析推理定位很有意思,很像偵破案件,根據(jù)用戶提供的各種證據(jù)信息,分析推理,逐步嘗試復(fù)原現(xiàn)場,最終還原案發(fā)現(xiàn)場,這是最高光的時刻,也是最榮耀的時刻,也是值得他人尊敬和敬佩的,所以BUG定位在我們?nèi)粘9ぷ髦蟹浅V匾?,也是測試工程師最重要的技術(shù)手段。
?? ? ? ?BUG定位的效率度和準(zhǔn)確度與其經(jīng)驗(yàn)積累有著很大的關(guān)系,普通的新人復(fù)現(xiàn)BUG是需要花費(fèi)大量時間的,而有著豐富的經(jīng)驗(yàn)的人經(jīng)歷的BUG類型比較多,看到BUG表象,可以一眼大致辨識出BUG發(fā)生的原因,再根據(jù)辨識結(jié)果去嘗試復(fù)現(xiàn),效率會非常高,如果辨識是錯誤的,再嘗試二次辨識。首先我們一般接到BUG,可以根據(jù)情況大致劃分是前端問題還是后端問題,是數(shù)據(jù)問題還是業(yè)務(wù)邏輯問題,是系統(tǒng)兼容問題還是網(wǎng)絡(luò)環(huán)境問題等,這樣就可以更深層次推理復(fù)現(xiàn)了,不能是胡亂沒有邏輯性的復(fù)現(xiàn)BUG,這樣既是不效率的也是很難復(fù)現(xiàn)出問題的。
? ? ? ?如果用戶提供了大量的信息(BUG發(fā)生的圖片、視頻、環(huán)境、版本號、設(shè)備信息、網(wǎng)絡(luò)環(huán)境、場所等),根據(jù)用戶的操作步驟,嘗試測試環(huán)境直接復(fù)現(xiàn),如果能復(fù)現(xiàn),說明我們業(yè)務(wù)確實(shí)存在這個BUG;如果無法復(fù)現(xiàn),就與用戶同軟件版本嘗試,能復(fù)現(xiàn),說明與軟件的復(fù)現(xiàn)版本可能有關(guān)系;無法復(fù)現(xiàn),再與用戶使用同環(huán)境復(fù)現(xiàn),能復(fù)現(xiàn),說明與復(fù)現(xiàn)環(huán)境可能有關(guān)系;無法復(fù)現(xiàn)這時就考慮與用戶使用同軟件版本、同設(shè)備信息、同軟件進(jìn)度數(shù)據(jù)、同網(wǎng)絡(luò)環(huán)境等,能復(fù)現(xiàn),說明與設(shè)備信息、軟件進(jìn)度數(shù)據(jù)、網(wǎng)絡(luò)環(huán)境可能有關(guān)系;無法復(fù)現(xiàn),可嘗試登錄用戶賬號信息復(fù)現(xiàn),如果能復(fù)現(xiàn),說明與用戶賬號數(shù)據(jù)可能有關(guān)系;如果還是無法復(fù)現(xiàn),我們就需要進(jìn)一步分析推理了。
? ? ? ? ?
? ? ? ?分析BUG發(fā)生的時段和范圍,如果是最近1-2天才大面積用戶發(fā)生,可能是最近上了小版本,小版本業(yè)務(wù)或改了什么邏輯導(dǎo)致的;如果是最近1-2天個別用戶發(fā)生,可能是最近上了小版本,某些操作邏輯下導(dǎo)致的;如果是個別用戶不能重現(xiàn)的偶發(fā)現(xiàn)象,可能跟用戶賬號數(shù)據(jù)、網(wǎng)路環(huán)境、軟件版本、設(shè)備兼容等有關(guān)系。
? ? ? ? ? ?
? ? ? ?分析用戶賬號數(shù)據(jù),查看用戶的注冊時間,判斷是否與老賬號數(shù)據(jù)兼容有關(guān)系,導(dǎo)致的問題;查看用戶操作行為,判斷用戶時候進(jìn)行了異常操作導(dǎo)致的問題;與正常用戶數(shù)據(jù)對比,判斷是否是錯誤的數(shù)據(jù)導(dǎo)致的問題。
? ? ? ? ? ?
? ? ? ?看到接口500,一定是后端BUG嗎?這個應(yīng)該不一定吧,確實(shí)表象是后端出錯了,但不一定是后端BUG導(dǎo)致的,也可能是前端傳參錯誤、異常導(dǎo)致的,也可能是接口A給前端返的錯誤、異常的數(shù)據(jù),導(dǎo)致前端拿錯誤、異常的參數(shù)進(jìn)行接口B的請求出錯了;也可能是前端H5傳遞給App的參數(shù)錯誤、異常,導(dǎo)致App拿到錯誤的參數(shù)請求接口出錯了,都是有可能的,所以BUG的發(fā)生需要進(jìn)一步分析定位和確認(rèn),不能盲目的下結(jié)論。
實(shí)例推理分析:
最近再玩抖音的年度紅包活動,正好碰到幾個BUG,現(xiàn)場給大家分析推理下
問題1:提現(xiàn),點(diǎn)立即提現(xiàn),報(bào)錯 提現(xiàn)失敗,請重試
問題發(fā)生步驟:提現(xiàn)成功后返回提現(xiàn)頁面,再次點(diǎn)立即提現(xiàn),報(bào)錯
? ? ? ?我們一眼看到這個問題,能判斷應(yīng)該是后端報(bào)錯了,大概率不會是設(shè)備兼容性問題,也不會是網(wǎng)絡(luò)環(huán)境問題,因?yàn)閳D中網(wǎng)絡(luò)環(huán)境是滿格的,我們可以看到提現(xiàn)金額是沒有選中的,故猜測是不是沒有選中金額,導(dǎo)致App傳參錯誤,后端報(bào)錯的,再根據(jù)推測再去抓包復(fù)現(xiàn)。這就是沒有進(jìn)行充分的接口測試導(dǎo)致的問題。

問題2:退貨,匹配到了物流派送員,取消退貨,選取消原因?yàn)槠渌?,點(diǎn)確認(rèn),報(bào)錯 task_fulfillment_pickup_cancel 503取消物流失敗
? ? ? ? 這個問題看起來也是后端報(bào)錯了,從報(bào)錯信息可以看出來是取消物流失敗了,正常的取消物流不可能失敗的,畢竟是抖音大廠啊,推測可能是后端處理了異常或者是前端傳了異常的參數(shù),如果傳了異常的參數(shù),正常取消也會報(bào)錯的,再次推測,可能是重復(fù)取消導(dǎo)致的報(bào)錯,已經(jīng)取消物流成功了,再次取消,報(bào)錯取消失敗,這種問題的發(fā)生,驗(yàn)證了我以前提到的狀態(tài)測試法,很有必要進(jìn)行測試的。

? ? ? 時間太倉促了,1個小時邊想邊寫,其實(shí)心里想的很多,但是實(shí)際寫出來,真寫不出來,感覺寫的很low很粗略,大家將就看吧,覺得寫得好,記得點(diǎn)贊,轉(zhuǎn)發(fā)給更多的朋友,感謝?。?!
長
按
關(guān)
注
公眾號:王大力測試進(jìn)階之路
微信群 : wanglilitesting
QQ群:212683165
自動化 | 性能 | 安全 | 測試開發(fā)


喜歡 點(diǎn)下方“收藏”“在看”分享給小伙伴哦!



