測試人一定要知道的三種自動化測試模式
什麼是RobotFramework
RobotFramework是一款基於python的開源自動化測試框架,常用於驗收測試以及驗收測試驅動開發(ATDD)。基於關鍵詞寫出來的自動化用例,可讀性非常高,即使不懂程式碼也可以寫出足夠清晰的自動化用例。完全可媲美於手工用例。同時它的高擴充套件性體現在可以使用javapython去擴充套件自定義一些測試庫以及基於一些已有的關鍵詞自定義一些高階關鍵詞(m.ly.cnitedu.cn),便於測試開發人員基於各自專案的業務進行封裝,它只是實現了一個框架的功能,至於你要在框架下使用何種語言,何種技術,則可以自己靈活地選擇。同時執行結果也提供了非常美觀的測試報告及測試日誌。
先談關鍵字驅動
使用關鍵詞驅動模式,首先使得我們的自動化用例具備非常高的可讀性,只要由測試開發人員封裝好關鍵詞庫,即使是業務測試人員,也可以很方便地編寫自動化用例;其次,可以在基本關鍵詞的基礎上構造高階關鍵詞,這使得我們的自動化有了無限擴充套件的可能;
例如假如我們以測試計算器功能為例,參照官方github上的例子:
這邊其實包括了4個測試用例,及連續輸入、簡單加、複雜運算、復位功能,“Push Button”、“Result should be”都是我們在關鍵詞庫中預先定義好的關鍵詞,實現了簡單的操作及斷言功能;
次談資料驅動
資料驅動引入了一個非常有效的概念,即“模板”概念,在很多測試場景下,測試人員輸入的操作是有一定重複性的,區別只在於輸入的資料,還是以登陸為例,除了包含正常的測試用例,還需要有其他的異常用例覆蓋才能保證登陸介面的正確性。基於橫向構造不同的測試資料輸入來判斷不同的測試結果,即為資料驅動。行為可以封裝成模板。
還是以Github上的官方用例為例:
該用例定義了兩個模板,一個是Calculate計算模板,一個是錯誤模板。然後直接根據測試資料執行即可。
再談行為驅動
行為驅動是一種在關鍵詞驅動之上更加抽象更加高階的自動化測試手段;通常結構是“Given-When-and-Then”,即在一個什麼樣的前置條件下,當用戶觸發了什麼操作,產生了一個什麼樣的結果,結果該是怎麼樣。還是以測試及計算器為例。