不要為了測試寫一個新系統
阿新 • • 發佈:2021-11-08
前幾天聽到了這樣的問題:
“你們做自動化測試的時候,是怎麼把預期結果算出來的?”。——按照我的經驗,都是手工或Excel算出來的。
“為什麼不在測試工具中實時計算?”——按照我的經驗,測試寫不出一個異構的新系統。
測試過程中計算預期結果,可能是出於下面的考慮,但每一種都不適合。
1)被測系統的資料不受控,沒有穩定的預期結果。——用例的測試目的應該是預先定義的,動態的預期結果無法覆蓋到原定測試點。除非是做介面測試等強調輸入組合,可以通過大量用例來提高輸出結果覆蓋率的情況。
2)被測系統不穩定,變更多。——這類系統可能還不適合做自動化迴歸測試,測試範圍和輸入、輸出都不確定,也無法在測試用例中實現計算邏輯。
3)邏輯複雜,計算預期結果比較困難。——如果測試人員都可以輕易實現這些複雜的邏輯,那還要開發做什麼?即使能夠實現,必定付出比被測系統研發更高的代價。應該分層測試,逐層校驗中間結果,降低每一層測試的複雜度。
4)用例之間相互影響,正確性依賴執行順序。——在用例的前置條件、後置條件中進行處理,採用不同的資料集,拆分測試序列等都可以降低相關性。否則增加新用例時,實時計算的複雜度會持續增加。當然,一些邏輯簡單或固定公式的計算,可以方便的通過關鍵字實現。
歡迎大家評論交流,發現博文中存在的問題一定要留言哦