(7) 輸出數據,也就是這個操作步驟的輸出結果。
一個測試案例就是一個完整的測試流程,由不同的操作步驟組成,每個操作步驟就是一個操作指令,一個完整的測試案例可能包括這些操作指令:
(1) 預置測試環境,比如修改某些特殊的配置、設置模擬接口的返回值、檢查某些數據等;
(2) 測試步驟,一個測試案例可能有多個測試步驟,每個測試步驟為一個操作指令,操作指令的輸入就是測試需要輸入的數據,動作就是需要執行的測試操作,測試案例的測試就是由一系列的操作指令完成;
(3) 檢查測試結果,一個測試案例中可能存在多個檢查點,每個檢查點為一個操作指令,這操作指令的輸入就是預期的測試結果,操作指令的動作就是獲取測試結果并將測試結果與預期測試結果相比較,如果相等則測試通過,否則測試失敗;
(4) 恢復測試環境,測試完成后應該恢復測試環境的原始數據或相關的資源。
為了提高測試的擴展性與靈活性,測試案例中的測試數據應該可以參數化,這樣即使是測試數據發生了變化,只需要修改參數的值即可,而不必把所有的測試案例的某些數據逐個修改。這些參數以及參數的值可以存放在配置文件中,被測試案例引用,自動測試工具根據測試案例的參數的名稱到相應的配置文件中讀取這個參數的值。
3.2.3 測試案例的存放
對于不同的產品的測試案例,應該存放在不同的主目錄中,對于同一個產品的測試案例,根據不同的功能存放于不同的子目錄中。每個主目錄或子目錄應該有一個測試案例的ID文件,在這個文件中的測試案例會被自動測試工具執行自動測試。測試案例ID文件中,每一行為一個測試案例,每個測試案例由序列號、測試案例ID和該測試案例的描述組成。測試案例的存放位置,自動測試工具可通過配置文件獲取。
3.3 自動測試執行
3.3.1 測試案例的編寫與測試
自動測試工具實現后,接下來很大部分的工作就是測試案例的編寫和測試了,根據業務邏輯和自動測試案例的規范將測試案例系統中的測試案例轉化成自動測試案例腳本,自動測試案例腳本編寫完成后對這些腳本進行測試,確保自動測試案例腳本能夠被正確地執行且正確地測試了測試案例所描述的功能。在利用自動測試工具進行測試之前,首先要測試自動測試工具和案例能否正確地進行相關功能的測試,否則自動測試的結果不可信,自動測試也就沒有意義了。
3.3.2 自動測試的執行
自動測試案例編寫完成后,自動測試就可以在無人干預的情況下進行測試了。
(1) 需要進行自動測試的測試案例的ID寫在一個文件中,自動測試工具只執行這個文件中的測試案例;
(2) 自動測試案例的目錄、數據庫連接、模擬接口的IP和Port等參數寫在配置文件中,自動測試工具會到配置文件指定的目錄讀取測試案例,也會讀取自動測試工具所使用到的數據庫連接信息和模擬接口信息;
(3) 自動測試案例所使用到的參數寫在參數配置文件中,自動測試工具根據自動測試案例的參數的名字到參數配置文件中讀取該參數的值代替自動測試案例中的參數;
(4) 指定測試結果的輸出文件,自動測試工具在測試完一個測試案例之后,將這個測試案例的測試結果輸出到測試結果文件中,測試結果文件每行表示一條測試案例,每條測試案例的輸出結果包括測試案例的ID,測試案例的功能描述和測試案例的結果;
(5) 自動測試工具在測試案例的過程中,需要記錄測試日志,包括測試案例ID,讀取測試案例的內容,測試步驟,各個測試步驟的測試結果,測試結果的比較等;
(6) 自動測試工具自動執行所需要測試的案例,并記錄測試結果,測試工程師在測試完成后查看測試結果,測試成功的測試案例意味著這個功能測試通過,對于測試失敗的測試案例,需要根據日志分析原因,如果是測試環境或測試腳本引起的則修改環境或測試案例或自動測試工具,否則需要記錄bug,通知開發修改測試失敗的測試案例所發現的問題。
第4章 自動編譯與自動測試
4.1.1 自動編譯
自動編譯就是在源代碼管理服務器上進行自動編譯,對編譯的結果進行分析,并將編譯成功的并且是自動測試環境需要的文件更新到測試環境中。
原文轉自:http://www.uml.org.cn/Test/200804257.asp