劣質的測試設計必將破壞自動化測試實施過程,它將導致測試結果不可靠--測試結果出現沖突或者干脆無效。劣質的測試設計也使測試難于維護和復用,如果我們沒有特意的去為測試的復用性做出準備,那么自動化測試的收益必將隨著時間的流逝而逐漸消失。因此,如果在自動化測試的設計里不把針對測試產品新版本的復用測試考慮在測試腳本庫內,那么自動化測試的優勢就不能得到最佳體現。
因此,當您設計自動化測試時,需要考慮到當前項目并計劃到未來的項目。一個優秀的自動化測試設計,必須具有:
易于維護性-減少更新修改的工作量
可靠性-測試結果精確
復用性-測試腳本可以復用,包括在未來的其他項目里
二) 自動化測試的架構
軟件工程里,架構是軟件系統的組織結構,系統架構是
將產品分離成眾多組件
在組件間建立通信機制
對系統指定數據接口
類似的,自動化測試的架構也是將軟件系統的基本測試組件分解并組合的過程。它指定了測試組件的不同特征,以及組件間的關聯結構,包括應用程序的測試數據、測試腳本、函數庫等。
測試架構的選擇主要依賴于測試需求,例如,如果你的測試需求是對被測程序的不同版本進行多次的運行自動化測試,那么選擇一種復用性強并維護量小的架構是必要的。
除了測試需求外,測試環境也是影響測試架構的重要因素。換句話說,所有這些方面,包括架構,都影響測試的設計和實現。
許多不同的設計架構支持自動化測試。當然,測試架構最重要方面還是可維護性和可復用性,包括那些拿來自動化測試工具不進行設計,而直接進行錄制或編碼的測試方式(Cem Kaner稱其為quick and dirty architecture),都可以實現要做的測試工作。以下表格列出Cem Kaner描述的通用自動化測試架構:

關于自動化測試架構的進一步信息,請參考Cem Kaner的 Avoiding Shelfware: A Managers' View of Automated GUI Testing。
文章來源于領測軟件測試網 http://www.kjueaiud.com/