1.請問App測試的主要内容包含?
功能測試:
業務邏輯正确性測試:依據産品文檔->測試用例編寫。
界面的測試
界面測試:依據産品UI設計文檔(高保真圖,原型圖)。
更新,安裝,解除安裝測試:
- 更新測試:臨近版本更新(1.0->1.1);跨版本(1.0->....->2.2)
- 安裝測試:首次安裝;覆寫安裝(同版本,不同版本覆寫);解除安裝後安裝。
- 解除安裝測試:首次解除安裝;解除安裝安裝後再解除安裝。
相容性測試:
- 系統版本:Android:官方版本,定制版本;IOS:官方提供版本。
- 手機品牌和型号:華為,vivo,小米等。
- 分辨率:720 * 1280 1080* 1920。
- 網絡情況:2g 3g 4g 5g Wi-Fi。
- 自身軟體的相容性
- 與其他常用軟體的相容性
異常測試:
- 熱啟動應用:應用在背景長時間待機;應用在背景待機過程中,手機重新開機。
- 網絡切換和中斷恢複。
- 電話資訊中斷恢複。
性能測試
- 安裝和啟動時間
- CPU的占用
- 記憶體的占用
- 流量的耗用
- 電量的耗用
- FPS
- 後端, 測試App中的各類操作是否滿足使用者響應時間要求,主要是測試點在網速方面,2g,3g,wifi, 4g一定要覆寫到
- 後端 有網絡并發
安全性測試
- 對App的輸入有效性校驗、認證、授權、敏感資料存儲、資料加密等方面進行檢測,以期發現潛在的安全問題;
- 從資料的本地存儲到資料的傳輸、處理以及遠端通路等各個環節,基于相應的安全标準/行業标準評估App的安全特性;
- 檢測App的使用者授權級别,資料洩漏,非法授權通路等;
- 借鑒在Web App和網絡安全測試的一些成功經驗在智能終端App測試中進行裁減或适配;
- 基于各種通信協定或相應的行業安全标準檢視App是否滿足相應的要求。
健壯性測試:
- 在各種邊界壓力情況下(如電池、存儲、網速等),驗證App是否能正确響應
- 反複/長期操作下,系統資源是否占用異常;Android 可是使用adb指令
- 壓力測試主要集中在後端,前端的壓力測試目前測的較少
2.App閃退的原因有哪些?
考察點:移動app測試的過程中是否遇到閃退情況
原因有很多,舉例:
1.緩存垃圾太多,Android系統的特性,如果長時間不清理垃圾檔案,會導緻越來越卡,甚至閃退。
2.運作程式太多,導緻記憶體不足。
3.應用版本相容問題,分辨率相容問題。
4.APP的SDK與手機系統不相容。
5.系統更新後,新版本不相容老版本的API,傳回對象失敗,報空指針。
6.軟體權限未開放。
3.App測試的實時日志如何擷取?
考察點:是否有移動app測試的日志擷取相關經驗
一般可以通過以下方式擷取:
1.可以使用adb指令:adb logcat | find "com.sankuai.meituan" >d:\test.txt
2.用ddms抓取,手機連上電腦,打開ddms工具;
3.在Android Studio開發工具中擷取,打開ddms工具;
4.用monitor工具擷取,手機連上電腦,打開monitor工具
4.常用的adb指令有哪些?
考察點:是否有移動app測試的相關指令的操作經驗
擷取裝置清單及裝置狀态:adb devices,adb-getstat,adb get-serialno
安裝應用:
adb install 路徑\xx.apk, 安裝應用;
adb install -r 重新安裝
adb shell pm install 安裝
adb shell pm install -r
3. 解除安裝應用:adb uninstall <包名>, adb shell pm uninstall <包名>,後面的參數是應用的包名,差別于 apk 檔案名adb uninstall
将 Android 裝置上的檔案或者檔案夾下載下傳到電腦本地:adb pull <遠端路徑> <本地路徑>adb pull複制 Sdcard 下的 pull.txt 檔案到 D 盤:adb pull sdcard/pull.txt d:\rename.txt
上傳本地檔案至 Android 裝置:adb push <本地路徑> <遠端路徑>
eg: adb push推送 D 盤下的 ITester.txt 至 Sdcard:adb push d:\ITester.txt sdcard/ (注意sdcard 後面的斜杠不能少)
6. 結束和啟動adb服務:adb kill-server /adb start-server , 結束 adb 服務/啟動 adb 服務,
通常兩個指令一起用,裝置狀态異常時使用 kill-server,運作 start-server 進行重新開機服務。adb kill-server adb start-server
列印及清除系統日志:adb logcat列印 Android 的系統日志adb logcat -c
5.講一下安卓 SDK中自帶工具的功能
考察點:是否熟悉Android SDK工具及使用實際相關經驗
ddms:Dalvik Debug Monitor Service,是 Android 開發環境中的Dalvik[虛拟機]調試監控服務。
monkey:Android中的一個指令行工具,可以運作在模拟器裡或實際裝置中。它向系統發送僞随機的使用者事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實作對正在開發的應用程式進行壓力測試。
uiautomator:是Eclipse自帶的用于UI自動化測試工具,可仿真APP上的單擊、滑動、輸入文本等操作。
monitor:同uiautomator,包含ddms工具的相關功能
adb:ADB的全稱為Android Debug Bridge,是一種debug工具。
monkeyrunner: monkeyrunner是一個Android自動化測試工具。它提供一個API,運用該API編寫的程式可以不用通過Android代碼來直接控制Android裝置和模拟器,我們可以寫一個Python程式對android應用程式或測試包進行安裝,運作,發送模拟擊鍵,對使用者界面進行截圖并将截圖存儲在workstation上等操作。