最近公司要新做一個APP,但由于APP測試資源緊缺,需要一個緊急培訓,我便簡單整理了下APP測試常用的一些知識點,方便快速上手。
同時也給想了解APP測試的同學一些參考。
一 網絡狀態(tài)
1. 存在哪些網絡狀態(tài)?
- 網絡暢通
- WIFI與移動網絡切換
- 弱網模擬
- 真實弱網場景
- 斷網狀態(tài)
2. 不同網絡狀態(tài)下的測試點
- 加載中的狀態(tài)
- 加載失敗的狀態(tài)
- 加載失敗的提示文案
- 斷網重連后的網絡請求
- 弱網重復點擊
- 弱網丟包
- 網絡切換后功能是否正常
- 斷網啟動
- 斷網點擊
二 機型適配
1. 存在哪些機型適配問題?
- 不同屏幕大小
- 不同分辨率
- 不同系統版本
- 不同機型
2. 如何選擇測試機?
- 需求方要求的最低兼容版本
- 市面上比較熱的機型和系統版本
- APP用戶統計機型top30
- APP crash統計機型top10
3. 不同機型適配下的測試點
- UI展示是否完整
- UI展示是否重疊
- 不同機型對第三方庫的兼容性
- 不同機型本身的特性
- 不同機型的手勢沖突
- 不同機型的權限控制
- 不同語言環(huán)境的功能和UI展示
- 不同系統時間下的功能和UI展示
- 不同字體大小的功能和UI展示
- 不同主題下的功能和UI展示
- 不同輸入法對輸入框的功能和UI展示
三 安裝卸載升級
1. 安裝
各大應用市場安裝,不同機型,命令行(adb install <packagename>)
2. 卸載
是否卸載干凈,卸載后重新安裝能夠正常使用
3. 升級
更新提醒,選擇更新,強制更新
覆蓋升級
手動更新,自動更新
四 并發(fā)測試
1. 彈出框提示
鬧鐘,低電量,短信,微信,通知
2.另一個應用啟動
正在播放視頻,正在發(fā)送或接受請求,正在下載數據或升級,正在進行輸入
3.關機或待機
推送,數據刷新,數據同步
4.功能沖突
音樂,語音,相機
5.可存儲設備
圖片,音樂
五 內存泄漏
1. 為什么會產生內存泄漏?
當一個對象已經不需要再使用了,本該被回收時,而有另外一個正在使用的對象持有它的引用從而導致它不能被回收,這導致本該被回收的對象不能被回收而停留在堆內存中,這就產生了內存泄漏。
2. 內存泄漏對程序的影響?
內存泄漏是造成應用程序OOM的主要原因之一!
我們知道android系統為每個應用程序分配的內存有限,而當一個應用中產生的內存泄漏比較多時,這就難免會導致應用所需要的內存超過這個系統分配的內存限額,這就造成了內存溢出而導致應用Crash。
3. 檢測內存泄漏常用工具?
- LeakCannary
- debugBottle
- Memory Leaks
六 抓包工具
1. 常用抓包工具?
- Fiddler
- Charles
2. 抓包工具常用測試點?
- 接口返回狀態(tài)是否正常
- 接口返回數據是否符合規(guī)范
- APP傳參是否正確
- APP接口請求是否合理
- 獲取token,版本號,userId,clientId等信息
- 修改request
- 修改response
- 模擬弱網
七 Crash收集
1. 常用收集平臺?
- Fabric
- Bugly
- Umeng
2. 常見Crash類型?
- 內存溢出(OutOfMemory)
- 空指針(NullPointerException)
- 數組越界(OutOfBounds)
- 圖片渲染
- 傳參問題
- 數據未判空
- 數據類型不匹配
- NSAttributedString相關
- 網絡問題
- 數據結構變化
八 提測包管理
常用提測包第三方管理平臺?
- fir
- 蒲公英
- TestFlight
九 云測
常用云測平臺?
- Testin
- MTC
- MQC
- WeTest