1. 程式人生 > 其它 >APP UI自動化測試常見面試題(一)

APP UI自動化測試常見面試題(一)

1.Android APP 記憶體不足時,如何獲得記憶體?

系統優先結束被掛起(暫停)的程序,釋放記憶體。

2.APP 測試常見問題有哪些?原因有哪些?

常見的有 crash、ANR(應用無響應、卡死),一般由裝置碎片化、網路波動大、記憶體洩漏、程式碼編寫錯誤。

3.APP 自動化測試工具

開放性問題,帶點主觀意見:

  1. 對比其他熟悉的自動化工具的優缺點;

  2. 自動化的簡要方案(簡要的同時關鍵內容請具體)。

4.Android 與 web 測試區別?

相同點:

  1. 設計測試用例均依據等價類、邊界值等方法,測試原理相同;

  2. 大多數都採用黑盒測試方法來驗證業務功能;

  3. 需要檢查介面佈局、風格和按鈕是否美觀、統一等(UI 測試);

  4. 測試頁面載入和翻頁的速度、登入時長是否溢位等問題(效能測試);

  5. 測試應用系統的穩定性。

不同點:

  1. 手機作為通訊工具,通訊等一些行為會對 APP 產生(中斷測試);

  2. 手機使用者對 app 產品的安裝解除安裝操作:從上一版本/上兩個版本直接升級到最新版本(安裝解除安裝測試);

  3. web 自動化測試使用的工具較常用的是 selenium,而 android 手機自動化測試比較常用的自動化工具是 monkey、monkeyrunner、Appium(測試工具不一樣)。

5.app 測試有哪幾種環境?

  1. 本地環境:app 安裝的手機環境和電腦搭建的自動化測試環境(比如安卓 SDK 等);

  2. 伺服器環境:war 包部署的伺服器,伺服器可以通過瀏覽器訪問。

6.簡單介紹一下 Android SDK 的安裝步驟

  1. 下載 jdk 和安卓 sdk;

  2. 安裝 jdk,配置環境變數(java_home、classpath、 path)。

7.介紹移動應用及其服務端的測試點?

  1. 移動應用主要有許可權、安裝執行解除安裝、UI、功能、效能、中斷、相容性、安全性、 迴歸、升級更新、使用者體驗(app 的 11 大測試點);

  2. 服務端有介面測試、效能測試、安全測試。

8.如何判斷 bug是客戶端還是後臺問題?

這個要根據業務來,一般資料的問題前端的問題多些,一般做法是有問題提給前端開發, 他們知道是他們自己的問題還是後臺返回的資料問題。

9.安卓中如何取出日誌資訊

  1. 把安卓系統日誌資訊實時匯入到本地:adb logcat -v time > d:\mylog.log;

  2. 執行使用某個 app,實時獲取該 app 的日誌資訊(cmd 裡面的返回資訊) :adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log。

10.常見的 adb 命令

  1. 檢視當前連線的裝置:adb devices;

  2. 安裝軟體:adb install 路徑\xx.apk;

  3. 解除安裝軟體:adb uninstall <包名>;

  4. 從電腦上傳送檔案到裝置:adb push <本地路徑> <遠端路徑> adb push C:\test1.txt /sdcard/;

  5. 從裝置上下載檔案到電腦:adb pull <遠端路徑> <本地路徑> adb pull /sdcard/test1.txt D:

  6. 實時獲取日誌:adb logcat -v time > D:\mylog.log;

  7. 登入終端裝置 shell:adb shell;

  8. 查詢包名/活動名:adb logcat | findstr START (指令碼中, cmp= 後面的值就是 包名/activity 名稱);

  9. 啟動 APP 啟動;

  10. adb shell am start -n packageName/activity;

  11. 關閉 app 語法:adb shell am force-stop 包名;

  12. 監控 APP 啟動時間 adb shell am start -W packageName/activity;

  13. 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 指令許可權最高,安卓中資料處理指令許可權最高。

志之所趨,無遠弗屆,窮山距海,不能限也