為了提高軟件測試的效率,增進測試工作的廣度和深度,越來越多的公司開始引入自動化測試自動化測試。本文通過筆者對測試用例設計和表達上的一些理解,闡述如何寫好功能自動化測試友好的用例,供大家參考。
自動化測試有其自身的特點,按照筆者的經驗,自動化在一個項目,乃至一個公司開展的成功與否,并不是僅僅依靠QTP等工具使用者的腳本編寫水平的提高就可以掌控的。而因為其他的一些因素,一旦自動化測試失去了它本身的高效、可控的特點的話,那反而是得不償失,會增加項目的成本。
自動化測試人員進入項目的時間可能不是最早的,對需求的理解并不是在第一時間就很容易做到的。測試用例作為測試需求的載體、測試執行的依據和工作量的評估,它設計和表達的優劣直接影響到自動化測試開展的前幾個階段,如:需求學習、篩選適合自動化測試的用例以及提取公司級或項目的可重用腳本等方面的工作效率。
1.步驟和數據的分離:
好的測試用例,在執行的步驟(Step)的表達上應該是盡可能和數據相分離。舉例來講,有一個ATM機取款的功能,可能有以下幾個場景:
1) 密碼正確的登錄
2) 密碼錯誤的登錄
3) 密碼輸入三次錯誤,卡被鎖定
4) 取少于余額的款項
5) 嘗試取大于余額的款項
6) 嘗試取等于余額的款項(考慮手續費)
6) 取款額度大于當次的限制
7) 取款額度大于當天的限制
8) 取款次數大于限制次數
等等
不管你用什么用例設計的方法論來做指導,作為這個簡單的例子,有經驗的人都應該能看出,此處的很多步驟是可以重用的,總結下來如下(此處只列出了操作的步驟,略去了系統的交互中的反饋結果):
1) 插入卡->A:輸入密碼->B:按“確定”鍵->重復A-B
2) A:選擇取款功能->B:填寫取款金額->C:點擊“確定取款”的按鈕->D:取現金->重復A-D
因此,我們只需要寫出兩套比較完整的步驟,將密碼和取款金額多數字用參數來表達即可。這樣是不是簡單了很多呢?
2. 單獨的測試基礎數據準備工作
第一個例子中的輸入數據比較簡單,但我們同樣需要考慮的一個問題是:在測試中究竟我們輸入什么樣的具體數據呢?什么是”正確的密碼“?什么又是”大于余額的款項“呢?
文章來源于領測軟件測試網 http://www.kjueaiud.com/