(1)為了提高產(chǎn)品的穩(wěn)定性;

創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的明山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
(2)為了提高產(chǎn)品的留存率;
(1)首輪功能測試通過以后;
(2)下班后的夜間進(jìn)行;
Monkey:在adb shell中,生成用戶或系統(tǒng)的偽隨機(jī)事件;
MonkeyRunner:通過API定義特定命令和事件來控制設(shè)備;
(1)MonkeyRunner API:用來連接設(shè)備或模擬器;
(2)MonkeyDevice:提供安裝,卸載應(yīng)用,發(fā)送模擬事件;
(3)完成圖像保存,及對比操作;
(1)crash:即崩潰,app在使用過程中,非正常退出;
(2)anr:應(yīng)用無響應(yīng),application not response;
(1)安裝Android sdk并配置環(huán)境變量;
(2)打開手機(jī)開發(fā)者模式;
(3)確定手機(jī)與電腦已經(jīng)連接:adb devices
(4)安裝測試APP:adb install package.apk
(5)發(fā)送壓力指令:adb shell monkey 1000,給手機(jī)發(fā)送10000個(gè)偽隨機(jī)指令
(6)獲取APP包名:adb logcat | grep START
(7)給指定包打壓力:adb shell monkey -p 包名 1000,給手機(jī)計(jì)算器app發(fā)送1000個(gè)偽隨機(jī)指令
(1)延時(shí)參數(shù):--throttle 1000,指定事件之間的間隔為1000毫秒;
(2)種子參數(shù):-s 100,指定隨機(jī)生成樹的seed值為100,使得兩次的隨機(jī)操作事件完全一樣,可以用來復(fù)現(xiàn)bug;
(3)觸摸事件參數(shù):--pct-touch 50,設(shè)置觸摸事件的百分比為50%,剩余的事件會(huì)隨機(jī);
(4)動(dòng)作事件參數(shù):--pct-motion 30,設(shè)置動(dòng)作事件的百分比為30%,剩余的時(shí)間會(huì)隨機(jī);
(5)軌跡球事件:--pct-trackball percent,設(shè)置軌跡球事件的百分比;
(6)基本導(dǎo)航事件:--pct-nav percent,設(shè)置基本導(dǎo)航事件的百分比,輸入設(shè)備的上下左右;
(7)主要導(dǎo)航事件:--pct-majornav percent,設(shè)置主要導(dǎo)航事件的百分比,兼容中間鍵,返回鍵,菜單按鍵;
(8)系統(tǒng)導(dǎo)航事件:--pct-syskeys percent,設(shè)置系統(tǒng)導(dǎo)航事件的百分比,HOME,BACK,撥號(hào)及音量鍵;
(9)啟動(dòng)Activity事件:--pct-appswitch percent,設(shè)置啟動(dòng)activity的事件的百分比;
(10)不常用事件百分比:--pct-anyevent percent,設(shè)置不常用事件的百分比;
(11)忽略崩潰事件:--ignore-crashes event-count,設(shè)置忽略崩潰和異常;
(12)忽略超時(shí)事件:--ignore-timeouts event-count,設(shè)置忽略超時(shí)事件;
實(shí)例:adb shell monkey -v -p 包名 --pct-touch 50 --pct-motion 50 --ignore-crashes -ignore-timeouts 1000
實(shí)例:
安裝可以引起Crash 的APP
執(zhí)行壓力命令
析取CRASH 的Exception信息
在連線情況下,一般在晚上執(zhí)行壓力測試時(shí),需要加上忽略崩潰事件和忽略超時(shí)事件,等第二天來之后,可以從adb log中過濾出CRASH和ANR異常的日志內(nèi)容,然后在adb log中的最后一行獲取seed值,用來復(fù)現(xiàn)問題。復(fù)制所獲取的內(nèi)容和monkey腳本到txt文本,發(fā)給開發(fā)定位具體問題原因。
找到ANR異常信息,發(fā)給開發(fā)
1、連線手機(jī)和電腦;
2、輸入如下命令:
cd /data/anr/
ls
more traces.txt
adb shell monkey -f scriptfile event-count
(1)軌跡球事件:DispatchTrackball(int action,float x,float y),action參數(shù),0代表按下,1代表彈起,x和y代表坐標(biāo)點(diǎn);
(2)點(diǎn)擊事件:DispatchPointer(int action,float x,float y),action參數(shù),0代表按下,1代表彈起,x和y代表坐標(biāo)點(diǎn);
(3)輸入字符串事件:DispatchString(String text);
(4)啟動(dòng)應(yīng)用事件:LaunchActivity(package,Activity);
(5)等待事件:UserWait(1000),1000毫秒=1秒;
(6)按下鍵值事件:DispatchPress(int keycode),keycode 66 回車鍵;
實(shí)例:在瀏覽器APP中輸入一個(gè)字符串,重復(fù)點(diǎn)擊100次
1、啟動(dòng)app;
2、點(diǎn)擊輸入框;
3、輸入test;
4、點(diǎn)擊回車鍵;
5、點(diǎn)擊搜索按鈕;
6、等待結(jié)果的出現(xiàn);
7、點(diǎn)擊clear按鈕。
編寫mook.script腳本內(nèi)容:
注意點(diǎn):
1、點(diǎn)擊位置坐標(biāo),可以使用UI Automator Viewer工具來獲取,bounds[376,97][464,145],表示某個(gè)區(qū)域的從左上角到右下角的兩個(gè)點(diǎn)的坐標(biāo);
2、app必須要允許被外部調(diào)起,這就需要在AndroidManifest.xml中的LauchActivity之下加入一個(gè)參數(shù):android:exported=true;
Monkey是Android中自帶的用來進(jìn)行壓力測試的一個(gè)命令行工具。
用Monkey進(jìn)行App壓力測試的結(jié)果有三種。
1、正常。
2、Crash :程序崩潰。
3、ANR:程序無響應(yīng)。
第一步:搭建環(huán)境:主要是安裝和搭建java和sdk環(huán)境,說白了,對我們安卓開發(fā)來說,只要搭建好了Android開發(fā)環(huán)境,Monkey測試環(huán)境基本就是OK的了。
第二步:準(zhǔn)備好要測試的項(xiàng)目,比如可以是一個(gè).apk安裝包,也可以是已經(jīng)安裝到手機(jī)上的軟件 。
第三步:連接上Android測試設(shè)備,可以是模擬器,當(dāng)然也可以是手機(jī),通過adb 命令對測試項(xiàng)目進(jìn)行Monkey測試。
當(dāng)然這一測試也是存在著優(yōu)缺點(diǎn)的。
優(yōu)點(diǎn):功能強(qiáng)大, 主要用于壓力和穩(wěn)定性測試。缺點(diǎn):本身不提供截屏功能,本身無法完成錄制、回放的功能(不過都可以借用其他的開源工具來實(shí)現(xiàn)Monkey的截屏和錄制等功能)。
一:Android App漏洞測試工具:Safe.ijiami
Safe.ijiami四大特色
1. 文件檢查
檢查dex、res文件是否存在源代碼、資源文件被竊取、替換等安全問題。
2. 漏洞掃描
掃描簽名、XML文件是否存在安全漏洞、存在被注入、嵌入代碼等風(fēng)險(xiǎn)。
3. 后門檢測
檢測App是否存在被二次打包,然后植入后門程序或第三方代碼等風(fēng)險(xiǎn)。
4. 一鍵生成
二:Android App性能測試工具:iTest
iTest產(chǎn)品特色
1、 功能強(qiáng)大:iTest獨(dú)有的自動(dòng)控制技術(shù),輕松完成手機(jī)應(yīng)用的自動(dòng)測試。
2、 操作簡單:只需用鼠標(biāo)操作,點(diǎn)擊或拖動(dòng)屏幕,即可錄制功能復(fù)雜的腳本。
3、 無限次運(yùn)行:設(shè)定運(yùn)行次數(shù)之后,iTest即可幫忙自動(dòng)運(yùn)行腳本,只要愿意,運(yùn)行上億次也沒問題。
4、 腳本共享:在iTest上錄制的腳本,無需任何改動(dòng),即可在另一臺(tái)連接iTest的手機(jī)上運(yùn)行,只要它們擁有相同的分辨率
進(jìn)行壓力測試主要是保證app的穩(wěn)定性,而獲取CRASH、ANR的相關(guān)信息是為了快速定位問題。
什么是CRASH?app異常退出,影響用戶后續(xù)正常使用,這種情況就可以列為app崩潰
什么是ANR? 全拼為Application Not Responding ?即應(yīng)用程序無響應(yīng)
1、KeyDispatchTimeout (5 seconds) --按鍵或觸摸事件在特定時(shí)間內(nèi)無響應(yīng)
2、BroadcastTimeout (10 seconds) --BroadcastReceiver 在特定時(shí)間內(nèi)無法處理完成
3、ServiceTimeout (20 seconds) --Service在特定的時(shí)間內(nèi)無法處理完成
CRASH 以及ANR 的出現(xiàn)都會(huì)對用戶的使用出現(xiàn)非友好的體驗(yàn),所以在測試過程盡早、盡快的發(fā)現(xiàn)這類問題
以上是關(guān)于Android App之壓力測試的理論部分,接下來會(huì)針對性的更新實(shí)踐內(nèi)容
分享題目:android壓力測試,安卓壓力測試app
文章出自:http://chinadenli.net/article39/dssphph.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、面包屑導(dǎo)航、微信小程序、定制網(wǎng)站、建站公司、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)