我在做移動測試時,弱網(wǎng)測試是必須要測試的一項,問題也是多而雜,主要是集中以下六個問題上,給大家分別做詳細分析和解決方案。
問題一:在弱網(wǎng)環(huán)境下,用戶第一次輸入搜索關(guān)鍵字沒有得到響應(yīng)后,再次輸入全新關(guān)鍵字并發(fā)送請求,等待搜索結(jié)果返回后,當(dāng)前結(jié)果頁被之前的關(guān)鍵字搜索結(jié)果刷新覆蓋。
分析:中間的請求返回較慢,顯示終的結(jié)果后,之前請求返回的數(shù)據(jù)應(yīng)不做處理。
解決:對異步請求未完成的任務(wù)進行cancel.
問題二:用戶登錄應(yīng)用時下載初始化數(shù)據(jù),下載過程中因網(wǎng)速太慢點擊取消并重新登錄,數(shù)據(jù)初始化完成后出現(xiàn)重復(fù),造成數(shù)據(jù)不一致。
分析:數(shù)據(jù)下載過程中、下載失敗后,未進行數(shù)據(jù)回滾,中止后重新下載,出現(xiàn)數(shù)據(jù)重復(fù)
解決:通過事務(wù)處理數(shù)據(jù)下載邏輯,下載失敗后,應(yīng)用本地數(shù)據(jù)庫進行數(shù)據(jù)回滾。
問題三:弱網(wǎng)絡(luò)環(huán)境下,用戶請求頁面響應(yīng)時間較長,等待的過程中,頁面上的部分控件仍然可以操作,當(dāng)用戶點擊控件時,出現(xiàn)應(yīng)用閃退現(xiàn)象。
分析:沒有對數(shù)據(jù)加載流程進行判斷,直接暴露控件可控,當(dāng)出現(xiàn)依賴數(shù)據(jù)的控件操作時,沒有在數(shù)據(jù)返回前做兼容處理。
解決:在數(shù)據(jù)加載過程中,設(shè)置頁面對外暴露的控件為“不可操作”,當(dāng)數(shù)據(jù)加載完再釋放。
問題四:用戶點擊數(shù)據(jù)上傳,數(shù)據(jù)上傳過程中網(wǎng)絡(luò)弱且不穩(wěn)定,基于聯(lián)網(wǎng)狀態(tài)自動觸發(fā)數(shù)據(jù)上傳,導(dǎo)致出現(xiàn)數(shù)據(jù)重復(fù)寫入,形成臟數(shù)據(jù)。
分析:數(shù)據(jù)上傳過程中, 由于失敗重傳機制,會出現(xiàn)連續(xù)兩次寫操作,并且未做識別處理
解決:根據(jù)數(shù)據(jù)特性,對可能造成臟數(shù)據(jù)的地方,通過關(guān)鍵字段,例如創(chuàng)建時間,key-value值等生成hash鍵,標(biāo)記記錄性,即數(shù)據(jù)寫入時,檢查hash鍵是否存在,如果已經(jīng)存在,當(dāng)前重復(fù)數(shù)據(jù)丟棄。
問題五:在弱網(wǎng)環(huán)境下,用戶輸入用戶名和密碼后點擊登錄,登錄過程中應(yīng)用崩潰并且閃退。
分析:弱網(wǎng)環(huán)境下數(shù)據(jù)下載超時,加載數(shù)據(jù) 嚴重依賴于后來的異步加載。數(shù)據(jù)還沒來得及返回,應(yīng)用跳轉(zhuǎn)到下個activity,導(dǎo)致崩潰。
解決:健壯數(shù)據(jù)加載流程,通過標(biāo)記后臺數(shù)據(jù)下載狀態(tài)加載界面,依賴數(shù)據(jù)下載完成后,再進行頁面跳轉(zhuǎn)。
問題六:在弱網(wǎng)環(huán)境下,用戶輸入用戶名和密碼點擊登錄,應(yīng)用鏈接超時返回用戶名和密碼錯誤提示。
分析:在弱網(wǎng)環(huán)境下的連接超時后,按照強網(wǎng)業(yè)務(wù)邏輯處理,導(dǎo)致返回超時異常。
解決:弱網(wǎng)連接超時后,檢查應(yīng)用本地數(shù)據(jù)庫是否有用戶登錄信息,若存在,獲取應(yīng)用本地用戶信息進行登錄。
可能在現(xiàn)實App測試項目中,還有其它疑難雜癥多樣問題,可以參考上面分析bug問題的思路和解決辦法。
本文內(nèi)容不用于商業(yè)目的,如涉及知識產(chǎn)權(quán)問題,請權(quán)利人聯(lián)系SPASVO小編(021-60725088-8054),我們將立即處理,馬上刪除。