一、抓包,輔助定位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ù)。
