軟件自動化測試框架的發展
基于界面的軟件 自動化測試 框架和工具的發展大致經歷了三個階段(有人也據此將 測試工具 分為三代): 1)簡單的錄制/回放:由工具錄制并記錄操作的過程和數據形成腳本,通過回放來重復人工操作的過程。在這種模式下數據和腳本混在一起,幾乎一個 測試用例
基于界面的軟件
自動化測試框架和工具的發展大致經歷了三個階段(有人也據此將
測試工具分為三代):
1)簡單的錄制/回放:由工具錄制并記錄操作的過程和數據形成腳本,通過回放來重復人工操作的過程。在這種模式下數據和腳本混在一起,幾乎一個
測試用例對應一個腳本,維護成本很高。而且即使界面的簡單變化也需要重新錄制,腳本可重復使用的效率低。
2)數據驅動(datadriven)的自動化測試:從數據文件讀取輸入數據,通過變量的參數化,將測試數據傳入
測試腳本,不同的數據文件對應不同的測試用例。在這種模式下數據和腳本分離,腳本的利用率、可維護性大大提高,但受界面變化的影響仍然很大。
3)關鍵字驅動(keyworddriven)的自動化測試:關鍵字驅動測試是數據驅動測試的一種改進類型,它將測試邏輯按照關鍵字進行分解,形成數據文件,關鍵字對應封裝的業務邏輯。主要關鍵字包括三類:被操作對象(Item)、操作(Operation)和值(value),用
面向對象形式可將其表現為Item.Operation(Value)。關鍵字驅動的主要思想是:腳本與數據分離、界面元素名與測試內部對象名分離、測試描述與具體實現細節分離。
相應地,
軟件測試自動化腳本的類型,從低到高的發展層次是:
1)線性腳本:通過錄制直接產生的線性執行的腳本。
2)結構化的腳本:具有順序、循環、分支等結構的腳本。
3)共享的腳本:可以被多個測試用例使用,被其它腳本調用的腳本。
4)數據驅動的腳本:數據和流程控制分離的腳本,通過讀入數據文件來驅動流程進行的腳本。
5)關鍵字驅動的腳本:腳本、數據、業務分離,數據和關鍵字在不同的數據表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動腳本的特點是它看起來更像描述一個測試事例做什么,而不是如何做。
目前,大多數測試工具處于數據驅動到關鍵字驅動之間的階段,有些工具廠商已經提出了聲稱支持關鍵字驅動的版本。
從上面可以看到,自動化
測試框架和腳本的發展是和
軟件工程思想的發展一脈相承的。軟件
開發的模式從面向機器、到面向過程、再到面向對象、面向服務,是一個從底層到高層、從具體到抽象、復用的粒度從細到粗的發展過程。而軟件開發中的模塊化、層次化、松耦合等思想對
自動化測試框架的設計都具有借鑒意義。
原文轉自:http://www.kjueaiud.com