1.手機測試概念
傳統手機測試 VS 手機應用軟件測試
傳統手機測試:指測試手機本身比如抗壓,抗摔,抗疲勞,抗低溫高溫等。也包括手機本身功能、性能等測試。
手機應用軟件測試 C/S Client/Server
手機應用軟件是基于手機操作系統之上開發出來的軟件,做這樣的測試就叫做手機應用軟件測試。
2.手機端常規測試
Android后綴apk,ios后綴是IPA(iPhoneApplication)
13大測試:
UI測試,功能,性能測試,兼容性測試,安裝卸載測試,軟件升級測試,登陸測試,安全性測試,消息推送,前后臺切換,網絡環境測試,monkey測試,異常測試
3.Android介紹
介紹:Android是一種基于Linux的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦
四層:Android分為四個層,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫層和Linux內核層
4.ADB
1.簡介:ADB全稱Android Debug Bridge, 是android sdk里的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod設備(如G1手機)
它的主要功能有:
運行設備的shell(命令行)
管理模擬器或設備的端口映射
計算機和設備之間上傳/下載文件
將本地apk軟件安裝至模擬器或android設備
2.配置ADB環境變量
打開:adt-bundle-windows-x866420140101文件找到adb.exe所在路徑配置ADB_HOME環境變量
3.ADB常用指令
查看設備:adb devices
安裝軟件:adb install -r (APK路徑)
卸載軟件 adb uninstall <軟件名> adb uninstall -k <軟件名>
登錄設備shell adb shell adb shell <command命令>
查看手機內存情況? ? adb shell dumpsys cpuinfo
查看內存情況 adb shell getprop | findstr dalvik 本機內存的使用情況
查看應用內存使用情況 adb shell dumpsys meminfo +包名:應用的內存使用情況
列出手機裝的所有app的包名: adb shell pm list packages
列出系統應用的所有包名: adb shell pm list packages -s
列出除了系統應用的第三方應用包名: adb shell pm list packages -3
adb logcat 查看手機日志
```
? Android 的日志分為如下幾個級別:
? V —— Verbose(最低,輸出得最多)
? D —— Debug
? I —— Info
? W —— Warning
? E —— Error
? F —— Fatal
? S —— Silent(最高,啥也不輸出
? ```
5.APK牢固性
應用加固
防篡改:通過完整性保護和簽名校驗保護,能有效避免應用被二次打包,杜絕盜版應用的產生;
防逆向:通過對代碼進行隱藏以及加密處理,使攻擊者無法對二進制代碼進行反編譯,獲得源代碼或代碼運行邏輯;
防調試:通過反調試技術,使攻擊者無法調試原生代碼或Java代碼,阻止攻擊者獲取代碼里的敏感數據。
6.Monkey測試
1.簡介
顧名思義,Monkey就是猴子, Monkey測試,就像一只猴子, 在電腦面前,亂敲鍵盤在測試
Monkey 主要用于Android 的**壓力測試**自動的一個壓力測試小工具, 主要目的就是為了測試app 是否會Crash
2.Monkey前提條件
1.環境配置:把adb加入系統環境,手機開啟開發者模式
2.連接手機,獲取測試的包名。[獲取包名的方法](https://links.jianshu.com/go?to=http%3A%2F%2Fwww.testtao.com%2Fthread-35627-1-1.html)
3.Monkey編寫測試命令,并運行。[monkey操作命令
7.Monkey命令 基本參數介紹
1.-p <允許的包名列表>:adb shell monkey -p com.example.login 100
2.顯示日志詳細程度
1.adb shell monkey -p com.example.login -v 100 // 缺省值,僅提供啟動提示、測試完成和最終結果等少量信息
2. adb shell monkey -p com.example.login -v? -v 100? ? ? ? ? // 提供較為詳細的日志,包括每個發送到Activity的事件信息
3.adb shell monkey -p com.example.login -v? -v? -v 100? ? // 最詳細的日志,包括了測試中選中/未選中的Activity信息
3..Monkey日志分析
將log信息寫到文檔中:adb shell monkey 100 >c:/log/b.txt
4.--throttle <毫秒>
adb shell monkey -p com.example.login --throttle 300 100
表示執行100個偽隨機用戶事件流,事件間隔為300毫秒。
5.-pct-touch 調整觸摸事件的百分比
6.--pct-motion? 調整motion事件百分比
7.--ignore-crashes 通常,應用發生崩潰或異常時Monkey會停止運行
8.--ignore-timeouts 通常,應用程序發生任何超時錯誤(如“Application Not responding”對話框)Monkey將停止運行
Monkey實例:monkey -p com.tencent.mtaexample -s 23? --throttle2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>/data/local/tmp/log.txt 2>&1 &
9.Monkey異常分析
```
日志中可能的錯誤:
1.程序異常退出,uncausedexception (ctrl+f搜索‘Fatal’)
2.程序強制關閉,ForceClosed (簡稱FC) (同上)
3.程序無響應,ApplicationNo Response(ctrl+f搜索‘ANR ’,加空格是為了屏蔽掉一些無效信息)
4.手動生成。
```
8.手機兼容性測試
? App云測試平臺:Testin、貫眾云測試、百度MTC、阿里MQC等
9.真機測試
手機打開開發者選項→勾選USB調試→輸入adb devices監測連接設備