Android開發、adb、monkey測試

一、手機測試概念

? ? ? ? ? ? ? ? 1、傳統手機測試:指測試手機本身比如抗壓,抗摔,抗疲勞,抗低溫高溫等。也包括手機本身功能、性能等測試。

? ? ? ? ? ? ? ? 2、手機應用軟件測試 C/S Client/Server手機應用軟件是基于手機操作系統之上開發出來的軟件,做這樣的測試就叫做手機應用軟件測試。

二、手機常規測試

? ? ? ? ? ? 1、How:功能測試、安裝與卸載測試、安裝與卸載測試、 ? ?軟件升級測試、登錄測試、安全性測試 - 權限測試、消息推送測試、前后臺切換測試(鎖屏)、UI測試(界面測試)、.兼容性測試、網絡環境測試、mokey測試、性能測試

三、ADB常用命令????????

? ? ? ? ? ? 1、查看設備:adb devices

? ? ? ? ? ? 2、安裝軟件:adb install -r (APK路徑)

? ? ? ? ? ? 3、卸載軟件:如果加 -k 參數,為卸載軟件但是保留配置和緩存文件

? ? ? ? ? ? 4、登錄設備shell

? ? ? ? ? ? 5、查看手機內存情況:adb shell dumpsys cpuinfo

? ? ? ? ? ? 6、查看內存情況:adb shell getprop | findstr dalvik

? ? ? ? ? ? 7、查看應用內存使用情況+包名:adb shell dumpsys meminfo

? ? ? ? ? ? 8、列出手機裝的所有app的包名:adb shell pm list packages

? ? ? ? ? ? 9、列出系統應用的所有包名:adb shell pm list packages -s

? ? ? ? ? ? 10、列出除了系統應用的第三方應用包名:adb shell pm list packages -3

四、adb logcat 查看手機日志

? ? ? ? ? ? 1、adb logcat 命令格式 : adb logcat [選項] [過濾項]

? ? ? ? ? ? 2、?輸入 adb logcat --help 命令, 就可以顯示該命令的幫助信息

? ? ? ? ? ? ?3、使用adb logcat -v time 命令, 可以查看日志的輸出時間 ? ??

? ? ? ? ? ? 4、將手機日志輸出到本地文件中:adb logcat -v time process > C:/log/aa.txt

? ? ? ? ? ? 5、有多臺設備是adb選擇設備:adb -s 設備名稱 logcat -v time process >C:/log/aa.txt

? ? ? ? ? ? 6、Android 的日志分為如下幾個級別:

????????????????????V —— Verbose(最低,輸出得最多)

????????????????????D —— Debug

????????????????????I —— Info

????????????????????W —— Warning

????????????????????E —— Error

????????????????????F —— Fatal

????????????????????S —— Silent(最高,啥也不輸出)

? ? ? ? ? ? 注意:某級別過濾日志則會將該級別及以上的日志輸出。

五、APK牢固性

? ? ? ? ? ? 1、防篡改:通過完整性保護和簽名校驗保護,能有效避免應用被二次打包,杜絕盜版應用的產生;

? ? ? ? ? ? 2、防逆向:通過對代碼進行隱藏以及加密處理,使攻擊者無法對二進制代碼進行反編譯,獲得源代碼或代碼運行邏輯;

? ? ? ? ? ? 3、防調試:通過反調試技術,使攻擊者無法調試原生代碼或Java代碼,阻止攻擊者獲取代碼里的敏感數據。

六、Monkey測試

? ? ? ? ? ? 1、Monkey 主要用于Android 的壓力測試自動的一個壓力測試小工具, 主要目的就是為了測試app 是否會Crash(崩潰)

? ? ? ? ? ? 2、前提條件

? ? ? ? ? ? ? ? ? ? (1)環境配置:把adb加入系統環境,手機開啟開發者模式

? ? ? ? ? ? ? ? ? ? (2)連接手機,獲取測試的包名

? ? ? ? ? ? ? ? ? ? (3)Monkey編寫測試命令,并運行

? ? ? ? ? ? ? ? ? ? (4)如果要提前中結束測試,中斷運行中的monkey

七、Monkey 命令 基本參數介紹

? ? ? ? ? ? 1、使用adb指令,安裝Login.apk

? ? ? ? ? ? 2、將log信息寫到文檔中:adb shell monkey 100 >c:/log/b.txt

? ? ? ? ? ? 3、adb shell monkey -p com.example.login --throttle 300 100,表示執行100個偽隨機用戶事件流,事件間隔為300毫秒。

? ? ? ? ? ? 4、adb shell monkey -pct-touch 67 -v 10,表示執行10個偽隨機用戶事件流,并調整其中觸摸事件的百分比為67%。

? ? ? ? ? ? 5、adb shell monkey -pct-motion 67 -v 10,表示執行10個偽隨機用戶事件流,并調整其中動作事件的百分比為67%。

? ? ? ? ? ? 6、Monkey異常:

????????????????1.程序異常退出,uncausedexception (ctrl+f搜索‘Fatal’)

????????????????2.程序強制關閉,ForceClosed (簡稱FC) (同上)

? ? ? ? ? ? ? ? 3、.程序無響應,ApplicationNo Response(ctrl+f搜索‘ANR ’,加空格是為了屏蔽掉一些無效信息)

? ? ? ? ? ? ? ? 4、移動app測試服務包含:自動化測試、人工測試、用戶接受度評測、遠程真機調試。點擊創建測試任務即可

? ? ? ? ? ? ? ? 5、、以功能回放測試為例:創建測試任務。步驟為上傳app,上傳用例,選擇測試終端,截圖,郵件。

? ? ? ? ? ? ? ? 6、測試報告包含:應用基本信息、結論總覽、問題分布、問題列表、問題終端分布、性能結論、性能分析、內存占用分析、終端列表。

? ? ? ? ? ? ? ? 7、點擊進入終端詳細報告,包含內容:終端信息、測試結果、性能結果、測試截圖、安裝日志、logcat日志、腳本日志、性能詳情、屏幕錄像。

八、真機測試

? ? ? ? ? ? 1、多次點擊版本號,顯示開發者選項

? ? ? ? ? ? 2、若使用真機,用USB將手機和電腦連接,在手機端進行

????????????(1)選擇USB連接方式為設備文件管理;

????????????(2)設置->開啟開發者選項->勾選‘USB調試’(真機和模擬器上皆需進行)。

? ? ? ? ? ? 3、檢測連接設備:在終端中輸入’adb devices‘,此時已連接設備列表下應存在設備序列號

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容