2.3 自動化測試的目标
在《software test automation》(addison-wesley,1999)一書中,第8章有一張非常有用的表,列出了自動化測試的不同目标。當我們開始自動化測試時,根據這張表,按照優先級順序,列出下列這些測試目标:
增強在軟體品質方面的信心;
更早進入市場;
減少測試開銷;
保持可重複性測試的一緻性;
自動運作測試;
找出回歸測試中的bug;
經常運作測試。
第一階段實施完成之後,又加入了以下測試目标:
品質更好的軟體;
測試更多的軟體;
性能測量;
找出更多的bug;
在不同的作業系統上測試。
【真知灼見】
剛開始不要設定太多目标,最初先重點完成某些目标,再逐漸添加新的目标。
另外,在更深入的自動化的全新疊代周期中,我們又制訂了新的目标:
1)收集統計資料來制定度量标準(用以回答以下問題):
① 在哪個作業系統上找到的bug數量最多?
② 在同一個作業系統上将測試進行分割會不會漏掉一些bug?
③ 哪些bug是在特定作業系統上才出現的?是在哪種作業系統上出現?
④ 哪些測試發現的故障數量最多?
⑤ 哪些測試從來都沒有發現故障?
⑥ 哪些失效是由釋出測試發現的,而不是由每晚的測試所發現的?這有利于我們分析為什麼這類故障在釋出過程中比較晚時才發現。
2)将未使用的硬體用來做其他的事情。
3)盡量達到每周7天、每天24小時不間斷使用硬體。
4)縮短bug從發現到回報給相關人員的時間間隔(最初從幾周縮短到幾天,然後縮短到隻隔一夜,最後縮短到檢查代碼之後就直接完成回報。)
5)使用我們自己的資料庫來收集統計資料,這樣就可以在真實的産品環境中擁有自己的資料,并且有可能會遇到在其他沒有發現的故障(用你自己的方法來解決)。
6)使測試場景不可能手動運作。
7)使場景維持幾天。
8)使場景具有多個使用者。
9)重新使用預處理任務,并使其自動化。
10)重新使用後續處理任務,并使其自動化。
11)對于測試結果自動生成測試報告。
12)完全的自動化測試。