安全測試系列之弱網測試

APP弱網測試

用戶在使用APP的過程中,網絡條件比較複雜,如WiFi,4G,3G,2G;並且,當前有三大運營商,所提供的網絡制式不太相同。同時,用戶使用的場景也各不相同,比如室內,戶外,電梯或者停車場等。因爲不做任何處理的話很可能會崩潰閃退,很影響用戶的使用。所以對客戶端要求就比較高了,需要做容錯處理,比如異常提示,超時處理,重連機制,以及緩存機制。


 

弱網測試作爲健壯性測試的重要部分,對於移動端的測試來說必不可少。主要包含以下幾個方面。
 

弱網功能測試

這一部分主要是在各種非wifi網絡環境下進行的功能測試,同時模擬高延時和高丟包的異常網絡環境進行健壯性測試。
2G/3G/4G的網絡可以通過使用電話卡移動/聯通/電信等網絡進行模擬,關注頁面的響應時間、頁面呈現是否完整一致等。
高延遲和高丟包的網絡環境需要藉助工具來模擬,如Charles。IOS手機自帶開發者模式

弱網功能測試建議將整體的功能測試用例在弱網環境下進行一輪測試,相同模塊下的功能可以分多個網絡條件進行測試。這部分發現的問題可能會有:

頁面圖片在弱網環境下加載不出來(圖片加載邏輯需優化)

需要模版的頁面版式結構混亂(模版文件在弱網環境的加載需優化)

頁面響應時間較長沒有任何顯示(頁面顯示邏輯待優化、重試機制加入)

 

弱網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

 

響應時間

1.安卓手機一般超過5秒鐘無響應就會報ANR的錯誤

2.ios手機響應時間過長也會報錯

3.2-5-10原則(或3-5-8):

4.用戶能夠忍受的最佳響應時間是2秒以內;

5.超過5秒無響應的話,一般性子比較急躁的用戶很可能就會直接退出頁面了;

6.如果超過10秒無響應,很多人都會選擇殺掉APP;

7.APP經常處於無響應或者響應時間過長的狀態,會導致大批的用戶轉移到競爭對手的產品上。

 

異常測試

異常測試是指驗證APP針對各種網絡異常情況是否做出了容錯處理,這裏麪包括:

異常提示信息

出錯容錯機制

超時判斷處理機制(代碼級別)

出錯以後自動重連等

tips:

容錯機制—-簡單點可理解爲: 我快速點擊多次,但是就響應一次

出錯後重連—-就是訪問網絡,沒得到數據,在錯誤的地方重新訪問網絡。

 

弱網測試一般流程

step1:首先要考慮網絡正常的情況

各個模塊的功能正常可用

頁面元素/數據顯示正常

 

step2:其次要考慮無網絡的情況

APP各個功能在無網絡情況下是否可用

APP各個頁面之間切換是否正常

發送網絡請求時是否會導致閃退、卡死等異常情況

APP各個頁面是否顯示完整美觀,未刷新的頁面是否做了相應的提示和處理

在無網絡情況下數據是否會丟失

無網絡提示信息是否友好

 

step3:再次考慮弱網情況

弱網情況下APP是否針對請求做了超時處理

網絡延遲的情況下,操作app進行數據同步、OTA升級是否會發生Crash、ANR等嚴重錯誤

弱網情況下,APP請求回調未完成時,執行其他動作以及交互時,是否會出現APP閃退(如:駕考IOS開 屏閃退)等異常。

弱網情況下,原始數據是否出現丟失的情況(弱網下載時會出現丟包情況)

弱網環境下,是否會出現請求堆積的情況

弱網環境下,APP各個頁面是否顯示完整

系統超時,提示信息是否清晰明確

弱網情況下APP的響應時間是否在一個合理的時間範圍內

請求回調未完成—駕考科四難題攻克彈窗

這個彈窗是服務器說了算,服務器知道該用戶啥時候彈彈窗。若用戶在做題頁面時返回了,則該用戶下次進入且在服務器緩存時間內,應該給出彈窗(產品邏輯:彈窗出現後用戶必須看到才消失)

請求堆積:水池注水排水問題

 

step4:最後考慮網絡狀態之間的轉變

斷開網絡連接以後,操作APP各個功能是否正常

同步數據過程中,斷開網絡連接,APP是否出現異常情況

傳輸數據過程中,網絡由wifi切換到gprs,APP是否出現異常情況

弱網環境下發送的請求是否在恢復網絡以後出現重複提交的情況

tips:gprs—-就是咱們通常所說的流量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章