單機併發測試平臺

AutoTCG是一款模型驅動的測試腳本生成工具。使用本工具,測試人員能夠對被測件的使用流程進行業務建模,描述使用軟件各個步驟;然後配置每個動作的操作內容和參數;軟件能夠自動將各個動作和參數進行組合,生成執行的測試腳本。
測試人員使用AutoTCG創建的模型,是從開始節點到結束節點之間的一系列動作。每個動作代表對被測件的一次操作或者從被測件獲取的一次反饋。動作節點之間用連線進行連接。如果執行的動作需要用到參數,則在動作之前的連線上設置參數,然後動作節點上使用參數。
當模型創建完成後,AutoTCG根據流程圖計算從開始節點到任何一個結束節點之間的路徑,並且把路徑上的動作一個個接續起來,形成該測試路徑(用例)的測試腳本。
有些路徑的參數取值有一些要求。爲了避免無效路徑,需要在路徑(連線)上設置約束條件。所有不滿足約束條件的路徑都不會被產生。
同時,所有參數的各種取值也會進行組合,從而在每一條有效路徑上使用不同的參數組合產生不同的測試用例來進行測試。
AutoTCG可以和不同的測試腳本執行平臺進行集成,比如Selenium,Etest等。集成完成後,可以用該執行平臺的操作原語來完成(實現)每個動作;同時自動生成的測試用例也可以在該平臺上運行,完成自動化測試。
總之,AutoTCG就是一款結合了相鄰路徑深度和參數組合的模型驅動的自動化測試用例生成平臺。

下面我們用一個例子來看如何進行模型的設計。
應用場景:某軟件具有密碼輸入界面。用戶需要輸入密碼;如果密碼正確,則提示成功,進入操作界面;如果密碼錯誤,則提示失敗。
設計測試模型如圖1所示。

圖 1 密碼檢查測試模型

每個動作模型,我們都設置一些對應的操作。在這裏可以調用集成的自動化測試運行平臺的操作原語,進行控制操作和結果判讀。比如,“輸入密碼”動作可以調用輸入框原語輸入password變量的值作爲密碼值,然後調用提交按鈕的點擊原語發送密碼(假設集成了selenium平臺)。在這裏我們暫且使用註釋文本來表達動作。如圖2所示。

圖 2 輸入密碼動作

同理,我們配置其他幾個動作“提示密碼正確,進入操作界面”、“提示密碼錯誤”相應的動作內容。這裏我們都用文本來描述。

圖 3 提示密碼正確動作

圖 4提示密碼錯誤動作

其中“輸入密碼”動作包含了參數password。這個參數設置在這個動作之前的連線上,如圖5所示。

圖 5 設置參數

點擊“參數”界面,設置password參數的取值範圍。如圖6所示。

圖 6 參數設置

假設參數password的取值有四個值:“aaa”,“bbb”,“ccc”,“abcd”,其中"abcd"爲正確的密碼。
當輸入正確的密碼時和輸入錯誤的密碼時,程序走的路徑是不一樣的。爲了讓生成的測試腳本按照參數取值不同走不同的路徑,我們需要在路徑上設置約束條件:向上的路徑,密碼爲"abcd";向下的路徑,密碼爲"aaa",“bbb”,“ccc”。如圖7所示。

圖 7 密碼正確的路徑約束條件

同理可以設置密碼錯誤的路徑的約束條件。
這個簡單的模型就建立完成了。我們來看一下生成的測試用例。點擊“生成”按鈕。
軟件會彈出信息提示,我們選擇“相鄰路徑深度”爲2,“輸入組合配對數”也爲2。
點擊“確定”後,顯示了生成的測試路徑。如圖8所示。

圖 8 生成的測試用例

一共生成了兩條測試用例。第一條測試用例走的是包含了正確密碼的路徑,輸入的參數使用的是正確的密碼。將鼠標點擊到第二條用例上,會顯示第二條路徑。如圖9所示。

圖 9 生成的測試用例2

第二條測試用例走的是包含了錯誤密碼的路徑,輸入的參數使用的是錯誤的密碼。
點擊藍色的“運行”按鈕,可以顯示執行代碼。如果已經集成了自動化腳本運行平臺,則可以直接運行腳本。
執行代碼支持Lua、python、Javascript、C++、C#語言。
使用Python語言的執行代碼如下。

小結:
本文通過一個簡單的例子介紹了使用AutoTCG設計被測軟件模型,自動生成測試腳本的方法。下一期我們會使用更復雜的模型,介紹AutoTCG在路徑深度覆蓋和參數組合方面強大的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章