android 的弱网测试,Android APP弱网测试问题和解决分析
最近做了一次移動(dòng)APP的弱網(wǎng)和中斷測(cè)試,接下來(lái)分享一下遇到的一些問(wèn)題:
1、現(xiàn)象:用戶(hù)登錄應(yīng)用時(shí)下載初始化數(shù)據(jù),下載過(guò)程中因網(wǎng)速太慢點(diǎn)擊取消并重新登錄,數(shù)據(jù)初始化完成后出現(xiàn)重復(fù),造成數(shù)據(jù)不一致。
原因:數(shù)據(jù)下載過(guò)程中、下載失敗后,未進(jìn)行數(shù)據(jù)回滾,中止后重新下載,出現(xiàn)數(shù)據(jù)重復(fù)
解決方案:通過(guò)事務(wù)處理數(shù)據(jù)下載邏輯,下載失敗后,應(yīng)用本地?cái)?shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)回滾。
2、現(xiàn)象:用戶(hù)點(diǎn)擊數(shù)據(jù)上傳,數(shù)據(jù)上傳過(guò)程中網(wǎng)絡(luò)弱且不穩(wěn)定,基于聯(lián)網(wǎng)狀態(tài)自動(dòng)觸發(fā)數(shù)據(jù)上傳,導(dǎo)致出現(xiàn)數(shù)據(jù)重復(fù)寫(xiě)入,形成臟數(shù)據(jù)
原因:數(shù)據(jù)上傳過(guò)程中,由于失敗重傳機(jī)制,會(huì)出現(xiàn)連續(xù)兩次寫(xiě)操作,并且未做唯一識(shí)別處理
解決方案:根據(jù)數(shù)據(jù)特性,對(duì)可能造成臟數(shù)據(jù)的地方,通過(guò)關(guān)鍵字段,例如創(chuàng)建時(shí)間,key-value值等生成hash鍵,標(biāo)記記錄唯一性,即數(shù)據(jù)寫(xiě)入時(shí),檢查hash鍵是否存在,如果已經(jīng)存在,當(dāng)前重復(fù)數(shù)據(jù)丟棄。
3、現(xiàn)象:在弱網(wǎng)環(huán)境下,用戶(hù)輸入用戶(hù)名和密碼點(diǎn)擊登錄,應(yīng)用鏈接超時(shí)返回用戶(hù)名和密碼錯(cuò)誤提示。
原因:在弱網(wǎng)環(huán)境下的連接超時(shí)后,按照強(qiáng)網(wǎng)業(yè)務(wù)邏輯處理,導(dǎo)致返回超時(shí)異常。
解決方案:弱網(wǎng)連接超時(shí)后,檢查應(yīng)用本地?cái)?shù)據(jù)庫(kù)是否有用戶(hù)登錄信息,若存在,獲取應(yīng)用本地用戶(hù)信息進(jìn)行登錄。
4、現(xiàn)象:在弱網(wǎng)環(huán)境下,用戶(hù)輸入用戶(hù)名和密碼后點(diǎn)擊登錄,登錄過(guò)程中應(yīng)用崩潰并且閃退。
原因:弱網(wǎng)環(huán)境下數(shù)據(jù)下載超時(shí),加載數(shù)據(jù)嚴(yán)重依賴(lài)于后來(lái)的異步加載。數(shù)據(jù)還沒(méi)來(lái)得及返回,應(yīng)用跳轉(zhuǎn)到下個(gè)activity,導(dǎo)致崩潰。
解決方案:健壯數(shù)據(jù)加載流程,通過(guò)標(biāo)記后臺(tái)數(shù)據(jù)下載狀態(tài)加載界面,依賴(lài)數(shù)據(jù)下載完成后,再進(jìn)行頁(yè)面跳轉(zhuǎn)。
5、現(xiàn)象:弱網(wǎng)絡(luò)環(huán)境下,用戶(hù)請(qǐng)求頁(yè)面響應(yīng)時(shí)間較長(zhǎng),等待的過(guò)程中,頁(yè)面上的部分控件仍然可以操作,當(dāng)用戶(hù)點(diǎn)擊控件時(shí),出現(xiàn)應(yīng)用閃退現(xiàn)象;
原因:沒(méi)有對(duì)數(shù)據(jù)加載流程進(jìn)行判斷,直接暴露控件可控,當(dāng)出現(xiàn)依賴(lài)數(shù)據(jù)的控件操作時(shí),沒(méi)有在數(shù)據(jù)返回前做兼容處理。
解決方案:在數(shù)據(jù)加載過(guò)程中,設(shè)置頁(yè)面對(duì)外暴露的控件為“不可操作”,當(dāng)數(shù)據(jù)加載完再釋放。
6、現(xiàn)象:在弱網(wǎng)環(huán)境下,用戶(hù)第一次輸入搜索關(guān)鍵字沒(méi)有得到響應(yīng)后,再次輸入全新關(guān)鍵字并發(fā)送請(qǐng)求,等待搜索結(jié)果返回后,當(dāng)前結(jié)果頁(yè)被之前的關(guān)鍵字搜索結(jié)果刷新覆蓋
原因:中間的請(qǐng)求返回較慢,顯示最終的結(jié)果后,之前請(qǐng)求返回的數(shù)據(jù)應(yīng)不做處理。
解決方案:對(duì)異步請(qǐng)求未完成的任務(wù)進(jìn)行cancel.
所以綜上所述,對(duì)于移動(dòng)APP測(cè)試,從功能、性能、穩(wěn)定、異常處理等幾個(gè)維度來(lái)歸納場(chǎng)景特性,弱網(wǎng)測(cè)試主要集中在如下場(chǎng)景:2G/3G/4G wifi-移動(dòng)網(wǎng)絡(luò)切換等。
總結(jié)
以上是生活随笔為你收集整理的android 的弱网测试,Android APP弱网测试问题和解决分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: spike 序列matlab,SPKto
- 下一篇: mysql count distinct