您好,登錄后才能下訂單哦!
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。