monkey測試結果分析


Monkey測試結果分析
一. 初步分析方法:

Monkey測試出現錯誤后,一般的差錯步驟為以下幾步:

1、 找到是monkey里面的哪個地方出錯

2、 查看Monkey里面出錯前的一些事件動作,並手動執行該動作

3、 若以上步驟還不能找出,可以使用之前執行的monkey命令再執行一遍,注意seed值要一樣

一般的測試結果分析:

1、 ANR問題:在日志中搜索“ANR”

2、 崩潰問題:在日志中搜索“Exception”

二. 詳細分析monkey日志:

將執行Monkey生成的log,從手機中導出並打開查看該log;在log的最開始都會顯示Monkey執行的seed值、執行次數和測試的包名。

1.首先我們需要查看Monkey測試中是否出現了ANR或者異常,具體方法如上述。

2.然后我們要分析log中的具體信息,方法如下:

①查看log中第一個Switch,主要是查看Monkey執行的是那一個Activity,譬如下面的log中,執行的是com.tencent.smtt.SplashActivity,在下一個swtich之間的,如果出現了崩潰或其他異常,可以在該Activity中查找問題的所在。

:Switch:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.tencent.smtt/.SplashActivity;end

// Allowing start of Intent {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=com.tencent.smtt/.SplashActivity } in package com.tencent.smtt

②在下面的log中,Sending Pointer ACTION_DOWN和Sending Pointer ACTION_UP代表當前執行了一個單擊的操作;

Sleeping for 500 milliseconds這句log是執行Monkey測試時,throttle設定的間隔時間,每出現一次,就代表一個事件。

SendKey(ACTION_DOWN) //KEYCODE_DPAD_DOWN 代表當前執行了一個點擊下導航鍵的操作;

Sending Pointer ACTION_MOVE 代表當前執行了一個滑動界面的操作。

:Sending Pointer ACTION_DOWN x=47.0 y=438.0

:Sending Pointer ACTION_UP x=47.0 y=438.0

Sleeping for 500 milliseconds

:SendKey (ACTION_DOWN): 20 //KEYCODE_DPAD_DOWN

:SendKey (ACTION_UP): 20 //KEYCODE_DPAD_DOWN

Sleeping for 500 milliseconds

:Sending Pointer ACTION_MOVE x=-2.0 y=3.0

:Sending Pointer ACTION_MOVE x=4.0 y=-3.0

:Sending Pointer ACTION_MOVE x=-5.0 y=-3.0

:Sending Pointer ACTION_MOVE x=3.0 y=4.0

:Sending Pointer ACTION_MOVE x=-4.0 y=1.0

:Sending Pointer ACTION_MOVE x=-1.0 y=-1.0

:Sending Pointer ACTION_MOVE x=-2.0 y=-4.0

③如果Monkey測試順利執行完成,在log的最后,會打印出當前執行事件的次數和所花費的時間;// Monkey finished代表執行完成。Monkey執行中斷,在log的最后也能查看到當前已執行的次數。Monkey執行完成的log具體如下:

Events injected: 6000

:Dropped: keys=0 pointers=9 trackballs=0 flips=0

## Network stats: elapsed time=808384ms (0ms mobile, 808384ms wifi, 0msnot connected)

// Monkey finished
三、關於Monkey測試的停止條件

Monkey Test執行過程中在下列三種情況下會自動停止:

1、如果限定了Monkey運行在一個或幾個特定的包上,那么它會監測試圖轉到其它包的操作,並對其進行阻止。

2、如果應用程序崩潰或接收到任何失控異常,Monkey將停止並報錯。

3、如果應用程序產生了應用程序不響應(application not responding)的錯誤,Monkey將會停止並報錯。

通過多次並且不同設定下的Monkey測試才算它是一個穩定性足夠的程序

 


? info.txt:此文件在手機上的SDCARD中,主要記錄了MONKEY測試時發送的各種事件,如觸摸事件的位置等等。

 

? error.txt:此文件在手機上的SDCARD中,主要記錄了MONKEY測試時產生的一些ANR、強制關閉等異常。

 

? LOG文件:此文件在手機上的LOG文件夾中中,主要主要記錄程序對MONKEY測試時的響應情況。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM