APP UI自動化測試常見面試題(一)
1.Android APP 記憶體不足時,如何獲得記憶體?
系統優先結束被掛起(暫停)的程序,釋放記憶體。
2.APP 測試常見問題有哪些?原因有哪些?
常見的有 crash、ANR(應用無響應、卡死),一般由裝置碎片化、網路波動大、記憶體洩漏、程式碼編寫錯誤。
3.APP 自動化測試工具
開放性問題,帶點主觀意見:
-
對比其他熟悉的自動化工具的優缺點;
-
自動化的簡要方案(簡要的同時關鍵內容請具體)。
4.Android 與 web 測試區別?
相同點:
-
設計測試用例均依據等價類、邊界值等方法,測試原理相同;
-
大多數都採用黑盒測試方法來驗證業務功能;
-
需要檢查介面佈局、風格和按鈕是否美觀、統一等(UI 測試);
-
測試頁面載入和翻頁的速度、登入時長是否溢位等問題(效能測試);
-
測試應用系統的穩定性。
不同點:
-
手機作為通訊工具,通訊等一些行為會對 APP 產生(中斷測試);
-
手機使用者對 app 產品的安裝解除安裝操作:從上一版本/上兩個版本直接升級到最新版本(安裝解除安裝測試);
-
web 自動化測試使用的工具較常用的是 selenium,而 android 手機自動化測試比較常用的自動化工具是 monkey、monkeyrunner、Appium(測試工具不一樣)。
5.app 測試有哪幾種環境?
-
本地環境:app 安裝的手機環境和電腦搭建的自動化測試環境(比如安卓 SDK 等);
-
伺服器環境:war 包部署的伺服器,伺服器可以通過瀏覽器訪問。
6.簡單介紹一下 Android SDK 的安裝步驟
-
下載 jdk 和安卓 sdk;
-
安裝 jdk,配置環境變數(java_home、classpath、 path)。
7.介紹移動應用及其服務端的測試點?
-
移動應用主要有許可權、安裝執行解除安裝、UI、功能、效能、中斷、相容性、安全性、 迴歸、升級更新、使用者體驗(app 的 11 大測試點);
-
服務端有介面測試、效能測試、安全測試。
8.如何判斷 bug是客戶端還是後臺問題?
這個要根據業務來,一般資料的問題前端的問題多些,一般做法是有問題提給前端開發, 他們知道是他們自己的問題還是後臺返回的資料問題。
9.安卓中如何取出日誌資訊
-
把安卓系統日誌資訊實時匯入到本地:adb logcat -v time > d:\mylog.log;
-
執行使用某個 app,實時獲取該 app 的日誌資訊(cmd 裡面的返回資訊) :adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log。
10.常見的 adb 命令
-
檢視當前連線的裝置:adb devices;
-
安裝軟體:adb install 路徑\xx.apk;
-
解除安裝軟體:adb uninstall <包名>;
-
從電腦上傳送檔案到裝置:adb push <本地路徑> <遠端路徑> adb push C:\test1.txt /sdcard/;
-
從裝置上下載檔案到電腦:adb pull <遠端路徑> <本地路徑> adb pull /sdcard/test1.txt D:
-
實時獲取日誌:adb logcat -v time > D:\mylog.log;
-
登入終端裝置 shell:adb shell;
-
查詢包名/活動名:adb logcat | findstr START (指令碼中, cmp= 後面的值就是 包名/activity 名稱);
-
啟動 APP 啟動;
-
adb shell am start -n packageName/activity;
-
關閉 app 語法:adb shell am force-stop 包名;
-
監控 APP 啟動時間 adb shell am start -W packageName/activity;
-
Monkey 命令:adb shell monkey -v -p mypackage 50。
11.APP 這麼多主流機型如何測試
我手機型號分別有魅族,華為,小米,iphone7、iphone8 、iphone8plus 、iphone x 測試相容性,有些沒有的機型,先借用同事的手機進行測試,同時申請公司購買,或者採 用雲真機。
12.App 崩潰(閃退)原因
快取垃圾過多:由於安卓系統的特性如果長時間不清理垃圾檔案,會導致越來越卡也會出現閃退情況,執行的程式過多導致記憶體不足。
應用版本相容問題:如果應用版本太低,會導致不相容,造成閃退。此外,有些新版本 在除錯中,也會造成應用閃退。
解決方法:如果是版本太舊,更新為新版本即可;如果是新版本閃退, 可能是應用在改版除錯,可解除安裝後安裝舊版。檢查 APP 中訪問網路的地方,元件中的 ImageView 是否可以正常的下載並顯示到 app 頁面上。檢查 APP 的 sdk 和手機的系統是否相容。在一些特定情況下的閃退,比如播放視訊,在 Android5.0 升級到 Android6.0 的時候, 有些系統 API 老版本有,新版本沒有,到時回去物件的時候失敗,報空,系統就會出現閃退
13.Appium 都有哪些啟動方式
-
客戶端啟動;
-
命令列啟動。
14.安卓 UI 自動化測試工具
appium:是一個移動端的自動化框架,可用於測試原生應用,移動網頁應用 和混合型應用,且是跨平臺的。
robotium:是一款國外的 Android 自動化測試框架,主要針對 Android 平臺的應用進行黑盒自動化測試,它提供了模擬各種手勢操作(點選、長按、滑動等)、查詢和斷言機制的 API,能夠對各種控制元件進行操作。
15.Android 手機和 IOS 系統區別
兩者執行機制不同:IOS 採用的是沙盒執行機制,安卓採用的是虛擬機器執行機制。
兩者後臺制度不同:IOS 任何第三方程式都不能在後臺執行;安卓中任何程式都 能在後臺執行,直到沒有記憶體才會關閉。
IOS 中用於 UI 指令許可權最高,安卓中資料處理指令許可權最高。
志之所趨,無遠弗屆,窮山距海,不能限也