1.Android APP 內(nèi)存不足時(shí),如何獲得內(nèi)存? 系統(tǒng)優(yōu)先結(jié)束被掛起(暫停)的進(jìn)程,釋放內(nèi)存。 2.APP 測(cè)試常見問題有哪些?原因有哪些? 常見的有 crash、ANR(應(yīng)用無響應(yīng)、卡死),一般由設(shè)備碎...
1.Android APP 內(nèi)存不足時(shí),如何獲得內(nèi)存?
系統(tǒng)優(yōu)先結(jié)束被掛起(暫停)的進(jìn)程,釋放內(nèi)存。
2.APP 測(cè)試常見問題有哪些?原因有哪些?
常見的有 crash、ANR(應(yīng)用無響應(yīng)、卡死),一般由設(shè)備碎片化、網(wǎng)絡(luò)波動(dòng)大、內(nèi)存泄漏、代碼編寫錯(cuò)誤。
3.APP 自動(dòng)化測(cè)試工具
開放性問題,帶點(diǎn)主觀意見:
對(duì)比其他熟悉的自動(dòng)化工具的優(yōu)缺點(diǎn);自動(dòng)化的簡(jiǎn)要方案(簡(jiǎn)要的同時(shí)關(guān)鍵內(nèi)容請(qǐng)具體)。4.Android 與 web 測(cè)試區(qū)別?
相同點(diǎn):
設(shè)計(jì)測(cè)試用例均依據(jù)等價(jià)類、邊界值等方法,測(cè)試原理相同;大多數(shù)都采用黑盒測(cè)試方法來驗(yàn)證業(yè)務(wù)功能;需要檢查界面布局、風(fēng)格和按鈕是否美觀、統(tǒng)一等(UI 測(cè)試);測(cè)試頁(yè)面載入和翻頁(yè)的速度、登錄時(shí)長(zhǎng)是否溢出等問題(性能測(cè)試);測(cè)試應(yīng)用系統(tǒng)的穩(wěn)定性。不同點(diǎn):
手機(jī)作為通信工具,通信等一些行為會(huì)對(duì) APP 產(chǎn)生(中斷測(cè)試);手機(jī)用戶對(duì) app 產(chǎn)品的安裝卸載操作:從上一版本/上兩個(gè)版本直接升級(jí)到最新版本(安裝卸載測(cè)試);web 自動(dòng)化測(cè)試使用的工具較常用的是 selenium,而 android 手機(jī)自動(dòng)化測(cè)試比較常用的自動(dòng)化工具是 monkey、monkeyrunner、Appium(測(cè)試工具不一樣)。5.app 測(cè)試有哪幾種環(huán)境?
本地環(huán)境:app 安裝的手機(jī)環(huán)境和電腦搭建的自動(dòng)化測(cè)試環(huán)境(比如安卓 SDK 等);服務(wù)器環(huán)境:war 包部署的服務(wù)器,服務(wù)器可以通過瀏覽器訪問6.簡(jiǎn)單介紹一下 Android SDK 的安裝步驟
下載 jdk 和安卓 sdk;安裝 jdk,配置環(huán)境變量(java_home、classpath、 path)。7.介紹移動(dòng)應(yīng)用及其服務(wù)端的測(cè)試點(diǎn)?
移動(dòng)應(yīng)用主要有權(quán)限、安裝運(yùn)行卸載、UI、功能、性能、中斷、兼容性、安全性、 回歸、升級(jí)更新、用戶體驗(yàn)(app 的 11 大測(cè)試點(diǎn));服務(wù)端有接口測(cè)試、性能測(cè)試、安全測(cè)試。8.如何判斷 bug 是客戶端還是后臺(tái)問題?
這個(gè)要根據(jù)業(yè)務(wù)來,一般數(shù)據(jù)的問題前端的問題多些,一般做法是有問題提給前端開發(fā), 他們知道是他們自己的問題還是后臺(tái)返回的數(shù)據(jù)問題。
9.安卓中如何取出日志信息
把安卓系統(tǒng)日志信息實(shí)時(shí)導(dǎo)入到本地:adb logcat -v time > d:\mylog.log;運(yùn)行使用某個(gè) app,實(shí)時(shí)獲取該 app 的日志信息(cmd 里面的返回信息) :adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log。10.常見的 adb 命令
查看當(dāng)前連接的設(shè)備:adb devices;安裝軟件:adb install 路徑\xx.apk;卸載軟件:adb uninstall <包名>;從電腦上發(fā)送文件到設(shè)備:adb push <本地路徑> <遠(yuǎn)程路徑> adb push C:\test1.txt /sdcard/;從設(shè)備上下載文件到電腦:adb pull <遠(yuǎn)程路徑> <本地路徑> adb pull /sdcard/test1.txt D:實(shí)時(shí)獲取日志:adb logcat -v time > D:\mylog.log;登錄終端設(shè)備 shell:adb shell;查找包名/活動(dòng)名:adb logcat | findstr START (腳本中, cmp= 后面的值就是 包名/activity 名稱);啟動(dòng) APP 啟動(dòng);adb shell am start -n packageName/activity;關(guān)閉 app 語(yǔ)法:adb shell am force-stop 包名;監(jiān)控 APP 啟動(dòng)時(shí)間 adb shell am start -W packageName/activity;Monkey 命令:adb shell monkey -v -p mypackage 5011.APP 這么多主流機(jī)型如何測(cè)試
我手機(jī)型號(hào)分別有魅族,華為,小米,iphone7、iphone8 、iphone8plus 、iphone x 測(cè)試兼容性,有些沒有的機(jī)型,先借用同事的手機(jī)進(jìn)行測(cè)試,同時(shí)申請(qǐng)公司購(gòu)買,或者采 用云真機(jī)。
12.App 崩潰(閃退)原因
緩存垃圾過多:由于安卓系統(tǒng)的特性如果長(zhǎng)時(shí)間不清理垃圾文件,會(huì)導(dǎo)致越來越卡也會(huì)出現(xiàn)閃退情況,運(yùn)行的程序過多導(dǎo)致內(nèi)存不足。
應(yīng)用版本兼容問題:如果應(yīng)用版本太低,會(huì)導(dǎo)致不兼容,造成閃退。此外,有些新版本 在調(diào)試中,也會(huì)造成應(yīng)用閃退。
解決方法:如果是版本太舊,更新為新版本即可;如果是新版本閃退, 可能是應(yīng)用在改版調(diào)試,可卸載后安裝舊版。檢查 APP 中訪問網(wǎng)絡(luò)的地方,組件中的 ImageView 是否可以正常的下載并顯示到 app 頁(yè)面上。檢查 APP 的 sdk 和手機(jī)的系統(tǒng)是否兼容。在一些特定情況下的閃退,比如播放視頻,在 Android5.0 升級(jí)到 Android6.0 的時(shí)候, 有些系統(tǒng) API 老版本有,新版本沒有,到時(shí)回去對(duì)象的時(shí)候失敗,報(bào)空,系統(tǒng)就會(huì)出現(xiàn)閃退。
13.Appium 都有哪些啟動(dòng)方式
客戶端啟動(dòng);命令行啟動(dòng)。14.安卓 UI 自動(dòng)化測(cè)試工具
appium:是一個(gè)移動(dòng)端的自動(dòng)化框架,可用于測(cè)試原生應(yīng)用,移動(dòng)網(wǎng)頁(yè)應(yīng)用 和混合型應(yīng)用,且是跨平臺(tái)的。
robotium:是一款國(guó)外的 Android 自動(dòng)化測(cè)試框架,主要針對(duì) Android 平臺(tái)的應(yīng)用進(jìn)行黑盒自動(dòng)化測(cè)試,它提供了模擬各種手勢(shì)操作(點(diǎn)擊、長(zhǎng)按、滑動(dòng)等)、查找和斷言機(jī)制的 API,能夠?qū)Ω鞣N控件進(jìn)行操作。
15.Android 手機(jī)和 IOS 系統(tǒng)區(qū)別
兩者運(yùn)行機(jī)制不同:IOS 采用的是沙盒運(yùn)行機(jī)制,安卓采用的是虛擬機(jī)運(yùn)行機(jī)制。
兩者后臺(tái)制度不同:IOS 任何第三方程序都不能在后臺(tái)運(yùn)行;安卓中任何程序都 能在后臺(tái)運(yùn)行,直到?jīng)]有內(nèi)存才會(huì)關(guān)閉。
IOS 中用于 UI 指令權(quán)限最高,安卓中數(shù)據(jù)處理指令權(quán)限最高。