軟件自動化測試框架的發展

基於界面的軟件 自動化測試框架和工具的發展大致經歷了三個階段(有人也據此將測試工具分爲三代):

    1)簡單的錄製/回放:由工具錄製並記錄操作的過程和數據形成腳本,通過回放來重複人工操作的過程。在這種模式下數據和腳本混在一起,幾乎一個測試用例對應一個腳本,維護成本很高。而且即使界面的簡單變化也需要重新錄製,腳本可重複使用的效率低。

    2)數據驅動 (data driven)的自動化測試:從數據文件讀取輸入數據,通過變量的參數化,將測試數據傳入測試腳本,不同的數據文件對應不同的測試用例。在這種模式下數據和腳本分離,腳本的利用率、可維護性大大提高,但受界面變化的影響仍然很大。

    3)關鍵字驅動(keyword driven)的自動化測試:關鍵字驅動測試是數據驅動測試的一種改進類型,它將測試邏輯按照關鍵字進行分解,形成數據文件,關鍵字對應封裝的業務邏輯。 主要關鍵字包括三類:被操作對象(Item)、操作(Operation)和值(value),用面向對象形式可將其表現爲 Item.Operation(Value)。關鍵字驅動的主要思想是:腳本與數據分離、界面元素名與測試內部對象名分離、測試描述與具體實現細節分離。

    相應地,軟件測試自動化腳本的類型,從低到高的發展層次是:

    1)線性腳本:通過錄制直接產生的線性執行的腳本。

    2)結構化的腳本:具有順序、循環、分支等結構的腳本。

    3)共享的腳本:可以被多個測試用例使用,被其它腳本調用的腳本。

    4)數據驅動的腳本:數據和流程控制分離的腳本,通過讀入數據文件來驅動流程進行的腳本。

    5)關鍵字驅動的腳本:腳本、數據、業務分離,數據和關鍵字在不同的數據表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動腳本的特點是它看起來更像描述一個測試事例做什麼, 而不是如何做。

    目前,大多數測試工具處於數據驅動到關鍵字驅動之間的階段,有些工具廠商已經提出了聲稱支持關鍵字驅動的版本。

    從上面可以看到,自動化測試框架和腳本的發展是和軟件工程思想的發展一脈相承的。軟件開發的模式從面向機器、到面向過程、再到面向對象、面向服務,是一個 從底層到高層、從具體到抽象、複用的粒度從細到粗的發展過程。而軟件開發中的模塊化、層次化、鬆耦合等思想對自動化測試框架的設計都具有借鑑意義。

發佈了93 篇原創文章 · 獲贊 5 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章