偶現bug如何處理?


請先允許我對此類bug進行吐槽,相信做測試的同學都碰見過這種bug!
  我們在測試過程中經常會碰見一類很頭疼的bug,就是偶現性的bug,所謂偶現性,是相對於必現而言,這類bug有些可以有重現路徑,但是可能需要重復操作十幾次甚至上百次才可能重現一次,重現概率比較低,這種bug我暫分類成偶現可重現。另一種則是沒有重現路徑,找不到任何的規律,但時不時的會出現,這個分類成偶現且難以重現。對於這類偶現bug,測試很頭疼,因為需要花費相當多的時間去復現bug,修復之后還要去驗證。開發也很頭疼,測試如果沒法復現,那么需要開發自己嘗試找bug、調試、解bug(大多數開發只願意解bug,而不擅長找bug)。一般來說遇到偶現的bug,都是嘗試去按照出問題的方向復現,然后去review對應代碼的邏輯,但是代碼邏輯review了很多次,加了很多log,也沒有找到。一點頭緒都沒有的情況下,大家是怎么應對這種情況的。

這里對偶現且難以重現的bug進行下經驗總結,有不足之處歡迎指出。
在測試過程中發現bug后的處理方法:
  1.抓取log、截圖、視頻
  2.別急着去復現bug,先仔細回憶下自己的操作步驟及前置環境
  3.找到能重現的步驟,然后再定位代碼,還得考慮數據的因素(檢查變量變化是否正確)

  有時候測試人員很大的價值就在於能重現難以重現的bug,這需要思維的開闊、經驗的積累以及掌握較好的測試技術或者開發技術。bug的出現都必然有一個可重現的路徑,只是問題在於我們是否能找到這個路徑,因為影響bug重現的因素很多,如環境的改變(硬件環境、網絡環境等)、不經意間被忽略的操作、使用的數據是否相同等等。個人一方面對這類bug很怕,因為一旦出現,如果對功能影響很大的話,就需要花很多時間去重現它,而且並不保證就一定能重現。但另一方面又喜歡去挑戰這類型的bug,當你通過種種想法、測試技巧去將它重現之后,你會相當的有成就感!
當碰見這種bug,要做的事情:
  1.抓取log、截圖、視頻
  2.仔細回憶,記錄前置環境、操作步驟、使用過的數據
  3.嘗試去重現

當發現嘗試多次仍無法重現時,先給開發提單,附上能取到的所有日志及截圖、詳細前置環境及操作步驟、可初步的注明bug出現的概率(百分之一、千分之一)。
對bug進行評估,確定優先級,如果優先級高的話,將bug單發給組內的同事,讓大家幫忙關注該bug。
與開發溝通,猜測可能出現問題的地方,在代碼中設樁,添加狀態打印信息,進行有針對性的測試。
考慮采用自動化,進行壓力測試,測試過程中注意收集log信息,統計bug出現的概率。
仍舊無法重現,就只能采取亡羊補牢,關注發布后的用戶反饋,跟進bug。

  1.首先你需要在代碼里做盡可能多的保護和異常處理:大部分的異常是可以抓到的,能抓到基本上問題就可以解決了。即使你沒有管,設備上也會有crash log的,解析出來崩潰的位置后,debug工作會簡單很多。實在不行你說的log方式也很好用。
  2.讓tester確定復現步驟,概率極低其實可以不去修復。1/50嘛,我覺得還是有點高,如果重新操作一遍不會遇到同樣的問題(就是說和windows一樣重啟可以解決的問題),那可以不修復的,非阻塞型的bug嘛。如果是會阻塞后續操作,重來一遍還是要修復的。

問題的驗證:
建議采用自動化的方式驗證+收集用戶反饋

最后,有時候發現bug、重現bug,運氣很重要!希望大家都做個負責的Tester!

 

App crash崩潰追蹤,原因定位分析

https://www.jianshu.com/p/c4abdd2c3576


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM