Android應用專項測試淺談
Android應用專項測試淺談
文章轉載自:https://testerhome.com/topics/2513
一、壓力測試Monkey
使用不同策略:
1.根據自己的策略(各操作比重不同)來制定指令碼,還可以二次開發,例如我之前修改的adb-for-test工程。
2.自動遍歷介面每一個Views,點選每一個控制元件,保證monkey可以在每一個Activity上面都可以執行到。
3.Monkey測試一般是app進入整合測試時就每天進行,保證0 crash、0 ANR。
二、CPU佔用百分比
使用adb shell top -n 1|findstr 包名$
第三列4%表示這個app所佔用的CPU
/system/build.prop檔案設定了一些Dalvik虛擬機器的配置。
通過進入shell使用者後,進入到system下,cat build.prop,看到這個機器的一些資訊:
1.dalvik.vm.heapstartsize(表示應用程式啟動後為其分配的初始堆記憶體大小8M)。這個值越大系統消耗RAM越快,應用程式開啟後反應越快。
2.Dalvik.vm.heapgrowthlimit(每個應用程式最大記憶體可分配到96M)
3.Dalvik.vm.heapsize(表示單個虛擬機器可分配的最大記憶體256M)
這個值越大系統消耗RAM則越快,程式執行會非常穩定。當記憶體佔用每次超過
使用adb shell procrank引數也可以檢視:
三、應用記憶體佔用
使用adb shell dumpsys meminfo 包名 來獲取記憶體實時佔用情況。
Heap Size:堆記憶體,Heap Alloc:堆分配 private dirty:實際上是由RAM允許你的app分配的。
Pss TOTAL表示是應用佔用的記憶體大小。
四、獲取當前電量
獲取電池充電狀態:adb shell dumpsys battery|findstr status
1:未知狀態 2:充電狀態 3:放電狀態 4:未充電
當前電量百分比:adb shell dumpsys battery|findstr level
五、流量資料獲取
1.首先需要根據應用包名(應用必須是執行狀態)獲取程序pid:
Adb shell ps|findstr 包名$
第二列表示程序pid,然後根據pid獲取使用者uid:
Adb shell cat /proc/pid號/status|findstr Uid
根據uid就可以得到接收和傳送的流量資訊:
Adb shell cat /proc/uid_stat/Uid號/tcp_rcv 獲取接收資料大小(KB)
Adb shell cat /proc/uid_stat/Uid號/tcp_snd 獲取傳送資料大小(KB)
六、記憶體洩漏
Hprof檔案分析:hprof檔案主要來源是ddms,使用MAT工具將hprof檔案進行轉義,測試及操作場景很重要,需要根據場景進行相應的操作。