在軟體測試過程中,對於一些難重現的bug,該怎麼處理?
寫寫我的經驗吧。其實很簡單:
分析log
測試客戶端或web功能時,開啟抓包工具,跟蹤自己的操作路徑。
當涉及到server功能時,就依賴於開發了,有經驗的開發會在自己的程式碼中打很多的log,去log檔案裡按時間找自己的操作即可。透過分析log,可以:
1。 方便的回溯隨機bug,出現問題直接查錯誤日誌、定位原因、告知開發,就不需要再絞盡腦汁的重現bug了,提高測試質量。
2。 查log能夠準確的定位問題。特別是比較複雜的系統,一環套著一環,透過查log剝繭抽絲逐步定位問題所在。提高工作效率。
3。 查log的過程也是對系統實現細節的深入學習過程,通過了解到的技術實現,完善測試用例,避免漏測。
但在實際的測試中,可能會有很多意想不到的情況,比如開發忘記在出錯點打log了,你分析半天發現沒喲,浪費時間所以測試之前一定要提醒開發在關鍵點打好log:
1、異常處理。系統各層次都要顯式處理異常,任何可能出現的錯誤都能在日誌中找到原因和地點。
2、重要的邏輯處一定要有日誌。能夠透過日誌看出是哪個檔案的哪個方法出了問題。
個人做法:
將該BUG的觸發環境、觸發背景等詳細記錄在jira/bugzilla/TD/QC上並註明重現次數及無法重現的次數,供研發參考。
我一直覺得,無法重現的BUG,只不過是沒有找到真正的觸發條件。不能忽視。
難重現的,根據上下文去檢查測試用例的步驟。
非必現的在提交bug時注意描述清楚當時的情況,和可能的定位預估及預估1個重現率。
看後臺log及callback控制檯。
調式,遊戲產業測試不一定有工程包,但開啟調式還是可以看到關鍵資訊。
自己找的話,可是嘗試用打Log 的方式去找一下,
你也可以嘗試接入第三方的工具,透過他們來直接定位問題。
復現步驟報給自動化組,由自動化組調配資源,開發搭建環境後,進行幾千次復現,抓到log後,報給研發分析。