1. 程式人生 > >【工作隨筆】一個黑盒測試很難測到的缺陷-BigDecimal除不盡導致報錯

【工作隨筆】一個黑盒測試很難測到的缺陷-BigDecimal除不盡導致報錯

入參 超過 strong 解決方案 分享圖片 使用 情況 就是 應該

問題背景:

昨天加班做公司項目的冒煙測試,在測試導入包店陳列計劃文件時,本應該成功導入的文件導入失敗。 這個活動文件導入的邏輯中由一條:導入的記錄平均金額不能超過100(每一行記錄都由一列記錄著金額)。我的測試文件裏由3行記錄,這3行記錄的金額之和是200且其他數據符合導入要求,按照邏輯來講,200/3小於100,那麽導入能成功。結果頁面只顯示“導入失敗,系統異常”。 通過日誌看了下,這個錯誤就是開發使用BigDecimal.divide(param)時,沒有考慮這個數字能不能被入參這個數字整除。技術分享圖片

技術分享圖片

解決方案:

測試時,如果發現某個數字來源是平均數或者是邏輯裏會校驗平均值,可以采取下列措施之一:

1. 在開發之前將這種情況告知開發,做到提前避免。

2. 測試過程中,造數據要造不能整除的情況。

【工作隨筆】一個黑盒測試很難測到的缺陷-BigDecimal除不盡導致報錯