app專項測試:app弱網測試(網絡測試流程)
一、網絡測試的一般流程
step1:首先要考慮網絡正常的情況
① 各個模塊的功能正常可用
② 頁面元素/數據顯示正常
step2:其次要考慮無網絡的情況
① APP各個功能在無網絡情況下是否可用
② APP各個頁面之間切換是否正常
③ 發送網絡請求時是否會導致閃退、卡死等異常情況
④ APP各個頁面是否顯示完整美觀,未刷新的頁面是否做了相應的提示和處理
⑤ 在無網絡情況下數據是否會丟失
⑥ 無網絡提示信息是否友好
step3:再次考慮弱網情況
① 弱網情況下APP是否針對請求做了超時處理
② 網絡延遲的情況下,操作app進行數據同步、OTA升級是否會發生Crash、ANR等嚴重錯誤
③ 弱網情況下,APP請求回調未完成時,執行其他動作以及交互時,是否會出現APP閃退(如:駕考IOS開屏閃退)等異常。
④ 弱網情況下,原始數據是否出現丟失的情況(弱網下載時會出現丟包情況)
⑤ 弱網環境下,是否會出現請求堆積的情況
⑥ 弱網環境下,APP各個頁面是否顯示完整
⑦ 系統超時,提示信息是否清晰明確
⑧ 弱網情況下APP的響應時間是否在一個合理的時間范圍內
⑨ 請求回調未完成--駕考科四難題攻克彈窗
⑩ 這個彈窗是服務器說了算,服務器知道該用戶啥時候彈彈窗。若用戶在做題頁面時返回了,則該用戶下次進入且在服務器緩存時間內,應該給出彈窗(產品邏輯:彈窗出現后用戶必須看到才消失)
⑪ 請求堆積:水池注水排水問題
step4:最后考慮網絡狀態之間的轉變
① 斷開網絡連接以后,操作APP各個功能是否正常
② 同步數據過程中,斷開網絡連接,APP是否出現異常情況
③ 傳輸數據過程中,網絡由wifi切換到gprs,APP是否出現異常情況
④ 弱網環境下發送的請求是否在恢復網絡以后出現重復提交的情況
tips:gprs---就是咱們通常所說的流量
二、背景介紹
弱網測試作為健壯性測試的重要部分,對於移動端的測試來說必不可少。
目前的網絡並非完全的流暢WiFi,目前使用最多的是2G,3G,4G,且使用場景多變,如近地鐵,上公交,進電梯,進山區等是的弱網測試顯得尤為重要。
總結:
1、弱網測試主要進行特殊網絡狀態下的功能測試,同時關注用戶體驗。
2、弱網測試主要包括弱網功能測試、無網狀態測試、網絡切換測試等
三、弱網功能測試
① 這一部分主要是在各種非wifi網絡環境下進行的功能測試,同時模擬高延時和高丟包的異常網絡環境進行健壯性測試。
② 2G/3G/4G的網絡可以通過使用電話卡移動/聯通/電信等網絡進行模擬,關注頁面的響應時間、頁面呈現是否完整一致等。
③ 高延遲和高丟包的網絡環境需要借助工具來模擬,如Charles。
④ 弱網功能測試建議將整體的功能測試用例在弱網環境下進行一輪測試,相同模塊下的功能可以分多個網絡條件進行測試。這部分發現的問題可能會有:
頁面圖片在弱網環境下加載不出來(圖片加載邏輯需優化)
需要模版的頁面版式結構混亂(模版文件在弱網環境的加載需優化)
頁面響應時間較長沒有任何顯示(頁面顯示邏輯待優化、重試機制加入)
四、弱網UI測試
弱網情況下:
APP很可能出現UI刷新不及時或者不刷新的情況,此時就可能會導致呈現在用戶面前的是一個殘缺的頁面;
偶會也會導致出現頁面UI元素錯亂的情況;
五、無網狀態測試
無網狀態測試則是在切換網絡的情況下進行的測試,主要關注頁面的顯示與交互、本地數據的存儲、斷網功能的使用等,經常該部分也需要與網絡切換部分協同進行。
斷網情況下請求非本地數據的頁面需要設定一定的時間等待上限,及時提示網絡異常以及提示重試;
斷網情況下請求部分本地數據的頁面需要觀察本地數據的部分是否加載顯示正常,待請求的部分是否符合交互給的缺省樣式一致;
斷網情況下請求完全本地數據的頁面是否顯示正常。這里還需考慮本地數據存儲的情況,有些需要聯網后上報服務器的數據本地是否正確存儲,聯網后這些數據能否正常上報。
無網狀態測試建議按照頁面划分進行,針對每個頁面單獨測試無網狀態的顯示,頁面間跳轉的顯示,頁面內功能的點擊和顯示,同時關注無網到有網時的頁面恢復顯示狀態、數據上報情況是否正常。
注:以駕考課件視頻為例做個補充
無網無緩存時做題頁面不顯示課件視頻模塊;
無網有緩存,且在緩存時間內,點擊視頻時可以正常播放;
六、網絡切換測試
這部分主要是進行幾個不同網絡場景的切換,包括:
wifi-2G/3G/4G、wifi-無網、2G/3G/4G-wifi、2G/3G/4G-無網、無網-2G/3G/4G、無網-wifi
主要關注頁面的顯示與交互,尤其:
弱網到wifi
wifi到弱網
以上兩種情況驗證是否會有頁面的crash以及顯示的錯亂、session是否一致、請求堆積處理等。
七、用戶體驗關注
弱網測試的目的就是盡可能保證用戶體驗,測試點如下:
(1)頁面響應時間是否可接受,關注包括熱啟動、冷啟動時間,頁面切換,前后台切換,首字時間,首屏時間等。
(2)頁面呈現是否完整一致
(3)超時文案是否符合定義,異常信息是否顯示正常。
(4)是否會有超時重連
(5)安全角度:是否會發生dns劫持
(6)大流量事件風險:是否會在弱網下進行更新apk包、下載文件等大流量動作。
熱啟動:已經啟動過APP了,然后切換到后台,或者退出,但是這時候應用並沒有完全退出,可能應用還有一些服務在后台啟動
冷啟動:就是之前沒啟動過APP
dns劫持:又稱域名劫持,是指在劫持的網絡范圍內攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則返回假的IP地址或者什么都不做使請求失去響應,其效果就是對特定的網絡不能訪問或訪問的是假網址。常見的分為2種:網頁劫持/運營商劫持
比如:輸入www.baidu.com,結果打開了淘寶網,就說明百度的dns被劫持了;
Android駕考寶典進入vip頁面時被劫持;
八、響應時間
安卓手機一般超過5秒鍾無響應就會報ANR的錯誤
ios手機響應時間過長也會報錯
2-5-10原則(或3-5-8):
用戶能夠忍受的最佳響應時間是2秒以內;
超過5秒無響應的話,一般性子比較急躁的用戶很可能就會直接退出頁面了;
如果超過10秒無響應,很多人都會選擇殺掉APP;
APP經常處於無響應或者響應時間過長的狀態,會導致大批的用戶轉移到競爭對手的產品上。
九、異常測試
異常測試是指驗證APP針對各種網絡異常情況是否做出了容錯處理,這里面包括:
① 異常提示信息
② 出錯容錯機制
③ 超時判斷處理機制(代碼級別)
④ 出錯以后自動重連等
tips:
容錯機制---簡單點可理解為: 我快速點擊多次,但是就響應一次
出錯后重連---就是訪問網絡,沒得到數據,在錯誤的地方重新訪問網絡。
原文地址:
https://blog.csdn.net/wangjuan_0216
https://blog.csdn.net/wangjuan_0216/article/details/86588293