Monkey的測試策略
一.? 分類
Monkey測試針對不同的對象和不同的目的采用不同的測試方案,首先測試的對象、目的及類型如下:
測試的類型分為:應用程序的穩定性測試和壓力測試
測試對象分為:單一apk和apk集合
測試的目的分為:解決問題的測試(忽略異常的測試)和驗收測試(不忽略異常的測試)
二. 應用程序的穩定性測試:
1. 針對單個apk
(1) 不忽略異常
在進行單個apk的驗收測試時,則使用單一apk且不忽略異常的命令執行。
例如:
monkey -p com.android.mms --throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &
(2) 忽略異常
在進行單個apk的解決問題的測試時,則使用單一apk且忽略異常的命令執行,這樣可以在一次執行的過程中發現應用程序中的多個問題。
例如:
monkey -p com.android.mms --throttle 1000 -s 100--ignore-crashes --ignore-timeouts --ignore-security-exceptions--ignore-native-carshes --monitor-native-crashes -v -v -v 15000 >/mnt/sdcard/monkey_test.txt &
2. 針對多個apk
(1) 不忽略異常
例如:
monkey --pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 -v -v -v 15000 > /mnt/sdcard/monkey_test.txt &
(2) 忽略異常
例如:
monkey --pkg-whitelist-file /data/whitelist.txt--throttle 1000 -s 100 --ignore-crashes --ignore-timeouts--ignore-security-exceptions --ignore-native-carshes --monitor-native-crashes-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &
三. 應用程序的壓力/健壯性測試
應用程序的壓力/健壯性測試,其主要是縮短monkey測試中事件與事件之間的延遲時間,驗證在快速的事件響應的過程中,程序是否能正常運行。這種壓力/健壯性測試主要是針對單一apk來執行;我們可以將--throttle的值設定為500或者更小,一般都使用500毫秒的延遲事件。
在進行apk的集合測試時,對于高頻率使用的apk、長時間使用的apk都要包含在執行的應用程序中間。
APK分類具體:
高頻率使用的apk如:Phone、Contacts、Message、Settings、File Manager、Gallery、Input Method
長時間使用的apk如:Phone、Browser、Music player、Camera、Video player、Email、Chat
其他的apk如:Calendar、Notepad、Calculator、FM Radio、Google Search