2016年1月15日 星期五

Testing: 測試自動化(二): 測試流程

在先前的簡介中,提到Cucumber與Calabash,在此章節便是要進入這兩個工具的流程,下圖則呈現了使用這兩個工具的主流程。

428343_02
 
從上圖可看出測試自動化可分三個階段:
A. 描述操作行為
B. Ruby實作
C. 執行
    - 測試成功
    - 測試失敗
        - 修正,重複Step 2.

# 描述操作行為
主要是進行測試案例的功能與操作情境描述。開發或測試者可以用自然語言描述欲進行的測試案例,包含Feature(功能描述)與Scenario(情境)兩種描述,範例如下所示:
    1. Feature: 描述你所要測試的功能、角色與條件。
    2. Scenario: 描述該功能的測試情境、操作步驟與預期結果。

428343_03

該範例在Feature的部份描述了欲測試的功能,開發者(測試者)預期該應用程式可以提供使用者在首頁的商品瀏覽,測試者則為該App的會員;Scenario則定義了測試的相關步驟與預期結果。

# Ruby實作
這階段是配合Step1的測試案例進行程式實作,先前的章節有介紹過Calabash是以Ruby on Rails為基礎,所以這部份的實作自然也是用Ruby來進行。除了支援Ruby語法以外,實際上測試手機應用程式的操作,還是需使用Calabash提供的API來進行。範例如下所示:

428343_04

# 執行
執行主要是運行我們的測試案例,並且觀察實際結果。實際結果可以藉由Calabash產生的報告來觀察,若是每項測試皆通過,則是以綠燈顯示,表示所有測試情境皆完成,範例如圖一所示;反之則是紅燈,範例如圖二所示;若是紅燈,則表示當中有錯誤或是測試案例失敗,需要回去修改程式碼、測試情境或是Ruby的測試實作,範例如圖三所示,不斷重複以上步驟,直至每個測試皆能順利通過。範例如圖一所示:

圖一
428343_07
圖二
428343_05

圖三
428343_06

沒有留言:

張貼留言