Android性能測試用例

Android性能測試

1 概要

本測試主要用於測試Android硬件機器人的Android系統性能,主要關注於系統穩定性,測試內容包括硬件驅動(功放、MIC、LED、按鍵、WIFI)穩定性、應用穩定性(雲知聲和平安APK系統的CPU和內存使用率)。

2輔助工具

2.1工具簡介

科大訊飛 ITEST是一款Android應用與底層Linux進程性能監控的神器。目前已經在各類APP產品測試中廣泛使用,相比其它的監控軟件,iTest功能強大,運行穩定,消耗資源少。可以長時間同時監控單個或者多個應用及Linux進程的CPU、內存、電量、流量、FPS與CPU溫度等性能指標,自身佔用系統性能峯值不超過5%。同時iTest具有獨特的命令行模式,便於用戶在車機、機頂盒、機器人等有界面或無界面智能設備上進行應用以及服務進程的性能評測。

2.2 工具使用方法

1.Monkey插件

根據config\task.xml配置項中的指令自動運行monkey,拉起被測試的app,支持中斷恢復和定時停止。具體配置如圖所示:
這裏寫圖片描述

2.iTestMini插件

自動安裝運行iTestMini,配置(包括上傳ThreadFilter.txt文件),通過iTestMini自動收集數據上傳至PC端下固定的目錄; 並且上傳至iTest Server端。具體配置如圖所示:
這裏寫圖片描述
Monkey插件配置:
Time_Minute :monkey運行時間,單位爲分鐘。設置爲0時,直接收集數據,然後停止。
NoMonkey: monkey是否需要關閉monkey功能,設置爲true, 表示不運行monkey,false則運行。
MonkeyCommand:monkey命令,請確認該命令在adb shell中能正常運行。
iTestMini插件配置
interval:iTestMini的監控間隔,單位爲秒,默認爲1秒。如果設備性能較差, 建議設置爲3秒。
Pkg:TestMini監控的apk的包名,如果要監控多個apk,用英文逗號隔開。

3測試內容

3.1開機時間:

測試目的
Android硬件系統啓動時間過長嚴重影響着產品使用體驗。因此開機時間必須限定一定範內。
測試方法:
測試從上電到Android硬件播報系統啓動已完成所需要的時間,因爲我們平安好醫生不存在顯示屏。所以無法直觀通過屏幕查看好醫生開機時間。我們可以使用adb 命令獲取系統日誌,間接的獲取系統啓動時間
LOG獲取方式:
logcat -d -b events | grep “boot_progress_enable_screen” > start_time.log
獲取系統開機時間

3.2 Wifi

測試目的:
WIFI是Android硬件和後臺進行數據交互的唯一通道。將識別語音發送給後臺解析,接收後臺解析後的文字 然後好醫生播放。所以Android系統啓動後要儘快連接上WIFI網絡
測試方法:
找多個不同品牌的路由器、手機熱點、企業級路由器等。測試Android硬件連接速度。
編寫一個service監控Android硬件系統完成後的網絡連接並記錄連接需要時間。通過
Adb 命令:adb reboot 多次重啓計算連接的平均時間
日誌獲取:
若連接失敗,則通過adb logcat > wifi.log獲取相關信息

3.3 LED燈光

測試目的:
LED燈光控制驅動是由泰寶丰自己完成的。不是Android標準系統框架。使用過程中有可能出現系統崩潰問題。測試燈光頻繁或者長時間使用LED驅動穩定性
測試方法:
通過 echo 0xAABB /sys/class/tybofone/tbf_api/val 狀態燈紅綠藍三色顏色變化
0XAABB解釋:前兩位AA代表顏色 後兩位BB代表亮度
AA 顏色
a2 紅色
a3 綠色
a2 藍色
亮度值位 00 ~ff 值越大亮度越大
通過編寫腳本循環控制LED狀態燈三者顏色轉換、亮度不斷變化。測試當前驅動的穩定性。同時通過ITEST監控LED驅動日誌。一旦崩潰可以通過ITEST獲取
LOG獲取方式:
LED驅動崩潰後相關日誌保存在ITEST的PC端目錄DATA/Moonlight /tombstone

3.4 按鍵穩定性

