標籤:移動互聯 控制 stop 外部 pdu 版本 包名 異常 分享圖片
Android日誌
即時列印日誌
狀態資訊日誌
ANR日誌 application not responding
Monkey日誌
即時列印日誌
adb logcat -b main -v time> app.log 列印應用程式的log
adb logcat -v time> app.log 預設main
adb logcat -b radio -v time> radio.log 列印射頻相關的log
adb logcat -b events -v time > event.log 列印系統事件的日 志,比 如觸屏事件
其它即時列印日誌:tcpdump、QXDM等等
Logcat
android提供了自己的log輸出api-->位於android.util.
Log這個類中. 這個類比較常用的列印日誌的方法有5個,這5個方法 都會把日誌列印到 LogCat中: Log.v(tag,message); //verbose模式,列印最詳細的日誌
Log.d(tag,message); //debug層級的日誌
Log.i(tag,message); //info層級的日誌
Log.w(tag,message); //warn層級的日誌
Log.e(tag,message); //error層級的日誌
tag用來標記log訊息的源頭的.而message則是這條log的內容.
從日誌的輸出數量來算,error,warn,info,debug,verbose,數量從少 到多
狀態資訊日誌
bugreport(命令adb bugreport>bugreport.log)。
bugreport記錄Android啟動過程的log,以及啟動後的系統狀態, 包 括進程列表,記憶體資訊,VM信 息等等到.裡麵包含有 dmesg, dumpstate和dumpsys;
dmesg(命令adb shell dmesg > ldmesg_kernel.log)是kernel 的log,凡是跟kernel相關的,比如driver出了問題(相機,藍芽, usb,啟動,等等)
dumpstate是系統狀態資訊,裡面比較全,包括手機當前的記憶體 信 息、cpu資訊、logcat緩衝,kernel緩衝等等;
dumpsys這個是關於系統所有進程Process的內容都在這個裡面
狀態資訊日誌
adb shell dumpsys meminfo system是查看system這個 process 的記憶體資訊
dumpsys [options]
meminfo 顯示記憶體資訊
cpuinfo 顯示CPU資訊
account 顯示accounts資訊
activity 顯示所有的activities的資訊
window 顯示鍵盤,視窗和它們的關係
wifi 顯示wifi資訊
ANR--application not responding
ANR定義:在Android上,如果你的應用程式有一段時 間響應不夠 靈敏,系統會向使用者顯示一個對話方塊,這個 對話方塊稱作應用程式無響 應(ANR:Application Not Responding)對話方塊。使用者可以選 擇“等待”而讓程式 繼續運行,也可以選擇“強制關閉” 。所以一個 流暢的 合理的應用程式中不能出現anr,而讓使用者每次都要處理 這個對 話框。因此,在程式裡對響應效能的設計很重要, 這樣系統不會顯示 ANR給使用者。
ANR日誌路徑:/data/anr/traces.txt
ADB命令
1. adb devices
2. adb install xxx.apk
3. adb pull
4. adb push
5. adb shell
6. adb kill-server
7. adb start-server
8. adb remount 重新掛載系統磁碟分割,使系統磁碟分割重新可寫
9. adb uninstall apk包名
10.adb logcat –s
11.adb shell am start –n 包名/包名 + 類名 adb shell “su -c ‘am start -n apk.downloader/.activity.LoginActivity’“ (外部 授 權模式)
12. adb get-serialno 獲得序號
adb shell am命令
am: activity manager,管理activity, 開啟或關閉進程 adb shell am
啟動activity: adb shell am start -n com.android.camera/.Camera (組 件方式)
關閉activity: adb shell am force-stop com.android.camera
/a 聲明可以進行數學運算
adb shell pm命令
pm: package manager,用來執行應用的安裝及查詢, 系統權 限,控制應用
pm list packages
pm list permission-groups
pm uninstall 包名
adb logcat 過濾log
過濾 adb logcat --help
adb logcat ActivityManager:I *:s
adb logcat | findstr ActivityManager
Adb shell keycode 類比按鍵事件
adb shell input keyevent X
adb shell input swipe x1 y1 x2 y2
adb shell input tap x y
adb shell input text abc
Monkey與MonkeyRunner
Monkey與MonkeyRunner區別:
Monkey:隨機事件流
MonkeyRunner:特定命令和事件
MonkeyRunner主要應用於功能測試和迴歸測試
APP測試總結
安裝、卸載測試
驗證數位簽章。
安裝、卸載測試主要針對編譯後來源程式產生的APK安裝檔案。
主要測試點:
1.產生APK檔案在真機上可以安裝及卸載;
2.Android手機端的通用安裝工具,如:豌豆莢及91助手等工具可 以正常安裝及卸載程式。
3.覆蓋安裝APK檔案是否報錯。
線上升級測試 (ota)
升級後可以正常使用。
線上跨版本升級。
商務邏輯測試
商務邏輯測試:主要測試用戶端業務能否正常完成。
功能點測試:主要測試用戶端功能點是否正常使用。
關聯性測試:主要測試用戶端與PC端的互動,用戶端處理完後,PC 端與用戶端資料一致。
異常測試-中斷測試
互動性測試:用戶端作為手機特性測試,包含被打擾的情況13種, 來電,來簡訊,低電量 測試等,還要注意手機端硬體上,如:待機, 插拔資料線、耳機等操作不會影響用戶端。
異常性測試:主要包含了斷網、斷電、伺服器異常等情況下,客戶 端能否正常處理,保證 資料正確性。 用戶端側效能測試
基準效能測試:主要通過壓伺服器端介面及用戶端在不同網路環境 下響應速度。主要為258 原則。
大資料量的測試:主要在特定環境下,用戶端一次性更新大量的數 據,用戶端能否正常處 理,分為三種情況:
1.用戶端第一次使用,第一次就更新大量資料;
2.用戶端在平時更新中,更新大量的資料;
3.用戶端已經在手機本地下載很多資料後,再次更新大量資料。 所 謂的“2-5-8原則” ,簡單說,就是當使用者能夠在2秒以內得到響應 時,會感覺系統的響 應很快;當使用者在2-5秒之間得到響應時,會感覺 系統的響應速度還可以;當使用者在5-8秒 以內得到響應時,會感覺系統 的響應速度很慢,但是還可以接受;而當使用者在超過8秒後仍 然無法得 到響應時,會感覺系統糟透了,或者認為系統已經失去響應,而選擇離 開這個 Web網站,或者發起第二次請求。
易用性測試
介面與互動性測試:符合Android互動規範,符合使用者使用習慣, 操作方便簡單,具有一致性。
可用性測試:使用者體驗好,使用者操作方便,使用者使用錯誤率低。
適配測試-相容測試
手機不同解析度支援:720P、1080P等。
手機不同版本的支援:安卓7.0、安卓8.0,IOS8、IOS9、IOS11 等。
手機不同廠家系統的支援:小米、華為、三星、蘋果等。
手機不同尺寸的支援:3.5寸到5.5寸,甚至還有平板尺寸。
電量與流量測試
手機的電量與流量測試主要是為了站在使用者角度思考,畢竟電量、 流量消耗比較大,會影 響客戶的使用感受。手機端電量使用率是和 CPU使用率成正比的。由於這個沒有比較詳細 的規定,只能給出一個 通用的範圍,CPU使用率不能超過10%以上,流量不要超過10M以 上。一般可以通過Android手機端的一些監視軟體擷取資料。 推薦三 款手機監視軟體:Emmagee、GT、Trepn Profiler
記憶體流失測試
Android的記憶體機制
Android的程式由Java語言編寫,所以Android的記憶體管理與Java 的記憶體管理相似。程式員 通過new為對象分配記憶體,所有對象在Java 堆內分配空間;然而對象的釋放是由記憶體回收行程 來完成的。
Android的虛擬機器是基於寄存器的Dalvik,它的最大堆大小一般是 16M,有的機器為24M。因 此我們所能利用的記憶體空間是有限的。如 果我們的記憶體佔用超過了一定的水平就會出現
OutOfMemory的錯誤。如果長期引用資源不釋放就會引起記憶體流失
外網與情境測試
外網測試主要是現實類比客戶使用網路環境,檢驗用戶端程式在實 際網路環境中使用方式 及盡心業務操作。
外網測試主要覆蓋到wifi\2G\3G\4G\、net\wap、電信\移動\聯 通,所有可能的組合進行 測試。 原則:
1.儘可能全面覆蓋使用者的 使用情境,測試案例中需要包含不同網路排列組合的各種可能;
2.還有類比訊號被屏蔽的時候,用戶端的影響等。
3.還要做外部情境測試,在高山、丘陵、火車上等特殊環境下的進 行全面測試。
移動互聯測試