3.4.4拼團購測試點?
功能位置:營銷-----拼團購
后臺優惠促銷列表管理可以添加拼團,查看拼團活動,啟動活動,編輯活動,刪除活動。
可以查看拼團活動中已下單的訂單以狀態
?需求分析?
?功能和添加拼團?
?商品拼團活動頁?
?3.4.5APP搜索測試?
?3.4.6APP支付?
?3.4.7APP評論?
?3.5APP專項測試?
?3.5.1APP兼容性?
APP在不同的機型上由于軟件、硬件等不同可能出現各種各樣的問題,因此需要做兼容性測試
?例如?
手機型號
操作系統版本(安卓、鴻蒙、ios)
分辨率屏幕尺寸(1.5k、2k、1080P)
網絡(wifi、5G、4G)
應用兼容性
?手機硬件?
物理按鍵:home鍵、電源鍵、音量調節
外部硬件:耳機、藍牙
操作系統設置:wlan設置、系統時間調節、Lbs定位
與其他APP兼容:有后臺播放功能的APP,例如音樂
?拓展?
如何選擇品牌、機型、系統、分辨率、網絡?
查看線上排名網站(流量研究院)
?browser??http://tongji.baidu.com/data/browser?
?比如?
測試網站
?3.5.2APP安裝卸載升級?
APP是客戶端程序,客戶端程序就需要提前進行安裝才能使用,因此需要測試安裝、卸載、升級操作。
?安裝測試關注點:?
?正常場景:
?
在不同的操作系統版本上安裝
從不同的安裝渠道安裝(APP商城、手機助手、直接下載apk或者ipa文件安裝)
不同的安裝路徑(安裝到手機上、安裝到SD卡上)
?異常場景:
?
安裝時出現異常(關機、斷網),恢復后能否繼續安裝
安裝時存儲空間不足
安裝時手動取消后再次安裝
正在運行時覆蓋安裝
低版本覆蓋安裝高版本
卸載后安裝(卸載會是否會清除數據)
?卸載測試關注點:?
正常卸載(APP手動卸載、工具(第三方軟件)卸載)
運行時卸載(后臺運行)
取消卸載(第三方軟件\二次彈窗確認時取消)
卸載異常中斷(關機)
卸載后無數據殘留(給用戶提示確認,如果用戶同意殘留,可以保留數據;如果用戶拒絕殘留,不可以保留數據)(不做任何確認提示,默認需要清空殘留數據)
?升級測試關注點:?
從臨近版本升級(上一次發布的版本)
跨版本升級(歷史發布過的版本): 當前版本是n n-1升級n n-2升級n
不同渠道升級(應用商城、手機助手)
升級提醒成功(可不提醒、可以提示升級、強制升級)
升級前是否提醒(消息推送提示升級\強制升級不提醒)
-
自己自研升級系統(日常升級/強制升級)
-
使用第三方(日常升級/強制升級)
應用內升級時非WIFI提醒
版本是否有升級能力
?注意事項?
升級后要觀察升級前的數據正常
(當數據結構改變而開發沒有處理好時很容易升級前的數據混亂)
?3.5.3APP交叉事件測試?
又叫沖突測試或者干擾測試,是指一個功能正在執行過程中,另外一個事件或操作對該過程進行干擾的測試。例如:在App前臺/后臺運行同時接聽來電或者下載文件等。
APP運行時接打電話
APP運行時收發消息
APP運行時查看應該推送
APP運行接上藍牙設備
APP運行時接受文件彈窗提醒
APP運行時旋轉屏幕
APP運行時切換網絡(4G、5G、wi-fi)
APP運行時使用相機、計算機等手機自帶應用
APP運行時點亮告警、插拔充電器
?3.5.4Push消息測試?
什么是Push消息?
Push消息:是APP給你推送的各種消息
通常手機中“設置”--"通知"就是進行push消息的設置,因此需要進行push消息測試。
什么時候會使用Push消息?
消息推送場景:
產品角度:功能需要,如:咨詢類產品的新聞推送,工具類產品的公告推送、快遞簽收通知,等等。
運營角度:活動運營需要,如:電商類產品的促銷活動;召回用戶/提高活躍度等
?Push消息測試關注點?
?3.5.5用戶體驗測試關注點?
?3.6APP性能測試?
?學習目標:?
能使用SoLoPi完成APP的性能測試(CPU、內存、流暢度、流量、電量、啟動速度、穩定性)
能獨立說出常用APP命令格式(內存、CPU、安裝、卸載、流量、啟動時間、抓取日志)
能使用命令測試APP客戶端的穩定性(monkey)
?3.6.1SoLoPi?
是一個無線化、非侵入式的Android自動化工具,具備錄制回放、性能測試等功能
soloPi安裝:
免費,可獨立安裝的soloPi(APK、IOS無該版本),像普通APP一樣安裝。
?3.6.2性能測試常見指標?
性能:是衡量APP質量的一個重要指標
常見的性能指標:內存、cpu、流量、電量、啟動速度、流暢度、穩定性
關注點:
APP使用時對cpu、內存的占用情況
app使用時是否流暢
APP使用時,電量流量的消耗情況
APP的啟動時間是否過長
APP是否能長時間穩定運行
?3.6.3內存數據查看?
內存泄漏:內存的曲線持續增長(贈的遠比減的多)
內存溢出:一定因為有內存泄漏才會出現,內存持續增加突然降為0(應用停止運行)
?3.6.4CPU?
?基線:
?
如果有基線要求,cpu曲線圖是否存在長期超過基線的現象(min)
如果沒有基線,行業默認90%
?CPU占用過高可能出現的問題:
?
手機發燙、頁面卡頓、電量消耗嚴重
?快速恢復:
?
清空后臺運行的進程
?3.6.5流量和電量消耗?
SoloPi工具提供了流暢度的監控指標:網絡
?網絡:
?
即網絡流量,可以自動統計APP每秒上行和下行的報文大小
?常用的流量測試方法:
?
統計測試法:利用工具獲取應用程序收發的數據報文,統計對應流量
?流量:
?
使用了多長時間,消耗了多少流量
測試怎么測:例如:1小時持續刷新,查看流量消耗
?電量:
?
未充電情況下
使用了多長時間,消耗了多少電量
測試怎么測:例如:1小時持續刷新,查看電量消耗
?面試題:
?
?打開頁面速度過慢,如何優化??
數據的壓縮
不同數據格式的采用
控制訪問的頻次
只獲取必要的數據
緩存機制
針對不同的網絡類型設置不同的訪問策略
?常見的耗電量大的場景:?
定位,尤其是調用GPS定位
網絡傳輸,尤其是非WiFi環境
屏幕亮度
CPU運算:復雜的運算邏輯、死循環等會直接導致CPU負載過高,會導致耗電
wake-locker(鎖屏-解鎖)時間和次數
?電量測試方法
?
電量的測試結果分析:
我們可以根據不同的業務場景測試出對應的電量消耗數據,但是是否有問題需要對比分析,對比方法:
與基準數據對比。(基準數據來自于產品經理,或者以往數據積累)
橫向對比,拉上競品一起測(目前多采用這種方式)
同樣的網絡、手機,相同的測試場景,最后對比我們的產品和競品在耗電量反面的差距,給出優化建議
?3.6.6獲取啟動時間?
?APP啟動測試:
?
測試從啟動app到主頁面顯示的時間,打開一個app等待的時間過長時,就會有一種較差的體驗
冷啟動:APP離線的狀態下啟動
熱啟動:APP后臺運行的狀態下啟動,時間短
?3.6.7流暢度?
?什么是流暢度?
?
當一張張圖片切換速度足夠快的時候會欺騙我們的眼睛,以為是連續的動作
?幀率FPS:
?
GPU在一秒內繪制的幀數(簡單理解為一秒內呈現給用戶的圖片數)
FPS值越高畫面越流暢
?注意事項:
?
當頁面多為靜態時,FPS值是很小正常的
頁面數據多為動態加載時,FPS值比較大
?3.6.8模擬器常見異常處理?
問題1:devices offline(設備離線)解決方案:重啟模擬器
問題2:devices not found(找不到設備)解決方案:重啟模擬器
問題3:more than one devices emulater(連接多個設備)
獲取設備列表:adb devices
斷開不需要設備:adb disconnect 手機ip
?3.6.9APP穩定性?
?穩定性測試:
?
通過長時間對應用程序進行無序操作,檢驗應用程序是否會出現異常。如閃退crash、無響應ANR等。
?穩定性測試工具——Monkey
?
Monkey是一個命令行工具,有安卓官方提供
測試人員可以通過Monkey來模擬用戶的觸摸、點擊、滑動以及系統按鍵等操作(操作事件都是隨機的),從而實現對APP壓力的測試和穩定性測試。(具體Monkey的使用在后續app自動化章節介紹)
開發人員結合monkey打印的日志和系統打印的日志,修改測試中出現的問題。
?穩定性測試的時機:
?
一般需要等產品穩定了,bug比較少的時候,再用monkey去測試待測試應用的穩定性
?3.7APP命令格式?
為什么要學習命令?
效率高
面試會問
工具的本質也是調用命令
解決工具的能力邊界
?3.7.1ADB工具?
ADB是一個通用命令行工具,也是Android軟件測試開發工作者常用的調試工具
ADB可以用來安裝卸載軟件、管理安卓系統軟件、啟動測試、抓取操作日志。
?3.7.2常用命令?
1.查看已連接的設備列表:adb devices
2.斷開連接設備:adb disconnect 手機 ip
3.連接設備:adb connect 手機 ip(保證手機和電腦處于同一網段)
4.開啟adb服務:adb start-server
5.關閉adb服務:adb kill-server
6.安裝軟件包:adb install /路徑/軟件包文件名(?-r 保留數據 -t 強制覆蓋 ?例如:adb install -r -t /路徑/軟件包名)
7.卸載軟件:adb uninstall(app包名:apk包名)
列出手機裝的所有app的包名:adb shell pm list packages
列出系統應用的所有包名:adb shell pm list packages -s
列出除了系統應用的第三方應用包名:adb shell pm list packages -3
8.獲取當前窗口:Windows:adb shell dumpsys window | findstr mCurrentFocus
9.清除應用數據與緩存:adb shell pm clear (apk包名)
10.獲取APP啟動時間:
格式:adb shell am start -W 包名/activity名
常見參數:-s 表示每次啟動前先強行停止 -r 表示重復測試次數(啟動次數)-w 獲取時間
常見3個指標:
ThisTime:當前activity的時間
TotalTime:應用的啟動時間,包括創建進程、App初始化、Activity初始化到界面顯示
WaitTime:前一個應用activity pause的時間 + TotalTime
11.獲取內存:
格式:adb shell dumpsys meminfo <包名>
12.查看cpu占用情況:
13.獲取APP使用流量
1.獲取UserID(返回數據位userID=)
adb shell dumpsys package 包名 | findstr userId
2.獲取上行流量(返回數據單位bytes)
adb shell cat proc/uid_stat/userId/tcp_snd
3.獲取下行流量(返回數據單位bytes)
adb shell cat proc/uid_stat/userId/tcp_rcv
?3.5.3穩定性測試(Monkey)?
1.adb shell monkey -p 包名 數字 -v > 本地文件
2.-v -v -v最高日志
3.常用命令:adb shell monkey -p 包名 10000 -v-v-v --throttle 500 > 本地文件
總結:
功能測試結束,6月份學習動力不足,學習效率極度降低,7月1日復習前面知識,然后加快進度。8號開始實習,邊實習邊學習!!!