一、背景和目的:
成都創(chuàng)新互聯(lián)主營(yíng)蒼梧網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,App定制開(kāi)發(fā),蒼梧h5微信小程序開(kāi)發(fā)搭建,蒼梧網(wǎng)站營(yíng)銷推廣歡迎蒼梧等地區(qū)企業(yè)咨詢由于目前App前端業(yè)務(wù)測(cè)試很少關(guān)注后端網(wǎng)絡(luò)接口的異常情況,客戶端QA在項(xiàng)目測(cè)試時(shí)往往局限于關(guān)注測(cè)試功能,導(dǎo)致測(cè)試粒度較粗。即使按照CheckList過(guò)功能點(diǎn),客戶端QA對(duì)后端接口的覆蓋情況也很難做到明確把握。
Fiddler是我們?cè)诳蛻舳藴y(cè)試時(shí)使用比較普遍的工具,常用于HTTP抓包、構(gòu)造請(qǐng)求等等。原生的fiddler插件,缺乏對(duì)包大小,網(wǎng)絡(luò)請(qǐng)求時(shí)長(zhǎng)、接口訪問(wèn)頻次、接口覆蓋度等維度進(jìn)行網(wǎng)絡(luò)請(qǐng)求的分析,同時(shí)提供網(wǎng)速控制的功能,下文介紹開(kāi)發(fā)定制fiddler插件輔助app業(yè)務(wù)測(cè)試。
二、工具實(shí)現(xiàn)原理
首先了解一下fiddler的實(shí)現(xiàn)http代理請(qǐng)求的原理,方便我們深入的研究。Fiddler實(shí)現(xiàn)的原理是截獲了windows的winnet接口,在轉(zhuǎn)發(fā)服務(wù)器請(qǐng)求和響應(yīng)的階段,可以hook住傳遞的參數(shù),達(dá)到監(jiān)控甚至修改網(wǎng)絡(luò)數(shù)據(jù)包的能力。如下圖所示,fiddler提供了4個(gè)接口,AutotamperRequestBefore,AutotamperRequestAfter,AutotamperResponseBefore,AutotamperResponseAfter。
我們?cè)谧约翰寮袑?shí)現(xiàn)這四個(gè)方法即可滿足我們自己的測(cè)試需求。在我遇到的項(xiàng)目中,我們實(shí)現(xiàn)了以下功能。
1、 發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求包的異常問(wèn)題,例如,接口數(shù)據(jù)包大小過(guò)大,幫助分析接口是否存在冗余數(shù)據(jù),從而節(jié)省用戶使用app的網(wǎng)絡(luò)流量負(fù)擔(dān)。
2、 發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求時(shí)間超時(shí)異常問(wèn)題,例如,發(fā)現(xiàn)接口訪問(wèn)時(shí)間過(guò)大,幫助發(fā)現(xiàn)后端潛在的邏輯錯(cuò)誤。
3、 發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求訪問(wèn)頻次異常問(wèn)題,例如,app頁(yè)面緩存機(jī)制是否正常;接口是否因?yàn)榘l(fā)送時(shí)機(jī)不對(duì)導(dǎo)致頻繁發(fā)送。
4、業(yè)務(wù)測(cè)試可以分析接口覆蓋度,指導(dǎo)后續(xù)測(cè)試重點(diǎn),使測(cè)試點(diǎn)更完整,避免漏測(cè)。
5、修改請(qǐng)求響應(yīng)延遲,模擬各種網(wǎng)速,如2,3g網(wǎng)絡(luò),斷網(wǎng)等情況,方便測(cè)試各種網(wǎng)絡(luò)異常case。
程序示例如下:
三、工具的主要功能:
1. 包大小分析:
Packet Size tab顯示根據(jù)host.ini中配置的host過(guò)濾結(jié)果,按照請(qǐng)求的包的大小進(jìn)行降序排列;用于分析異常的網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)包。
Reset按鈕前面的兩個(gè)數(shù)字分別對(duì)應(yīng)測(cè)試過(guò)程中,請(qǐng)求的總流量和總耗時(shí);
兩個(gè)窗口分別實(shí)時(shí)顯示請(qǐng)求的包大小和請(qǐng)求的次數(shù),并給出峰值;
2. 請(qǐng)求時(shí)長(zhǎng)分析:
過(guò)濾之后的URL按照請(qǐng)求耗時(shí)的降序排列,請(qǐng)求耗時(shí)為ClientBeginRequest與ClientDoneResponse之間的時(shí)間差值。根據(jù)網(wǎng)絡(luò)請(qǐng)求耗時(shí),判斷異常請(qǐng)求。
3. 請(qǐng)求次數(shù):
請(qǐng)求次數(shù)和測(cè)試執(zhí)行過(guò)程對(duì)比,分析是否存在重復(fù)多次發(fā)送某請(qǐng)求。
4. 接口覆蓋情況監(jiān)控:
Coverage tab下需要監(jiān)控的接口通過(guò)coverurl.ini配置,在測(cè)試過(guò)程中,覆蓋到的接口,對(duì)應(yīng)的小方塊顯示填充,否則不填充。對(duì)監(jiān)控接口的覆蓋率進(jìn)行實(shí)時(shí)統(tǒng)計(jì),結(jié)果如餅圖所示:
通過(guò)接口覆蓋情況監(jiān)控,可以知道客戶端QA在測(cè)試過(guò)程中對(duì)后端接口,尤其是新增接口覆蓋情況,對(duì)測(cè)試覆蓋的全面情況以及CheckList的設(shè)計(jì)提供知道;客戶端測(cè)試應(yīng)重視對(duì)新增接口的覆蓋。
5. 網(wǎng)速控制
通過(guò)拖動(dòng)TrackBar上的滑塊設(shè)置網(wǎng)速的值;可以用來(lái)模擬不同的網(wǎng)絡(luò)環(huán)境:
例如,無(wú)限制下的WiFi環(huán)境;3G網(wǎng)絡(luò)(40-500kb/s);2G網(wǎng)絡(luò)(8kb/s);斷網(wǎng)。
無(wú)限制:
斷網(wǎng):
利用網(wǎng)絡(luò)模擬,結(jié)合以上1-4點(diǎn)功能,方便測(cè)試各種網(wǎng)絡(luò)異常case。
四、還可以做的更多
上面已經(jīng)實(shí)現(xiàn)的功能主要集中在接口數(shù)據(jù)的監(jiān)控上,其實(shí),我們不是不可以更進(jìn)一步,實(shí)現(xiàn)接口數(shù)據(jù)的修改,這也就意味著我們實(shí)現(xiàn)了一個(gè)通用的移動(dòng)app測(cè)試mock平臺(tái)了!
參考文獻(xiàn):
1.Fiddler開(kāi)發(fā)官方doc文檔:http://docs.telerik.com/fiddler/Extend-Fiddler/ExtendWithDotNet
更多干貨分享請(qǐng)關(guān)注”百度MTC學(xué)院“http://mtc.baidu.com/academy/article
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享名稱:基于fiddler插件開(kāi)發(fā)的移動(dòng)測(cè)試網(wǎng)絡(luò)監(jiān)控與分析-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article12/phedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容