每天學(xué)點新知識,心情都美好了~
前言
??去年很長一段時間还最,都在測一款A(yù)ndroid平板,每次到上線前毡惜,幾乎每天一個版本的回歸測試拓轻,回歸測試可能最多有2-3天的時間,然后產(chǎn)品就要著急忙慌的上線经伙,心理壓力賊大扶叉。
每次回歸測試,三個人重復(fù)重復(fù)測同樣的功能橱乱,偶爾就會出現(xiàn)ANR辜梳、CRASH的問題,又不好復(fù)現(xiàn)泳叠,開了bug研發(fā)說解了作瞄,我們沒再遇到也不敢確定是真的沒了,一度很煩躁危纫。
??今年年初宗挥,開年度總結(jié)復(fù)盤會的時候乌庶,領(lǐng)導(dǎo)也提了這個問題,當(dāng)時也說到穩(wěn)定性測試的時間不夠?qū)е律暇€后用戶遇到的問題我們都沒測到契耿,很影響整個公司對測試的評價瞒大。我就想了下如何加強安卓APP穩(wěn)定性測試,就想到了Monkey搪桂。
??其實Monkey測試我們也會測透敌,但常常把它作為一個專項測試,基于穩(wěn)定版本再跑一下踢械,看看有沒有ANR酗电、CRASH這種嚴(yán)重問題。但實際測試過程中内列,跑那一會會其實不夠的撵术,而且每次都是快上線才拿待上線版本過一下,萬一有問題也發(fā)現(xiàn)晚了——敏捷測試的要求就是及早發(fā)現(xiàn)嚴(yán)重問題话瞧。
??我覺得應(yīng)該在前期就加入穩(wěn)定性測試嫩与,并增加穩(wěn)定性測試時長。于是交排,我實驗了下我的想法:在后續(xù)一個安卓APP迭代中划滋,研發(fā)給新包時,就先用Monkey跑一下个粱,這個過程中不需要我一直盯著古毛,我可以去測功能用例,如果出現(xiàn)了ANR都许、CRASH問題稻薇,我可以直接查看日志、復(fù)現(xiàn)胶征、再給研發(fā)提BUG塞椎。效果非常好,一來并沒有占用我日常功能測試的時間睛低;二來能及早發(fā)現(xiàn)嚴(yán)重問題案狠;試驗過程中就輕松發(fā)現(xiàn)了兩個bug。
正文
??Monkey命令其實很簡單钱雷,具體一些指令的含義可以網(wǎng)上找找骂铁,遍地~~
??下面是我的用法:
??1. 打開要測試的APP,查看下它的包名
??adb shell dumpsys window | findstr mCurrentFocus
??2. 執(zhí)行monkey命令并輸出日志到本地罩抗,我設(shè)置的300ms間隔執(zhí)行拉庵,模擬用戶操作
??adb shell monkey -p com.boe.amaze.filemanager --pct-touch 50 --pct-motion 10 --pct-appswitch 25 --pct-syskeys 15 --ignore-crashes --ignore-timeouts --ignore-native-crashes --ignore-security-exceptions --throttle 300 -v -v -v 10000 >D:\monkeyResult.txt
??就這么簡單!給自己加雞腿~~