Fiddler在軟件測試中的具體應用

一、抓包,輔助定位bug(web中類似谷歌瀏覽器F12開發(fā)調試工具)

????????合格的軟件測試工程師,不僅僅需要能夠發(fā)現(xiàn)bug,還需要能透過bug表象,分析出問題根本原因,從而提升bug的解決效率,通過fiddler可以抓取接口請求的request和response,通過對參數(shù)進行分析,可以定位是前端問題還是后臺問題,直接找到對應的開發(fā)人員,可以快速解決問題。

1.1、示例--APP抓包分析

? ? ? ? 配置前提:手機與電腦在同一局域網(wǎng)

? ? ? 配置步驟:

? ? ? ? ? ? 1、Fiddler設置打開Fiddler, Tools-> Options。選中"Allow remote computers to connect". 是允許別的機器把HTTP/HTTPS請求發(fā)送到Fiddler上來(配置完后記得要重啟Fiddler).

? ? ? ? ? ? 2、獲取電腦ip地址:cmd輸入ipconfig,或者直接通過fiddler查看,鼠標放在fiddler界面右上角網(wǎng)絡連接圖標處,即可展示本機ip(如圖)。

????????????3、打開手機, 找到你的無線網(wǎng)絡連接, 打開HTTP代理,選擇“手動”, 輸入Fiddler所在機器的IP地址(比如:192.168.1.104) 以及Fiddler的端口號8888

????????????4、手機安裝證書:首先要知道Fiddler所在的機器的IP地址,手機瀏覽器訪問“ip地址:8888”,F(xiàn)iddlerRoot certificate" 然后安裝證書并設置信任。


二、構建需要的測試場景(通過攔截篡改接口的請求或返回)

????????在測試過程中,為了測試覆蓋率,往往需要執(zhí)行很多場景的用例來驗證某一功能在各種場景下的業(yè)務處理能力,包括正常、異常的場景;而僅僅通過頁面端來發(fā)起校驗,往往是不能夠模擬所有場景的。另外,如果系統(tǒng)調用的有外部接口,根據(jù)外部接口的不同返回結果進行不同的邏輯處理,那么就需要外部接口的提供方配合我們進行測試,而在實際操作中這是很難做到的,這個時候我們就可以使用fiddler來篡改接口返回的數(shù)據(jù),構造我們需要的測試場景,可以大大提高我們的測試效率。

? ? 2.1、斷點篡改請求參數(shù)

? ? ? ? 舉例:boss后臺模擬充值

? ? ? ? 輸入充值金額,提交前,進行斷點設置,fiddler中選中Rules->Automatic Breakpoints->Before Requests;頁面進行業(yè)務操作,此時在fiddler頁面可以看見對應的請求圖標會有個紅色通行標示,表示請求過程中設置了斷點,客戶端發(fā)出的請求被fiddler攔截了

在左側點擊這個請求,在右側Inspectors->TextView或WebForms等界面下會看到請求發(fā)送的具體內容,直接修改需要模擬的測試場景數(shù)據(jù),再點擊右下頁面的run to complete按鈕即可。

此時再看接口,會發(fā)現(xiàn)接口向服務器發(fā)送的請求是我們篡改過的。此方法在充值,購物支付等重要場景可以對服務端的安全性進行校驗。本質是繞過前端的限制直接向服務端發(fā)起請求,有多種應用場景

? ? 2.2、接口指向本地資源。在本地文件中配置你想要的的返回結果,請求特定接口時返回你自己配置的資源。

????????舉例:將“baidu”這個關鍵字跟本地電腦的一張圖片綁定,再訪問帶有“baidu”關鍵字的地址,就會被劫? ? ? ? ? ? 持,具體步驟如圖所示:


? ? 2.3、直接修改指定接口的返回結果,構造所需要的測試場景

? ? ? ? 舉例:

三、APP弱網(wǎng)模擬測試,網(wǎng)絡延遲

移動端測試,常常會對網(wǎng)絡有一定要求,因為移動端使用的網(wǎng)絡環(huán)境是多變的,傳統(tǒng)方法要滿足不同網(wǎng)絡可能要將移動端置于不同網(wǎng)絡的真實環(huán)境中,但是fiddler可以幫助實現(xiàn)此功能。

舉例:APP弱網(wǎng)測試

  fiddler中選中Rules->Cutomize Rules,Ctrl+F搜索關鍵字:m_SimulateModem;

  首先修改m_SimulateModem值為true,開啟網(wǎng)絡模擬

????修改uploaded、downloaded的數(shù)據(jù)來模擬不同的弱網(wǎng)場景:

上傳1KB需要300ms,轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s),如果想設置上傳的速度為50KB/s,你則需要設置Delay 時間為 20ms;(=1000/50)

  2G一般上行/下行速率約為:2.7、9.6kbs,模擬設置為:uploaded 約 2962 ms,downloaded 約 833 ms;(弱網(wǎng)一般指2G網(wǎng)絡)

  3G一般上行/下行速率約為:384、2560kbs,設置為:uploaded 約 2.6 ms,downloaded 約 0.39 ms;

四、驗證對重復請求的限制(

有些需求,我們需要驗證下后臺接口是否對請求做了只能處理一次的限制,以防止漏洞產(chǎn)生

解決辦法:

1.Reply:點擊該按鈕可以向服務器重新發(fā)送選中的請求,他可以幫助我們驗證接口是否屏蔽了重復請求的情況

2.模擬多次重復點擊,點擊“Reissue Requests”的同時按下SHIFT鍵會彈出提示對話框,要求指定每個請求應該被重新發(fā)送的次數(shù)。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 為什么要進行弱網(wǎng)環(huán)境測試? 由于用戶自身的網(wǎng)絡環(huán)境波動,或者是本身網(wǎng)絡環(huán)境就較為惡劣,導致會出現(xiàn)一些意想不到的非功...
    云層_閱讀 4,769評論 11 63
  • 目錄 一、HTTP協(xié)議簡介 二、Fiddler簡介 三、Fiddler工作原理 四、Fiddler界面介紹 五、F...
    huxt閱讀 36,495評論 9 26
  • 轉載地址 image.png 前言 fiddler是一個很好的抓包工具,默認是抓http請求的,對于pc上的htt...
    菜菜編程閱讀 21,943評論 0 28
  • 閱讀本篇內容之前,建議先對基礎熟悉下 本文內容綱要如下 1、模擬限速操作2、篡改數(shù)據(jù)3、重定向功能4、發(fā)送自定義請...
    倔強的瀟灑小姐閱讀 17,333評論 4 79
  • 這兩天我的大腦是過于沉默得不像個女人了,或者是在組織語言尋找合適的表達自己的詞匯,像睡著了一般。
    GeorgeSayn閱讀 105評論 0 0

友情鏈接更多精彩內容