又如:短信接收發送指令接口,指令接口的工作就是實現發送MT,收取狀態報告并把收到的狀態報告的狀態值與期望的狀態值進行比較,返回比較結果給調用者;收到本地MO,并把收到到的本地MO與期望的MO進行比較,返回比較結果給調用者。
3.1.3驅動程序
驅動程序是實現具體的指令操作的程序,被指令接口調用完成具體的測試工作,并將測試結果返回給指令接口。驅動程序是具體操作的完成者。
比如,話單檢查驅動程序,用于對特定話單格式的話單文件進行跟蹤,并且能夠把跟蹤結果解析成話單,話單檢查指令接口會調用話單驅動程序完成具體的每條話單的各個子段的比較,驅動程序完成檢查后將結果返回給指令接口。
3.1.4 輔助功能
實現系統的輔助功能,比如案例文件的處理,底層socket處理,文件處理或者數據庫操作。
3.2 測試案例
3.2.1 測試案例的組成
測試案例包括了業務邏輯、測試步驟以及輸入與輸出,使用XML存儲測試案例,可以提高測試案例的可讀性、通用性以及可維護性。不過這樣有一個不好的地方就是測試案例看起來會比較龐大,不夠輕盈,但是非常清晰,即使是對測試案例完全不熟悉的人,只要看了也自然很快就對業務流程有了一個大致的了解;而且,業務邏輯體現在測試案例,也會增強系統的擴展性,如果需要增加某些測試步驟或修改測試數據,只需要修改測試案例即可。
測試案例主要由測試案例ID、測試案例描述、以及測試操作指令所組成。測試案例ID就是測試系統的案例ID,測試描述包括測試案例的簡要描述、測試產品名稱、測試功能點、測試版本、測試類型以及測試案例的作者,測試操作指令是測試案例的核心,每個測試步驟就是一個操作指令,操作指令的順序與業務邏輯或測試步驟相關。每個操作指令包括:
(1) 操作指令ID,在Test Case中唯一;
(2) 操作指令接口名稱,自動測試工具所提供的指令接口名稱,在一個Test Case中可以出現多次;
(3) 操作指令接口動作名稱,自動測試工具所提供的指令接口的具體操作的名稱,在一個Test Case中可以出現多次,自動測試工具操作指令接口名稱和操作指令接口動作名稱調用不同的指令接口的功能完成相關的動作;
(4) 操作指令的描述;
(5) 模擬接口的信息,如果需要使用到模擬接口,需要將模擬接口相關的信息再測試案例中輸入,模擬接口相關信息應該參數化;
(6) 輸入數據,也就是執行這個操作步驟所需要輸入的測試數據或是預期的結果或延時等待時間等。
(7) 輸出數據,也就是這個操作步驟的輸出結果。
一個測試案例就是一個完整的測試流程,由不同的操作步驟組成,每個操作步驟就是一個操作指令,一個完整的測試案例可能包括這些操作指令:
(1) 預置測試環境,比如修改某些特殊的配置、設置模擬接口的返回值、檢查某些數據等;
(2) 測試步驟,一個測試案例可能有多個測試步驟,每個測試步驟為一個操作指令,操作指令的輸入就是測試需要輸入的數據,動作就是需要執行的測試操作,測試案例的測試就是由一系列的操作指令完成;
(3) 檢查測試結果,一個測試案例中可能存在多個檢查點,每個檢查點為一個操作指令,這操作指令的輸入就是預期的測試結果,操作指令的動作就是獲取測試結果并將測試結果與預期測試結果相比較,如果相等則測試通過,否則測試失敗;
(4) 恢復測試環境,測試完成后應該恢復測試環境的原始數據或相關的資源。
為了提高測試的擴展性與靈活性,測試案例中的測試數據應該可以參數化,這樣即使是測試數據發生了變化,只需要修改參數的值即可,而不必把所有的測試案例的某些數據逐個修改。這些參數以及參數的值可以存放在配置文件中,被測試案例引用,自動測試工具根據測試案例的參數的名稱到相應的配置文件中讀取這個參數的值。
原文轉自:http://blog.csdn.net/xuyubotest/article/details/4682639