Android測試工具ThreadingTest開放API接口說明

   

ThreadingTest(簡稱TT)第一期是一款Android白盒測試工具,使用離線檢測的方式,在保護用戶源代碼的基礎上,運用插裝、第五代覆蓋率等技術,爲開發工程師與測試工程師提供一套高效可量化、可視化的交流工具。對比其它測試工具,TT在自動化測試時,會對應測試用例自動生成測試用例和代碼之間的關係以及函數覆蓋率,並且以TT自帶的雙向追溯圖進行展示,在整個自動化測試進行過程中,TT還會以示波器界面可視化的監控整個自動化測試中每時每刻獲取的測試數據。


 基於其它測試工具測試時,TT還開放了API接口進行整合,使原本的自動化操作不用進行任何的改變,通過TT的API接口連接,TT示波器獲取其它測試工具的測試數據,並生成會對應測試用例自動生成測試用例和代碼之間的關係以及函數覆蓋率。目前開放的Java語言的API,直接使用Java語言作爲腳本預言的單元測試工具,自動化測試工具都可以通過該接口與TT進行整合。這樣就可以實現在運行測試用例的同時,在TT中記錄用例所對應的代碼執行邏輯信息。

 

演示:測試場景說明:

當使用其它測試工具進行自動化測試時,如果在測試過程中出現無法干預或正在進行的自動化測試過程時,需要對測試過程進行測試用例的區分,例如登錄和退出,在運行一次自動化測試時,同時執行了這兩個測試用例,就可以在程序中,添加這兩個測試用例的開始和結束點,從而達到區分兩個測試用例的目的。這樣就可以通過TT來實現測試用例與源代碼的關係的自動建立,例如本例子中將建立登陸操作對應的代碼以及退出動作所對應的代碼。

 



測試步驟:

以登錄退出爲例,若存在以下代碼結構:

 

classHomePage {

public void login(){

… // 登錄的相關操作

}

 

public void logout(){

    … // 退出的相關操作

}

}

1、將JavaParser-Android.jar包引入到工程中;

2、import com.zoa.writeToMQ.UnitTest;

3、添加開始結束標識。

在login函數的開始添加登錄測試用例開始的標記,在函數結束前添加登錄測試用例結束的標識;同樣,在logout函數的開始和結束也可以添加相應的標識。添加後的代碼爲:


import com.zoa.writeToMQ.UnitTest;

 

classHomePage {

public void login(){

UnitTest testLogin = new UnitTest(“HomePage/login”);

… // 登錄的相關操作

testLogin.close();

}

 

public void logout(){

UnitTest testLogout = new UnitTest(“HomePage/logout”);

    … // 退出的相關操作

testLogout.close();

}

}

4、使用TT對程序進行插樁並測試,詳見:http://www.threadingtest.com/xwiki/bin/view/ZOA%7C4.演示/Android+程序測試配置

 

手動使用TT測試基本原理:

爲了讓讀者理解TT的接口調用,我們這裏說明下在手動模式下TT是如何錄製用例的代碼執行邏輯與覆蓋率信息的。


在TT中,區別測試用例是通過使用不同的測試用例Id進行劃分的。在測試的開始添加測試開始標識並在結束添加結束標識,其目的爲,開始標識會通過一個網絡連接或USB連接,通過一個字符串從TT獲取一個測試用例Id,然後通過先前TT對源代碼的插樁,被測程序內部會不斷地向TT示波器發送數據,並且會在消息中使用從TT獲取到的測試用例Id,從而做到區分測試用例。


當調用發送結束標識後,發送的消息將會使用默認的測試用例Id,TT接收到後,會將收到的數據存儲到默認勾選的測試用例中,從而不會與之前的測試用例混合。

例如在進行一個單元測試時,每一個單元測試對應一個測試用例,從而生成多個測試用例,過程如下:


1、打開TT實時監控示波器界面,勾選一個測試用例。



2、點擊開始,然後運行測試。


運行時,數據波形圖顯示接收到的被測程序發送的數據。


3、測試結束後,點擊停止,刷新測試用例樹,即可出現劃分的測試用例。




1、單元測試開始標記

com.zoa.writeToMQ.UnitTest.UnitTest(String unitName)

 

publicUnitTest(String unitName)

 

當調用這個構造函數時,即標誌着一個單元測試的開始。創建一個新的單元測試的測試用例。

此函數會發送一個unitName到TT,由TT根據名稱創建一個測試用例和測試類型。通信過程爲一個阻塞過程,只有當通信結束或發生嚴重錯,函數纔會返回。

進行單元測試時,必須在TT端選中一個測試用例,生成的單元測試用例組會首先生成一個與選中的測試用例同名的測試類型,然後根據unitName生成的測試用例和測試類型都生成到該測試類型下。

參數:

unitName–測試用例名稱,名稱以“/”進行分割,最後一部分爲測試用例名,前面部分爲測試類型路徑,如“ThreadingTest/Android/Unittest”其生成的測試用例結構爲:

     — ThreadingTest                   測試類型

|— Android                      測試類型

|—Unittest測試用例

 

2、單元測試結束標記

voidcom.zoa.writeToMQ.UnitTest.close() throws IOException

 

public void close() throws IOException

 

結束單元測試,一個單元測試只能調用一次該函數。

參數:

 

返回值:

 


ThreadingTest官網:www.threadingtest.com

對移動端白盒測試技術或者性能測試感興趣,請加入羣符號執行  339834199

 

ThreadingTest官網:www.threadingtest.com

對移動端白盒測試技術或者性能測試感興趣,請加入羣符號執行  339834199


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