學習目標:app專項測試知識點,其他知識擴充
一、app專項(app怎么測試/app側重點在哪)
? ? ? ? 1.功能:
????????????????跟前面功能測試一樣(跟需求文檔提取測試點,編寫測試用例)
? ? ? ? 2.安裝
????????????????1.不同品牌安裝,不同操作系統,不同分辨率
????????????????2.安裝后是否可以正常使用
????????????????3.空間不足是否有提示
????????????????4.是否可以重復安裝(低版本覆蓋高版本,同版本覆蓋,高覆蓋低版本)
????????????????5.電量不足是否有提示
????????????????6.是否可以第三方平臺安裝
????????????????7.安裝是否有進度條提示或者已用時間或者剩余時間提示
? ? ? ? 3.卸載
????????????????1.不同品牌安裝,不同操作系統,不同分辨率
????????????????2.卸載時是否有提示
????????????????3.卸載是否有進度提示
????????????????4.正在使用的app,卸載是否有提示
????????????????5.是否可以通過安裝目錄的文件刪除卸載
????????????????6.卸載后已經安裝的文件是否卸載干凈
????????????????7.是否可以通過第三方平臺卸載
????????????????8.正在卸載時,取消卸載,app是否可用
? ? ? ? 4、升級
????????????????1.升級時是否有提示,提示語是否正確
????????????????2.是否為強制升級,如果不升級是否可以正常使用
????????????????3.升級時直接升到最新版本,還是按順序升級
????????????????4.當天不升級,下次使用是否還有升級提示
????????????????5.切換網絡后,升級是否有提醒
????????????????6.升級到一半,不升級,下次是重新升級還是從記錄開始升級
????????????????7.低版本覆蓋高版本,同版本覆蓋,高覆蓋低版本
????????????????8.不同品牌安裝,不同操作系統,不同分辨率
????????????????9.升級后功能要能正常使用
????????????????10.升級后舊數據還正常使用
? ? ? ? 5、兼容性
????????????????1、不同品牌
? ? ? ? ? ? ? ? ? ? ? ? 蘋果:16、17.等等
? ? ? ? ? ? ? ? ? ? ? ? 安卓:華為系列、小米系列、榮耀系列、oppo系列
? ? ? ? ? ? ? ? 2、不同操作系統
? ? ? ? ? ? ? ? ? ? ? ? 1、android
? ? ? ? ? ? ? ? ? ? ? ? 2、鴻蒙
? ? ? ? ? ? ? ? ? ? ? ? 3、ios
? ? ? ? ? ? ? ? 3、不同分辨率
????????????????????????1920*1080 , 2k(2560*1440) 4k(3840*2160)
? ? ? ? ? ? ? ? 4、不同尺寸
???????????????????????5.x ,6.x?
????????????????5.不同網絡兼容
????????????????????????2G,3G,4G,5G,wifi
????????????????6.權限兼容
????????????????????????安裝時,是否有獲取獲取權限提醒...
????????????????7.兼容新舊數據
????????????????8.兼容藍牙,攝像頭,定位打卡等等
????????????????說明:為了更好的兼容性測試,我們需要去云平臺進行兼容性測試
????????6、用戶體驗
????????????????1.是否美觀
????????????????2.是否有錯別字,色彩搭配是否合理,布局是否合理
????????????????3.文字大小是否合理
????????????????4.是否容易操作(通俗易懂)
????????????????5.是否有新手引導
????????????????6.是否使用教程
????????????????7.是否有適用不同階段年齡的模式
????????????????8.是否本地化語言
????????????????9.是否有聚焦到第一個輸入框的功能
????????????????10.是否有快捷鍵操作
? ? ? ? 7、交叉事件(沖突、中斷)
????????????????正在做一件事情,被另外一件事情干擾
????????????????比如:我在看抖音,你給我發給信息
? ? ? ? 8、網絡測試
????????????????1.正常網絡測試
????????????????????????2,3,4,5G,wifi
????????????????2.弱網測試
????????????????????????目的:在網絡不穩定的情況下是否工作正常,是否有提示,是否會報錯...
????????????????3.無網絡測試
? ? ? ? 9、時間測試
????????????????使用服務器時間
? ? ? ? 10、安全測試
????????????????1.連續錯誤操作限制
????????????????2.防止SQL注入
????????????????3.敏感內容是否脫敏:?13838****5438
? ? ? ? 11、垃圾回收(內存測試泄漏)——Android app
?????????????????內存泄漏:越來越卡
?????????????????內存溢出:
????????????????????????在日志中提示OOM(out of memory),比如:打開某個游戲App需要3G內存,但是手機只能提供1G內存
? ? ? ? ? ? ? ? 監控內存泄漏
? ? ? ? ? ? ? ????????? 1、監測工具:ddms
? ? ? ? ? ? ????????????????? ? 在cdm中輸入ddms,打開抓包工具,選擇想要監測軟件的包名,show head? ? ? updates,選擇vm heap,點擊cause Gc,觀察date object行里的toai size,如果數據變大,存在內存泄漏
????????????????????????重復點擊:adb shell monkey -p com.example.com.boweifeng.xx -v 3
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、指令監控
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? adb shell dumpsys meninfo com.android.settings+包名
? ? 注意:只會變大不會縮小,存在內存泄漏
? 12、消息推送(push推送)
????????1.內容是否正確
????????2.內容格式是否正確
????????3.是否可以指定人員推送
????????4.點擊消息是否可以打開app
????????5.設置不接收推送,不能收到
? ? ? ? 13、前后臺切換
????????????????1.app是否會崩潰
????????????????2.是否會跳轉到下一步或者上一步
二、穩定性測試(疲勞性測試,app性能測試)
? ? ? ? 1、monkey是什么
? ? ? ? ? ? ? ? 是一個無規則點擊操作的工具
? ? ? ? ? ? ? ? 需求:企業可能要求測試人員對app連續操作2 小時點擊
? ? ? ? 2、優缺點
? ? ? ? ? ? ? ? 優點:長時間連續操作,使用簡單
? ? ? ? ? ? ? ? 缺點:步驟控制
????????3、基本命令
? ? ? ? ? ? ? ? adb shell monkey -p+包名 -v 次數
? ? ? ? 4、穩定性/疲勞測試/app性能怎么做
? ? ? ? ? ? ? ? 1、安裝被測應用
? ? ? ? ? ? ? ? ? ? ? ? adb install
? ? ? ? ? ? ? ? 2、安裝性能監控工具itest,啟動性能監控工具
? ? ? ? ? ? ? ? ? ? ? ? 監控性能指標,關注什么:cpu、pss內存、上傳流量、下載流量、cpu時間
? ? ? ? ? ?
????????????????3、清空多余日志
? ? ? ? ? ? ? ? ? ? ? ? adb logcat -c
? ? ????????? ? 4、獲取app的日志保存到本地
????????????????????????adb logcat -v time > 文件路徑+文件名
? ? ? ? ? ? ? ? ? ? ? ? adb logcat -v time >?C:\Users\admin\app.log
????????????????????????
? ? ? ? ? ? ? ? 5、運行monkey命令保存日志到本地
? ? ? ? ? ? ? ? ? ? ? ? adb shell monkey -p? 包名 -v 次數 >C:\Users\admin(文件路徑)
? ? ? ???
????????5.結果分析
? ? ? ? ? ? ? ?1、?查看性能資源
??????
?????
- ????????2、查看app日志(可以發現是否有問題)
- 3、先搜索anr in (application not responding 應用無響應) ,能搜索到表示app發生
??? 6、接口分析
? ? ? ?????????????????1、具體講app穩定性當時發生什么問題
? ? ? ? ? ? ? ? ????????????????發生過無響應
? ? ? ? ? ? ? ????????????????? 當時在日志中搜索anr in,可以搜索到,然后日志顯示是在登錄界面的注冊按鈕發現無響應
????????7、monkey如何做回歸測試
?????????????????使用上一次monkey產生的seed進行回歸測試即可
????????????????怎么找到seed
??????????????????找到monkey命令保存到本地的日志,打開日志,找到:Monkey:seed=
????????????????adb shell monkey -p 包名 -s seed -v 次數
? ? ? ? 8、怎么樣保證monkey一定跑完
? ? ? ? ? ? ? ? 說明:上面指令,只有app發生了日常,比如:無響應,monkey就會停止
? ? ? ? ? ? ? ? 需求:無論如何都要跑完
????????????????adb shell monkey -p 包名 -s seed --ignore-crashes?--ignore-timeouts?--ignore-????????????????security-exceptions? -v 次數
? ? ? ? ? ? ? ? --ignore-crashes:忽略崩潰
? ? ? ? ? ? ? ? --ignore-timeouts:忽略無響應
? ? ? ? ? ? ? ? --ignore-security-exceptions:忽略安全許可
? ? ? ? 9、上面的指令在工作上存在一些問題
? ? ? ? ? ? ? ? 上面指令是有多快跑多快,跟我們真實情況有出入
? ? ? ? ? ? ? ? 如何才能接近人類操作
? ? ? ? ? ? ? ? 加入延遲指令
????????????????--throttle +毫秒
????????????????adb shell monkey -p 包名 -s seed --ignore-crashes?--ignore-timeouts?--ignore-????????????????security-exceptions? --throttle -v 次數
? ? ? ? 10、上面的指令在工作上存在一些問題
? ? ? ? ? ? ? ? 上面的指令對所有的指令對所有類型的app,操作都是一樣的,不同類型的app,操作占比
? ? ? ? 11、停止正在運行的monkey
? ? ? ? ? ? ? ? 1、直接關設備
? ? ? ? ? ? ? ? 2、指令停止
? ? ? ? ? ? ? ? ? ? ? ? 先進入linux命令
????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? 查找monkey的進程號
????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? 殺死monkey的進程號
????????????????????????
????????12、影響app啟動的時間
? ? ? ? ? ? ? ? 1、網絡
? ? ? ? ? ? ? ? 2、設備配置低
? ? ? ? ? ? ? ? 3、加載視頻、圖片過大
? ? ? ? ? ? ? ? 4、服務器配置低
? ? ? ? ? ? ? ? 5、多人同時使用
? ? ? ? 13、app閃退/nullpointerexception(崩潰,crash)/無響應(anr)的原因
? ? ? ? ? ? ? ? 1、兼容性
? ? ? ? ? ? ? ? 2、cpu、內存滿了
? ? ? ? ? ? ? ? 3、網絡不穩定
? ? ? ? ? ? ? ? 4、緩存數據過多
? ? ? ? ? ? ? ? 5、設備過熱發燙
? ? ? ? 14、android跟ios測試區別
? ? ? ? ? ? ? ? 1、android版本多,ios少
? ? ? ? ? ? ? ? 2、android手機品牌多,ios少
? ? ? ? ? ? ? ? 3、android系統可升可降,ios只升不降
? ? ? ? ? ? ? ? 4、android發布平臺多審核不嚴,iOS發布平臺少且審核嚴格
? ? ? ? ? ? ? ? 5、android的app在后臺是真運行,ios的app在后臺是休眠
??????????? 15、沙盒/沙箱測試
? ? ? ? ? ? ? ? 實現技術
? ? ? ? ? ? ? ? 虛擬機
? ? ? ? ? ? ? ? docker
????????????????16、app性能測試關注什么
? ? ? ? ? ? ????????? ? app性能指標怎么來的
? ? ? ? ? ? ? ? ? ? ? ? 1、產品經理跟客戶溝通
? ? ? ? ? ? ? ? ? ? ? ? 2、借助舊版本需求指標
? ? ? ? ? ? ? ? ? ? ? ? 3、參考競品
? ? ????????? ? 17、app的四大組件
? ? ? ? ? ? ? ????????? 1、窗口activity
? ? ? ? ? ? ? ? ? ? ? ? 作用:提供可視化界面
? ? ? ? ? ? ????????? ? 2、服務service
? ? ? ? ? ? ? ? ? ? ? ? 作用:提供后臺運行服務
? ? ? ? ? ????????? ? ? 3、廣播接收者Broadcastreceiver
? ? ? ? ? ? ? ? ? ? ? ? 作用:監聽數據的變化然后做出相應的改變,比如:手機電量低于20%,廣播接收者監聽到這個數據低于20%,做出電量圖標更改為紅色
? ? ? ? ? ? ????????? ? 4、內容提供者contentprovider
? ? ? ? ? ? ? ? ? ? ? ? 作用:給其他app提供訪問的數據。比如:手機上的通訊錄可以為多個app提供訪問渠道
? ? ? ? ????????18、如何設置monkey運行8小時
? ? ? ? ? ? ? ? 說明:monkey不能設定時長
三、抓取app數據
? ? ? ? 查看端口是否被占用:netstat -ano | findstr 端口
四、弱網測試
????????1、為什么做弱網測試
?????????????????查看app或網頁在網絡很差的情況下是否能正常工作
????????2、弱網測試實現
? ? ? ? ? ? ? ? ? ? ? ? 工具:fiddler,charles,Qnet
????????????????????????
????????????????????????