弱網測試對於移動端的測試來說必不可少,目前的網路並非完全的流暢WiFi,現在的人們更習慣在地鐵裡,公交上,甚至是電梯,車庫等等的場景裡去關注一些新聞動態,看看短影片,直播,玩遊戲等等。在這個時候,我們就需要針對這些場景,去關注一下APP的執行狀態,以及弱網環境下,出現丟包、延時軟體的處理機制,避免造成使用者的流失。
一、網路測試的一般流程
step1:首先要考慮網路正常的情況
① 各個模組的功能正常可用
② 頁面元素/資料顯示正常
step2:其次要考慮無網路的情況
① APP各個功能在無網路情況下是否可用
② APP各個頁面之間切換是否正常
③ 傳送網路請求時是否會導致閃退、卡死等異常情況
④ APP各個頁面是否顯示完整美觀,未重新整理的頁面是否做了相應的提示和處理
⑤ 在無網路情況下資料是否會丟失
⑥ 無網路提示資訊是否友好
step3:再次考慮弱網情況
① 弱網情況下APP是否針對請求做了超時處理
② 網路延遲的情況下,操作app進行資料同步、OTA升級是否會發生Crash、ANR等嚴重錯誤
③ 弱網情況下,APP請求回撥未完成時,執行其他動作以及互動時,是否會出現APP閃退等異常。
④ 弱網情況下,原始資料是否出現丟失的情況(弱網下載時會出現丟包情況)
⑤ 弱網環境下,是否會出現請求堆積的情況
⑥ 弱網環境下,APP各個頁面是否顯示完整
⑦ 系統超時,提示資訊是否清晰明確
⑧ 弱網情況下APP的響應時間是否在一個合理的時間範圍內
⑨ 請求回撥未完成--駕考科四難題攻克彈窗
⑩ 這個彈窗是伺服器說了算,伺服器知道該使用者啥時候彈彈窗。若使用者在做題頁面時返回了,則該使用者下次進入且在伺服器快取時間內,應該給出彈窗(產品邏輯:彈窗出現後用戶必須看到才消失)
⑪ 請求堆積:水池注水排水問題
step4:最後考慮網路狀態之間的轉變
① 斷開網路連線以後,操作APP各個功能是否正常
② 同步資料過程中,斷開網路連線,APP是否出現異常情況
③ 傳輸資料過程中,網路由wifi切換到gprs,APP是否出現異常情況
④ 弱網環境下發送的請求是否在恢復網路以後出現重複提交的情況
二、弱網測試要點
1、弱網測試主要進行特殊網路狀態下的功能測試,同時關注使用者體驗。
2、弱網測試主要包括弱網功能測試、無網狀態測試、網路切換測試等。
三、弱網功能測試
① 這一部分主要是在各種非wifi網路環境下進行的功能測試,同時模擬高延時和高丟包的異常網路環境進行健壯性測試。
② 3G/4G/5G的網路可以透過使用電話卡移動/聯通/電信等網路進行模擬,關注頁面的響應時間、頁面呈現是否完整一致等。
③ 高延遲和高丟包的網路環境需要藉助工具來模擬。
④ 弱網功能測試建議將整體的功能測試用例在弱網環境下進行一輪測試,相同模組下的功能可以分多個網路條件進行測試。這部分發現的問題可能會有:頁面圖片在弱網環境下載入不出來(圖片載入邏輯需最佳化) 需要模版的頁面版式結構混亂(模版檔案在弱網環境的載入需最佳化) 頁面響應時間較長沒有任何顯示(頁面顯示邏輯待最佳化、重試機制加入)。
四、弱網UI測試
弱網情況下:APP很可能出現UI重新整理不及時或者不重新整理的情況,此時就可能會導致呈現在使用者面前的是一個殘缺的頁面;偶會也會導致出現頁面UI元素錯亂的情況。
五、無網狀態測試
無網狀態測試則是在切換網路的情況下進行的測試,主要關注頁面的顯示與互動、本地資料的儲存、斷網功能的使用等,經常該部分也需要與網路切換部分協同進行。
斷網情況下請求非本地資料的頁面需要設定一定的時間等待上限,及時提示網路異常以及提示重試;
斷網情況下請求部分本地資料的頁面需要觀察本地資料的部分是否載入顯示正常,待請求的部分是否符合互動給的預設樣式一致;
斷網情況下請求完全本地資料的頁面是否顯示正常。這裡還需考慮本地資料儲存的情況,有些需要聯網後上報伺服器的資料本地是否正確儲存,聯網後這些資料能否正常上報。
無網狀態測試建議按照頁面劃分進行,針對每個頁面單獨測試無網狀態的顯示,頁面間跳轉的顯示,頁面內功能的點選和顯示,同時關注無網到有網時的頁面恢復顯示狀態、資料上報情況是否正常。
六、使用者體驗關注
弱網測試的目的就是儘可能保證使用者體驗,測試點如下:
(1)頁面響應時間是否可接受,關注包括熱啟動、冷啟動時間,頁面切換,前後臺切換,首字時間,首屏時間等。
(2)頁面呈現是否完整一致
(3)超時文案是否符合定義,異常資訊是否顯示正常。
(4)是否會有超時重連
(5)安全形度:是否會發生dns劫持
(6)大流量事件風險:是否會在弱網下進行更新apk包、下載檔案等大流量動作。
熱啟動:已經啟動過APP了,然後切換到後臺,或者退出,但是這時候應用並沒有完全退出,可能應用還有一些服務在後臺啟動
冷啟動:就是之前沒啟動過APP
dns劫持:又稱域名劫持,是指在劫持的網路範圍內攔截域名解析的請求,分析請求的域名,把審查範圍以外的請求放行,否則返回假的IP地址或者什麼都不做使請求失去響應,其效果就是對特定的網路不能訪問或訪問的是假網址。常見的分為2種:網頁劫持/運營商劫持
比如:輸入百度的網址,結果打開了京東網,就說明百度的dns被劫持了。
七、響應時間
安卓手機一般超過5秒鐘無響應就會報ANR的錯誤
ios手機響應時間過長也會報錯2-5-10原則(或3-5-8):使用者能夠忍受的最佳響應時間是2秒以內;超過5秒無響應的話,一般性子比較急躁的使用者很可能就會直接退出頁面了;如果超過10秒無響應,很多人都會選擇關閉APP;APP經常處於無響應或者響應時間過長的狀態,會導致大批的使用者轉移到競爭對手的產品上。
八、異常測試
異常測試是指驗證APP針對各種網路異常情況是否做出了容錯處理,這裡麵包括:
① 異常提示資訊
② 出錯容錯機制
③ 超時判斷處理機制(程式碼級別)
④ 出錯以後自動重連等