因項目需要,在這兩個版本開始引入弱網絡測試。本文對測試過程中真實遇到的一些有代表性的問題做一下記錄和總結。
先介紹一下使用的弱網絡測試方法:
利用Charles可以設置帶寬、延遲等參數,模擬弱網絡環境。在Charles中打開Proxy-Throttle Settings,如下圖所示,配置好參數后,啟動Throttle如藍色框標注,確定后可以看到綠色框標注處的圖標點亮。
以下是遇到的一些問題場景和可能原因分析:
場景
:上傳大圖或者多圖時,在弱網絡環境下出現進度條走到一半卡住然后又從頭開始 ;
原因
:采用分段上傳方式,在請求超時時間到時,分段傳輸沒有結束,代碼邏輯不對,導致每次重試都重頭上傳,一直循環。
場景:
在弱網絡環境下容易出現登錄不上;
原因:
登錄沒有緩沖機制,而請求超時時間的設置沒有區分同網絡情況;解決方案:針對wifi、2g、3g、4g設置不同的超時時間。
場景:
刷新頁面很快就給出暫無內容的提示,明顯沒有到請求超時時間;
原因:
可能是連接超時時間太短,wifi下設置兩秒,在弱網絡下需要加長。
場景:
弱網絡環境下,請求的數據返回時間較長,等待的過程中,如果頁面上的相關控件仍然可以操作,則有可能出現閃退現象;
原因:
依賴數據的控件操作,在數據返回前沒有做兼容處理。
場景:
搜索時輸入關鍵字會連續發請求,停下時,顯示最終的關鍵字搜索結果,但很快又會被前面的關鍵字搜索結果覆蓋了;
原因:
中間的請求返回較慢,顯示了最終的結果后,之前的請求返回的數據應不做處理。