Android開發(fā)谴忧、adb哎垦、monkey測(cè)試
1.手機(jī)測(cè)試概念
傳統(tǒng)手機(jī)測(cè)試 VS 手機(jī)應(yīng)用軟件測(cè)試
傳統(tǒng)手機(jī)測(cè)試:指測(cè)試手機(jī)本身比如抗壓镜雨,抗摔嫂侍,抗疲勞,抗低溫高溫等荚坞。也包括手機(jī)本身功能挑宠、性能等測(cè)試。
手機(jī)應(yīng)用軟件測(cè)試 C/S Client/Server
手機(jī)應(yīng)用軟件是基于手機(jī)操作系統(tǒng)之上開發(fā)出來(lái)的軟件颓影,做這樣的測(cè)試就叫做手機(jī)應(yīng)用軟件測(cè)試各淀。
2.手機(jī)端常規(guī)測(cè)試
Android后綴apk,ios后綴是IPA(iPhoneApplication)
13大測(cè)試:
UI測(cè)試诡挂,功能碎浇,性能測(cè)試,兼容性測(cè)試璃俗,安裝卸載測(cè)試奴璃,軟件升級(jí)測(cè)試,登陸測(cè)試城豁,安全性測(cè)試苟穆,消息推送,前后臺(tái)切換唱星,網(wǎng)絡(luò)環(huán)境測(cè)試雳旅,monkey測(cè)試,異常測(cè)試
3.Android介紹
介紹:Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng)间聊,主要使用于移動(dòng)設(shè)備攒盈,如智能手機(jī)和平板電腦
四層:Android分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)拥楸ァ?yīng)用程序框架層沦童、系統(tǒng)運(yùn)行庫(kù)層和Linux內(nèi)核層
4.ADB
1.簡(jiǎn)介:ADB全稱Android Debug Bridge, 是android sdk里的一個(gè)工具, 用這個(gè)工具可以直接操作管理android模擬器或者真實(shí)的andriod設(shè)備(如G1手機(jī))
它的主要功能有:
運(yùn)行設(shè)備的shell(命令行)
管理模擬器或設(shè)備的端口映射
計(jì)算機(jī)和設(shè)備之間上傳/下載文件
將本地apk軟件安裝至模擬器或android設(shè)備
2.配置ADB環(huán)境變量
打開:adt-bundle-windows-x86_64_20140101文件找到adb.exe所在路徑配置ADB_HOME環(huán)境變量
3.ADB常用指令
查看設(shè)備:adb devices
安裝軟件:adb install -r (APK路徑)
卸載軟件 adb uninstall <軟件名> adb uninstall -k <軟件名>
登錄設(shè)備shell adb shell adb shell <command命令>
查看手機(jī)內(nèi)存情況? ? adb shell dumpsys cpuinfo
查看內(nèi)存情況 adb shell getprop | findstr dalvik 本機(jī)內(nèi)存的使用情況
查看應(yīng)用內(nèi)存使用情況 adb shell dumpsys meminfo +包名:應(yīng)用的內(nèi)存使用情況
列出手機(jī)裝的所有app的包名: adb shell pm list packages
列出系統(tǒng)應(yīng)用的所有包名: adb shell pm list packages -s
列出除了系統(tǒng)應(yīng)用的第三方應(yīng)用包名: adb shell pm list packages -3
adb logcat 查看手機(jī)日志
Android 的日志分為如下幾個(gè)級(jí)別:
V —— Verbose(最低仑濒,輸出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不輸出
5.APK牢固性
應(yīng)用加固防篡改:通過完整性保護(hù)和簽名校驗(yàn)保護(hù)偷遗,能有效避免應(yīng)用被二次打包墩瞳,杜絕盜版應(yīng)用的產(chǎn)生;防逆向:通過對(duì)代碼進(jìn)行隱藏以及加密處理氏豌,使攻擊者無(wú)法對(duì)二進(jìn)制代碼進(jìn)行反編譯喉酌,獲得源代碼或代碼運(yùn)行邏輯;防調(diào)試:通過反調(diào)試技術(shù)泵喘,使攻擊者無(wú)法調(diào)試原生代碼或Java代碼泪电,阻止攻擊者獲取代碼里的敏感數(shù)據(jù)。
6.Monkey測(cè)試
1.簡(jiǎn)介
顧名思義纪铺,Monkey就是猴子相速, Monkey測(cè)試,就像一只猴子鲜锚, 在電腦面前突诬,亂敲鍵盤在測(cè)試
Monkey 主要用于Android 的壓力測(cè)試自動(dòng)的一個(gè)壓力測(cè)試小工具, 主要目的就是為了測(cè)試app 是否會(huì)Crash
2.Monkey前提條件
1.環(huán)境配置:把a(bǔ)db加入系統(tǒng)環(huán)境芜繁,手機(jī)開啟開發(fā)者模式
2.連接手機(jī)旺隙,獲取測(cè)試的包名。獲取包名的方法
3.Monkey編寫測(cè)試命令,并運(yùn)行骏令。[monkey操作命令
7.Monkey命令 基本參數(shù)介紹
1.-p <允許的包名列表>:adb shell monkey -p com.example.login 100
2.顯示日志詳細(xì)程度
1.adb shell monkey -p com.example.login -v 100 // 缺省值蔬捷,僅提供啟動(dòng)提示、測(cè)試完成和最終結(jié)果等少量信息
2. adb shell monkey -p com.example.login -v? -v 100? ? ? ? ? // 提供較為詳細(xì)的日志榔袋,包括每個(gè)發(fā)送到Activity的事件信息
3.adb shell monkey -p com.example.login -v? -v? -v 100? ? // 最詳細(xì)的日志周拐,包括了測(cè)試中選中/未選中的Activity信息
3..Monkey日志分析
將log信息寫到文檔中:adb shell monkey 100 >c:/log/b.txt
4.--throttle <毫秒>
adb shell monkey -p com.example.login --throttle 300 100
表示執(zhí)行100個(gè)偽隨機(jī)用戶事件流,事件間隔為300毫秒摘昌。
5.-pct-touch 調(diào)整觸摸事件的百分比
6.--pct-motion? 調(diào)整motion事件百分比
7.--ignore-crashes 通常速妖,應(yīng)用發(fā)生崩潰或異常時(shí)Monkey會(huì)停止運(yùn)行
8.--ignore-timeouts 通常,應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not responding”對(duì)話框)Monkey將停止運(yùn)行
Monkey實(shí)例: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異常分析
日志中可能的錯(cuò)誤:
1.程序異常退出聪黎,uncausedexception (ctrl+f搜索‘Fatal’)
2.程序強(qiáng)制關(guān)閉罕容,F(xiàn)orceClosed (簡(jiǎn)稱FC) (同上)
3.程序無(wú)響應(yīng),ApplicationNo Response(ctrl+f搜索‘ANR ’稿饰,加空格是為了屏蔽掉一些無(wú)效信息)
4.手動(dòng)生成锦秒。
8.手機(jī)兼容性測(cè)試
? App云測(cè)試平臺(tái):Testin、貫眾云測(cè)試喉镰、百度MTC旅择、阿里MQC等
9.真機(jī)測(cè)試
手機(jī)打開開發(fā)者選項(xiàng)→勾選USB調(diào)試→輸入adb devices監(jiān)測(cè)連接設(shè)備