測試目的:
按鍵控制驅動是由泰寶峯自己完成的。不是Android標準系統框架。使用過程中有可能出現系統崩潰問題。測試按鍵頻繁或者長時間使用按鍵驅動穩定性。
測試方法:
通過 adb shell getevent獲取當前系統的按鍵觸發事件。實時獲取觸摸的按鍵與系統獲取按鍵值對比。同時通過ITEST監控按鍵驅動日誌。一旦崩潰可以通過ITEST獲取。
LOG日誌獲取:
按鍵驅動崩潰後相關日誌保存在ITEST的PC端目錄DATA/Moonlight /tombstone

3.5 SPEAKER

測試目的:
測試長時間播放,Android硬件的功放的系統穩定性
測試方法:
使用tinyplay /sdcard/xx.wav -D 1 播放sdcard中存在的音樂列表。
同時通過ITEST監控SPEAKER驅動日誌。一旦崩潰可以通過ITEST獲取。
LOG日誌獲取:
按鍵驅動崩潰後相關日誌保存在ITEST的PC端目錄DATA/Moonlight /tombstone

3.6 MIC

測試目的:
雲知聲爲了改變MIC識別精確。修改了Android標準的MIC錄音框架。添加了自己優化的4MIC算法。爲了保證Android硬件長時間工作MIC的穩定性。必須進行MIC錄音功能的壓力測試。
測試方法:
使用雲知聲提供的uni_4mic_test -cap /data/file.pcm -t 15 長時間錄音。
同時通過ITEST監控MIC驅動日誌。一旦崩潰可以通過ITEST獲取。
LOG日誌獲取:
按鍵驅動崩潰後相關日誌保存在ITEST的PC端目錄DATA/Moonlight /tombstone

3.7 OTA

測試目的:
測試當前系統升級的穩定性,在Android系統OTA升級過程中經常會出現升級失敗,導致系統變磚。所以量產前必須嚴格測試系統OTA升級功能,提前發現OTA升級出現bug。
通過編寫系統service或者腳本對系統OTA進行測試。
測試方法:
1、修改recovery模式默認升級包地址爲/sdcard/ota/rom/zip,
2、同時PC端 adb push rom.zip /sdcard/ota/rom/zip
3、adb reboot recovery
LOG日誌獲取:
Android硬件自動進入升級模式。如果失敗 會有相關log保存到 cache/recovery.log

3.8 CPU使用率

測試目的:
監控Android硬件正常問診工作中 當前CPU總使用率和雲知聲SDK和平安APK的CPU使用率,CPU使用過高會導致Android系統很卡頓,機器發熱嚴重。嚴重影響用戶體驗。
測試方法:
通過配置ITEST的PC端的config/task.xml 文件可以監控Android硬件系統中的雲知聲SDK和平安APK的應用CPU使用率 系統總CPU使用率,同時可以設置系統CPU報警閾值和應用報警閾值。
相關配置如下所示:
這裏寫圖片描述
LOG日誌保存:
平安系統正常運行時相關CPU使用率保存在DATA/Moonlight/iTestMini中。
CPU使用率過高報警信息保存在DATA/Moonlight/alarm中

3.9 MEM使用率

測試目的:
檢測當前系統長時間或者頻繁使用系統剩餘內存和應用APP使用內存大小。若系統剩餘內存不斷減小說明系統或者應用存在內存泄露。
測試方法:
同理也是使用訊飛的ITEST測試工具測試Android硬件 雲知聲SDK和平安APK使用的內存大小,同時監測系統剩餘內存大小。
alarmSystemMemLeft 設置系統剩餘內存低於指定值時,將產生告警。100表示100M。
alarmAppMem 設置應用APP內存使用閾值 超過將報警
LOG日誌保存:
平安系統正常運行時相關內存使用信息保存在DATA/Moonlight/iTestMini中。
內存剩餘過少或者應用使用內存過大的報警信息保存在DATA/Moonlight/alarm中

3.10 網絡性能

測試目的:
單位時間內對網絡設備或端口成功傳送數據的數量(在沒有丟幀的情況下,設備能夠接收並轉發的最大數據速率)。是一個實際值,用於衡量Android硬件WIFI網絡性能重要標誌。
測試方法:
Android硬件安裝iPerf 。Windows PC安裝iperf客戶端(jperf)。
測試上行速率(PC作Server,手機作Client)
PC 端配置好jperf,然後平安好醫生輸入命令iperf -c xx.xx.xx.xx -p 5001 -t 60 -P 1 啓動測試
測試下行速率(手機作Server,PC作Client)
Android硬件端打開 輸入命令iperf -s 啓動服務端,PC端配置好連接當前好醫生的IP。啓動測試
配套文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章