APP专项测试方法有哪些?
APP專項測試:
系統(tǒng):安卓、蘋果(Android IOS)
1、應(yīng)用性能測試(CPU 內(nèi)存 電量 流量 溫度)
1)CPU:空閑 中等消耗 高消耗,檢測cpu的運行情況
adb shell
dumpsys cpuinfo |grep packagename
-t 顯示進程名稱,-s 按指定行排序,-n 在退出前刷新幾次,-d 刷新間隔,-m 顯示最大數(shù)量
top -m 5 -s cpu
2)內(nèi)存
adb shell
dumpsys meminfo packagename | pid
最大堆內(nèi)存大小
getprop |grep dalvik.vm.heapgrowthlimit
AndroidManifest.xml
android:largeHeap="true"
android:debuggable="true"
procrank命令
adb shell
procrank
3)電量
方式1:使用手機上自帶電量監(jiān)測工具 手機助手 gsam battery monitor gt工具
方式2:使用硬件,講電量表串在電源和手機之間,需取出下手機電池
方式3:需要在安卓5.0以上系統(tǒng)
adb shell
初始化電量統(tǒng)計數(shù)據(jù)
dumpsys batterystats --reset
獲取整個設(shè)備的電量數(shù)據(jù)
dumpsys batterystats >/storage/sdcard/Download/battery_001.txt
獲取指定APP應(yīng)用的電量數(shù)據(jù)
dumpsys batterystats com.android.browser >/storage/sdcard/Download/battery_browser_001.txt
使用python工具轉(zhuǎn)換成html文檔
python historian.py battery_browser_001.txt battery_browser_001.html
4)流量
靜默:不操作APP時的流量
動態(tài)操作:操作APP時的流量
與競品分析、版本對比
方式1:
adb shell
cat /proc/net/進程名/stats |grep uid
方式2:
cat /proc/uid_stat/uid/tcp_snd
cat /proc/uid_stat/uid/tcp_rcv
方式3:
cat /proc/pid/net/dev
方式4:
tcpdump+wireshark
adb push tcpdump包 /data/local/tcpdump
adb shell chmod 6755 /data/local/tcpdump
cd /data/local
tcpdump -s 0 -w /sdcard/Download/tcpdump.pcap -v
adb pull /sdcard/Download/tcpdump.pcap d:\
用wireshark工具打開pcap文件,并進行分析
方式5:
TrafficStats類
減少流量的方式:
在不同網(wǎng)絡(luò)狀態(tài)下加載不同類型的圖片
使用json格式傳輸數(shù)據(jù)
進行數(shù)據(jù)的壓縮
使用懶加載
使用緩存
2、APP啟動、加載時間(冷啟動 熱啟動)
冷啟動:首次安裝應(yīng)用啟動后的測試
熱啟動:已經(jīng)安裝應(yīng)用,并使用多次后,啟用應(yīng)用的測試
方式1:
高速相機 3秒表 云測平臺
方式2:
adb shell
am start -W -n 包名/Activity名 關(guān)注ThisTime項,本次APP啟用所花費的時間,單位毫秒
am start -W -n com.android.browser/.BrowserActivity
logcat >d:\time.txt
findstr "Displayed" d:\time.txt >d:\time1.txt
findstr "包名" d:\time1.txt >d:\result.txt
3、頁面渲染(gpu fps)
屏幕上的像素在同一幀時間內(nèi)被繪制了多次
藍1X、淡綠2X、淡紅3X、深紅4X
開始GPU:開發(fā)者選項->顯示/GPU過度繪制
4、手機卡頓(TraceView)
方法1:DDMS工具
采集程序的方法的執(zhí)行耗時、調(diào)用關(guān)系、調(diào)用次數(shù)、資源占用情況
選擇某個被測應(yīng)用,點擊Start Method Profiling,紅點變成黑點,處于信息采集狀態(tài);
在TraceView界面中,分為時間線界面、分析界面;
消耗CPU的情況:關(guān)注Cpu Time/Call列中,消耗時間最大的函數(shù)
調(diào)用次數(shù)的情況:關(guān)注Call+Recur Calls/Total,調(diào)用次數(shù)最大、CPU耗時最大的函數(shù)
方法2:埋點
在代碼中埋點,之后操作應(yīng)用,生成trace文件,使用monitor工具進行分析
在AndroidManifest.xml文件配置sd卡讀寫權(quán)限
<user-permission android:name="android.permission.WRITE_EXTERAL_STORAGE"/>
<user-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
埋點開始:
onCreate Debug.StartMethodTracing("/storage/sdcard/xxx.trace");
埋點結(jié)束:
onStop或onPause或onDestory Debug.StopMethodTracing();
5、內(nèi)存泄漏 抖動(根據(jù)場景收集應(yīng)用消耗手機內(nèi)存、需收集3次的內(nèi)存數(shù)據(jù))
測試的情況:虛擬機、聯(lián)機
虛擬機測試:
android list avd
emulator @avdname
ddms
聯(lián)機測試:
在手機中安裝Android驅(qū)動
手機設(shè)置成USB調(diào)試模式
應(yīng)用配置文件設(shè)置
AndroidManifest.xml android:debuggable="true"
在ddms中,點擊某個進程,點擊show heap updates,再點擊GC按鈕,多次操作后觀察 data object中的Total Size大小變化趨勢,如果發(fā)現(xiàn)內(nèi)存泄漏,則需dump文件
Dump HPROF file按鈕進行dump操作;
利用hprof-conv 轉(zhuǎn)換成hprof文件。再導入到mat工具中進行分析。
6、弱網(wǎng)測試
Network Emulator Toolkit工具
關(guān)注:卡死 崩潰 無響應(yīng) 閃退 業(yè)務(wù)交互數(shù)據(jù)的正確性
7、代碼靜態(tài)掃描
使用lint工具(ADT工具自帶,分析出代碼結(jié)構(gòu)上的問題,可自定義檢查的規(guī)則)
lint --list
lint --show
findbugs 可發(fā)現(xiàn)java代碼層面的問題
轉(zhuǎn)載于:https://www.cnblogs.com/Andy520/p/6651134.html
總結(jié)
以上是生活随笔為你收集整理的APP专项测试方法有哪些?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL语句中各个部分的执行顺序(转)
- 下一篇: 【转】Android 获取本机号码(收集