A. android性能測試需要哪些技術
Monkey 就是SDK中附帶的一個工具,該工具用於進行壓力測試。 然後開發人員結合monkey 列印的日誌 和系統列印的日誌,結局測試中出現的問題。
Monkey 測試,所有的事件都是隨機產生的,不帶任何人的主觀性。
1.標準的monkey 命令
[adb shell] monkey [options] <eventcount> , 例如:
adb shell monkey -v 500 產生500次隨機事件,作用在系統中所有activity(其實也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。
上面只是一個簡單的例子,實際情況中通常會有很多的options 選項。
2:常用選項
--help:列印幫助信息
-v:指定列印信息的詳細級別,一個 -v增加一個級別 , 默認級別為 0 。
3.事件選項
-s:指定產生隨機事件種子值,相同的種子值產生相同的事件序列。如: -s 200
--throttle:每個事件結束後的間隔時間——降低系統的壓力(如不指定,系統會盡快的發送事件序列)。如:--throttle 100
--pct-touch:指定觸摸事件的百分比,如:--pct-touch 5% , 相關的還有以下option:
--pct-motion <percent> (滑動事件)、 --pct-trackball <percent> (軌跡球事件) 、 --pct-nav <percent> (導航事件 up/down/left/right)、 --pct-majornav <percent> (主要導航事件 back key 、 menu key)、 --pct-syskeys <percent> (系統按鍵事件 Home 、Back 、startCall 、 endCall 、 volumeControl)、 --pct-appswitch <percent> (activity之間的切換)、 --pct-anyevent <percent>(任意事件)。
4.約束選項
-p:指定有效的package(如不指定,則對系統中所有package有效),一個-p 對應一個有效package, 如:-p com.ckt -p com.ckt.asura;
-c:activity必須至少包含一個指定的category,才能被啟動,否則啟動不了。
5.調試選項
--dbg-no-events:初始化啟動的activity,但是不產生任何事件。
--hprof:指定該項後在事件序列發送前後會立即生成分析報告 —— 一般建議指定該項。
--ignore-crashes:忽略崩潰
--ignore-timeouts:忽略超時
--ignore-security-exceptions:忽略安全異常
--kill-process-after-error:發生錯誤後直接殺掉進程
--monitor-native-crashes:跟蹤本地方法的崩潰問題
--wait-dbg:知道連接了調試器才執行monkey測試。
6.一個簡單的monkey命令:
adb shell monkey -p com.xy.android.junit -s 500 -v 10000
表示產生時間序列的種子值:500, 產生 10000個事件 。
B. 怎麼樣進行Android應用的性能分析
對於手機應用性能可以從兩方面關注:
1.app產品做好之後必須從每個控制項在國內不同的手機品牌和不同系統版本進行兼容性測試,業內也叫遍歷測試,所謂的遍歷測試是可以移動識別應用的控制項從而進行多層次的運行測試,當中包含了安裝測試,啟動測試,控制項遍歷測試,最後是卸載測試!
2.兼容性測試,也就是適配測試完成之後需要開始對網路性能進行測試,這里大概有幾個方面需要進行的:網路性能測試,元素載入性能測試,網路可用性測試等等!
國內現有的測試周期和測試手段都是通過人工化測試,真正實現自動化又節省時間與人力的只有藉助第三方應用性能管理提供商才可以實現!
C. 如何使用android studio 性能測試
1
運行已安裝的android studio應用
2
選擇android monitor,連接設備並打開USB調試
3
選擇需要測試的應用進程,並操作,這樣在android monitor中就會顯示相應的數據。
D. 如何使用android studio初步測試性能
1、build.gradle里,dependencies下增加 androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1』。如果缺少這個配置,則在測試代碼里將無法用到robotium的包。
2、我們項目的代碼結構是老式的,所以需要重新設置test的地址,即在android.sourceSets下新增 androidTest.setRoot('tests』)。可以取tests外的其他名字,然後在跟build.gradle同級的地方建立這個文件夾,沒有更多額外設置的話,測試代碼的放置需要按照新式結構,即tests\java下。如果沒有正確配置,則這個測試代碼將不可見。
除了代碼改動外,如果要在Android Studio裡面跑,則還需要額外配置:
菜單Run -> Edit Configuration,在Android Tests下新增條目,然後正確配置,就可以了:選擇哪個Mole,選擇測試的范圍(Mole或Package等),選擇Target Device。
這個是配置的東西,沒有辦法提交到Git。
下面是個簡單的例子,我們的app在測試的環境下會先彈出一個選環境的AlertDialog,所以需要clickOnText:
/**
* Created by Samuel Cai on 5/20/14.
*/
public class MainActivityTest extends {
private Solo solo;
public MainActivityTest() {
super(LogoActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation(), getActivity());
}
public void testNavigateToHomeScreen() throws Exception {
//choose environment
solo.waitForDialogToOpen();
solo.clickOnText("qa");
solo.clickOnButton("OK");
//assert home screen finished loading.
assertTrue(solo.waitForText("Diapering"));
}
}
E. 如何對Android手機 進行 多媒體性能測試 呢
所謂的多媒體就是指圖片,聲音和視頻對么?
買手機前准備幾張顏色比較鮮艷,分辯率比較高的圖片,放在手機上看效果,注意看手機屏幕顯示的色塊多不多,色塊太多的話證明屏幕的可顯示顏色較低.再就是分辯率,現在的手機都會給出很具體的參數,其實直接看參數就可以了,不用這么糾結的.如果還是不放心的話,檢查手機時就把仔細地檢查屏幕,看顯示的顆粒感強不強,一般400*800以上的分辯率肉眼已經很難看出顆粒感了.
檢查聲音的道理跟上面差不多,准備一兩首音質比較高的mp3或者其他格式的音頻,在手機上播放,包括耳機和外放.
視頻也如上,不再碼字.
如果信不過自己的眼睛的話還可以用Aurora Softworks和Quadrant這兩個軟體進行直觀的測試.跑完後直接看分數就OK了
F. 做android應用的性能測試有什麼指標參考嗎
主要監測:不同網路下啟動及業務的響應速度,不同時間段各種資源CPU,內存,電量,流量佔用情況,及連接超時、連接失敗等移動應用聯網性能問題
G. android性能測試工具有哪些
大概有如下幾個工具:
android針對上面這些會影響到應用性能的情況提供了一些列的工具:
1 布局復雜度:
hierarchyviewer:檢測布局復雜度,各視圖的布局耗時情況:
Android開發者模式—GPU過渡繪制:
2 耗電量:Android開發者模式中的電量統計;
3 內存:
應用運行時內存使用情況查看:Android Studio—Memory/CPU/GPU;
內存泄露檢測工具:DDMS—MAT;
4 網路:Android Studio—NetWork;
5 程序執行效率:
靜態代碼檢查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用於檢測代碼中潛在的問題、存在效率問題的代碼段並提供改善方案;
DDMS—TraceView,用於查找程序運行時具體耗時在哪;
StrictMode:用於查找程序運行時具體耗時在哪,需要集成到代碼中;
Andorid開發者模式—GPU呈現模式分析。
6 程序穩定性:monkey,通過monkey對程序在提交測試前做自測,可以檢測出明顯的導致程序不穩定的問題,執行monkey只需要一行命令,提交測試前跑一次可以避免應用剛提交就被打回的問題。
說明:
上面提到的這些工具可以進Android開發者官網性能工具介紹查看每個工具的介紹和使用說明;
Android開發者選項中有很多測試應用性能的工具,對應用性能的檢測非常有幫助,具體可以查看:All about your phone's developer options和15個必知的Android開發者選項對Android開發者選項中每一項的介紹;
針對Android應用性能的優化,Google官方提供了一系列的性能優化視頻教程,對應用性能優化具有非常好的指導作用,具體可以查看:優酷Google Developers或者Android Performance Patterns。
二 第三方性能優化工具介紹
除了android官方提供的一系列性能檢測工具,還有很多優秀的第三方性能檢測工具使用起來更方便,比如對內存泄露的檢測,使用leakcanry比MAT更人性化,能夠快速查到具體是哪存在內存泄露。
leakcanary:square/leakcanary · GitHub,通過集成到程序中的方式,在程序運行時檢測應用中存在的內存泄露,並在頁面中顯示,在應用中集成leancanry後,程序運行時會存在卡頓的情況,這個是正常的,因為leancanry就是通過gc操作來檢測內存泄露的,gc會知道應用卡頓,說明文檔:LeakCanary 中文使用說明、LeakCanary: 讓內存泄露無所遁形。
GT:GT Home,GT是騰訊開發的一款APP的隨身調測平台,利用GT,可以對CPU、內存、流量、點亮、幀率/流暢度進行測試,還可以查看開發日誌、crash日誌、抓取網路數據包、APP內部參數調試、真機代碼耗時統計等等,需要說明的是,應用需要集成GT的sdk後,GT這個apk才能在應用運行時對各個性能進行檢測。
H. 如何測試安卓手機的流暢性
測試方法一:系統自帶-開發者模式
實際上,為了方便開發者測試,安卓本身就內置了流暢度檢測的功能。不過,這需要我們開啟隱藏的開發者選項。如果你在用原生系統,那麼開啟開發者選項的方法很簡單,進入到設置菜單「關於手機」頁面,點擊數次「版本號」,即可開啟開發者選項。如果用的是其他ROM,方法也許有所不同,比如說魅族的Flyme開啟開發者選項的方法是在撥號界面輸入「*#*#6961#*#*」,其他機器方法也各有不同,大家可以參照廠商的說明。
進入到開發者選項,可以看到有「GPU呈現模式分析」的選項,開啟後即可以條形圖和線形圖的方法顯示系統的界面響應速度,可以用以觀察系統流暢度。那麼要如何根據曲線判斷系統是否流暢呢?實際上這個曲線表達的是GPU繪制每一幀界面的時間,只要不超過頂部綠線,都可以視為足夠流暢。
開啟GPU呈現模式分析
FPS Meter可以顯示最大最小幀數以及平均幀數
FPS Meter可以測試界面幀數,不過某些手機如果界面靜止,幀數會為0。FPS Meter除了測量系統界面幀數外,還可以用來測量游戲的幀數,所以用FPS Meter來測試某部安卓機游戲性能多強也是個很好的選擇。
當然,FPS Meter也並非十全十美。由於屬於第三方App,所以可能會有一些兼容性問題。某些安卓機或者ROM使用FPS Meter可能會不兼容,即使成功開啟了幀數顯示也沒法測量到准確數值,而某些設備使用FPS Meter甚至會死機。不過在大多數情況下,這款App還是相當值得信任的。
安卓在多個版本中都通過新技術提升了流暢度,比如說安卓2.3引入Dalvik、安卓4.0引入GPU界面繪制、安卓4.1引入黃油計劃、安卓4.3引入Trim以及安卓4.4引入ART等等。
H5頁面載入速度:window.performance.timing
Android以上測試方法不適用h5頁面
如何分析頁面整體載入速度:
主要是查看指標值PAGET_頁面載入時間,此指標指的是頁面整體載入時間但不含(onload事件和redirect), 此指標值可直接反應用戶體驗, 從此項指標可以知道指定某時間段的頁面載入速度值,以及和天,周,月的對比狀況.也可以查詢指標ALLT_頁面完全載入時間, 可以查詢到從瀏覽器開始導航(用戶點擊鏈接或在地址欄輸入url或點刷新,後退按鈕)到頁面onload 事件js完全跑完的所有時間.如果發現頁面載入速度有增加或減少,則可以分項查詢前面表格中的每個指標值,總的來說他們的關系如下:
dom開始載入前所有花費時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間
pageLoadTime頁面載入時間=域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+載入dom花費時間
allLoadTime頁面完全載入時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+載入dom花費時間+執行onload事件花費時間
resourcesLoadedTime資源載入時間=解析dom花費時間+載入dom花費時間
流暢度暫時沒有發現好用的測試衡量工具,開發層面了解,主要是根據log分析
I. 如何測試安卓(Android)系統的流暢度
測試方法一:系統自帶-開發者模式
實際上,為了方便開發者測試,安卓本身就內置了流暢度檢測的功能。不過,這需要我們開啟隱藏的開發者選項。如果你在用原生系統,那麼開啟開發者選項的方法很簡單,進入到設置菜單「關於手機」頁面,點擊數次「版本號」,即可開啟開發者選項。如果用的是其他ROM,方法也許有所不同,比如說魅族的Flyme開啟開發者選項的方法是在撥號界面輸入「*#*#6961#*#*」,其他機器方法也各有不同,大家可以參照廠商的說明。
進入到開發者選項,可以看到有「GPU呈現模式分析」的選項,開啟後即可以條形圖和線形圖的方法顯示系統的界面響應速度,可以用以觀察系統流暢度。那麼要如何根據曲線判斷系統是否流暢呢?實際上這個曲線表達的是GPU繪制每一幀界面的時間,只要不超過頂部綠線,都可以視為足夠流暢。
開啟GPU呈現模式分析
FPS Meter可以顯示最大最小幀數以及平均幀數
FPS Meter可以測試界面幀數,不過某些手機如果界面靜止,幀數會為0。FPS Meter除了測量系統界面幀數外,還可以用來測量游戲的幀數,所以用FPS Meter來測試某部安卓機游戲性能多強也是個很好的選擇。
當然,FPS Meter也並非十全十美。由於屬於第三方App,所以可能會有一些兼容性問題。某些安卓機或者ROM使用FPS Meter可能會不兼容,即使成功開啟了幀數顯示也沒法測量到准確數值,而某些設備使用FPS Meter甚至會死機。不過在大多數情況下,這款App還是相當值得信任的。
安卓在多個版本中都通過新技術提升了流暢度,比如說安卓2.3引入Dalvik、安卓4.0引入GPU界面繪制、安卓4.1引入黃油計劃、安卓4.3引入Trim以及安卓4.4引入ART等等。
H5頁面載入速度:window.performance.timing
Android以上測試方法不適用h5頁面
如何分析頁面整體載入速度:
主要是查看指標值PAGET_頁面載入時間,此指標指的是頁面整體載入時間但不含(onload事件和redirect), 此指標值可直接反應用戶體驗, 從此項指標可以知道指定某時間段的頁面載入速度值,以及和天,周,月的對比狀況.也可以查詢指標ALLT_頁面完全載入時間, 可以查詢到從瀏覽器開始導航(用戶點擊鏈接或在地址欄輸入url或點刷新,後退按鈕)到頁面onload 事件js完全跑完的所有時間.如果發現頁面載入速度有增加或減少,則可以分項查詢前面表格中的每個指標值,總的來說他們的關系如下:
dom開始載入前所有花費時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間
pageLoadTime頁面載入時間=域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+載入dom花費時間
allLoadTime頁面完全載入時間=重定向時間+域名解析時間+建立連接花費時間+請求花費時間+接收數據花費時間+解析dom花費時間+載入dom花費時間+執行onload事件花費時間
resourcesLoadedTime資源載入時間=解析dom花費時間+載入dom花費時間
流暢度暫時沒有發現好用的測試衡量工具,開發層面了解,主要是根據log分析
J. android app怎樣進行性能測試
eclipse軟體的DDMS模塊有專門的性能測試 包括線程分析 內存消耗情況等......