天天看點

邊做移動測試邊看“示波器”--ThreadingTest帶給你不一樣的測試體驗

一.移動黑盒測試的缺點:

随着移動裝置的地位不斷上升,移動裝置上的應用品質已經成為了各大企業最關注的問題,在過去幾年的移動測試中,移動測試基本是以黑盒的測試方法進行,用人數來點選出應用上的BUG,但是觀察以往PC黑盒測試的經驗,黑盒測試帶來的不足處也将展現出來。

黑盒測試的優缺點

(A)      能最直覺和直接地反映出所設計的軟體是否滿足需求;

(B)      即使沒有任何測試工具支援, 也能靠人工測試的方法完成;

其不足之處是:

(A)      這種測試方法難以找出某些特殊類型的錯誤。例如: 當對應于某組輸入該被測軟體并不提供任何輸出資訊時 – 可能隻是改變了某種工作狀态,如果其中的源代碼處理部分有錯誤, 就比較難找出來;

(B)      無法确定哪些測試用例有效或者無效 (所謂無效, 并不是說單獨使用某個測試用例時不能收到任何測試效果, 而是在于它和前面已經使用過的測試用例一起使用時, 毫無貢獻, 隻是重複了前面的測試用例已經完成的測試);

(C)      具有無可避免的盲目性: 當軟體被修改後,由于不知道哪些測試用例能測試到被直接修改過的子產品或者受修改過的子產品影響的子產品, 于是隻好将所有測試用例再從頭運作一遍, 而且是動态運作,非常費時費力。

二.Threading Test示波器展示的方式:

Threading Test(簡稱TT)是一款基于程式源代碼的白盒測試工具,其産品中的Android版更是能測試現今Android裝置上的各類應用和遊戲,TT和以往PC上的白盒測試工具不同,它率先引入了測試示波器的概念,在實際測試的過程中,測試員可以看到類似于心電圖的資料擷取模式。

下圖為運作植物大戰僵屍時,示波器實時擷取的資料圖。

邊做移動測試邊看“示波器”--ThreadingTest帶給你不一樣的測試體驗
邊做移動測試邊看“示波器”--ThreadingTest帶給你不一樣的測試體驗

可以看到在運作遊戲過程中,示波器會把遊戲運作的塊、條件、函數的數量以心電圖的形式顯示出來。

TT示波器新增的Console模式,讓測試人員在測試過程中顯示擷取的函數名稱(顯示前50條)。并可以按自己需求以3秒-1分鐘的自動重新整理或手動重新整理擷取函數的清單。

邊做移動測試邊看“示波器”--ThreadingTest帶給你不一樣的測試體驗

上圖中(1)為自動時間和手動重新整理條。

      (2)為擷取的函數所在類名、函數名、函數的參數。

三.示波器心電圖展示方式和Console模式帶來的優點:

(1)觀察程式是否正常運作,每個功能點的測試資料量是否正确,當示波器出現一根橫線時,說明程式停止運作或者出現異常崩潰。

(2)當示波器心電圖出現很高的波峰時,說明程式在高頻率運作(如:我們激烈的搖晃着跑步機這款應用時)如出現很低的波谷時,說明程式在低速運作,或者有可能潛在的并發性問題以及瓶頸,這有利于測試人員通過示波器的跳動來觀察程式的整體運作狀況,而不是以前黑盒測試那樣,隻能憑借測試人員的經驗來分析。

(3)在console中能看到最近的函數運作堆棧,當程式死鎖或者崩潰時,可以顯示奔潰前50個函數資訊,記錄詳盡錯誤現場,這有利于抓住很難複現的程式錯誤的執行場景,大大縮短了測試人員和開發人員排查這些錯誤的時間。

(4)當測試同一個用例時,測試人員可以通過示波器的跳動規律進行檢視,保證跳動規律精确一緻,當出現不同時,測試人員可以通過Console進行快速的定位以便排查。

 (5)應用性能的檢視,通常被測程式運作的硬體環境配置越高,示波器顯示的圖形所處區域也更高,這有利于測試人員在多環境中測試時,分析程式的相容性。

三.大型網站抓取資料展示:

下圖為大型網站Liferay的測試示波器圖,我們可以看到在測試這種大型網站的過程中,示波器的引入,能讓我們更加的了解該網站的函數資訊,使以前的黑盒子測試(僅能看到功能的回報無法看到程式内部的回報)進行更加透明化的分析和檢視。

邊做移動測試邊看“示波器”--ThreadingTest帶給你不一樣的測試體驗