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