APP弱網測試


APP弱網測試

 

     App弱網測試方法,常用工具有使用fiddler進行網絡模擬,也可以使用Network Emulator Toolkit控制模擬網絡,相對來說Network Emulator Toolkit功能比較強大一些。
測試原理:利用軟件對wifi進行網絡控制,手機連接到該wifi,就可以測試app弱網絡下的功能表現。
一、測試關注點:
1、卡死,崩潰,無響應,閃退。
2、業務交互數據傳輸正確性。
二、測試工具:
1.Network Emulator Toolkit
2.WiFi共享工具
三、測試步驟:

1.設置Network Emulator Toolkit模擬測試網絡;
2.設置wifi共享網絡;

3.手機連接該wifi,打開App進行測試。

四、測試方案:

寬帶限制:

上行網絡寬帶:5KB/S 8KB/S 15KB/S 50KB/S 100KB/S

下行網絡寬帶:10KB/S 15KB/S 50KB/S 100KB/S 150KB/S

丟包率:5% 10% 20% 50% 80%

五、操作流程:

1、打開Network Emulator Toolkit,新建Channel(通道)

菜單欄 Configuration -> New Filter 或工具欄的快捷按鈕。

 

2、新建Filter

菜單欄 Configuration -> New Filter 或工具欄的快捷按鈕。

 

可選擇所有網絡(ALL NetWork),選好過濾條件后,點擊添加(ADD)按鈕,添加過濾條件;選中已添加的記錄,點擊刪除(Delete)按鈕,可刪除記錄;選中已添加的記錄,重新修改過濾條件,點擊修改按鈕(Modify),可修改記錄。

 3、新建連接

菜單欄 Configuration -> New Link 或工具欄的快捷按鈕。

 

選中link,右鍵Set UpStream/Set UpStream設置上行下行網絡模擬情況。

4、點擊觸發跟蹤按鈕[可選]

點擊“黃色小腳丫”按鈕,確保按鈕為“點選”狀態。

5、開啟控制

點擊Start開始按鈕,開始模擬網絡。

6、打開WiFi共享工具,手機連接WiFi,操作App進行測試。

7、點擊Stop停止網絡模擬。

六、Network Emulator Toolkit 工具Link功能詳解:

1、Loss

說明:

No Loss:默認,不模擬丟包。

Periodic loss: 模擬周期性的丟包。按填寫數量(設為x個),每x個包,就丟一個包。

Random loss: 模擬隨機丟包,按給定丟包的概率,隨機丟包。(設置1,代表丟包率是100%,設置0.5,代表丟包率是50%)。

Burst loss: 模擬根據給定的可能性進行丟包。

G-E loss: 模擬發生數據包丟失遵循Gilbert-Elliot模型,由兩個狀態組成:好的狀態和壞的狀態。可分別為這2個狀態指定數據包丟失率,同時可設置網絡傳輸在這兩種狀態的概率

2、Error

說明:

真實世界中,當數據包經過網絡傳輸時,包中的一到多個字節(bit)數據可能發生錯誤。

No Error:不模擬傳輸錯誤。

Random error:根據給定的比例,模擬隨機發生傳輸錯誤。

G-E error:發生傳輸錯誤遵循Gilbert-Elliot Model, 模型,由兩個狀態組成:好的狀態和壞的狀態。可分別為這2個狀態指定數據包丟失率,同時可設置網絡傳輸在這兩種狀態的概率

錯誤概率單元(Error Rate Unit):

Bit error: 設置出錯概率為每個字節出錯的概率。

Packet error: 設置出錯概率為每個包出錯的概率。

出錯和丟包的關系

大多數情況下,包出錯導致包丟失,特殊情況下,包中的數據被編碼,協議棧可恢復被損壞的包,經過修正后,包為可接受的包,即包不丟失。此外,除了包出錯會導致包丟失,其它因素也會影響包丟失,如連接失敗(Link failure),緩沖區溢出(buffer overflow),隊列管理和傳輸超時(transmission timeout)等。

3、Latency

說明:延遲來自某應用發送的數據包被另一個應用程序接收到的時間。

Fixed delay: 按給定值,延遲固定時間(單位:毫秒)packets are delayed for a fixed amount of time.

Uniform delay: 按統一分布,延遲一定量的時間(時間控制在最大最小值之間)

Normal delay: 按正態分布.延遲一定量的時間(average:平均值,Devation:偏差)

Linear delay: 延遲一定量的時間(在給定時間周期(Period)內,延遲的時間大小從最小值線性增加到最大值,當達到最大值時,又從最小值開始。

Burst delay: 根據給定概率(Probability),延遲一定量的時間(Latency), 丟包數控制最大值和最小值之間 。

4、BW&Queue

如果不指定帶寬(bandwith),則不修改傳輸速率。

如果不設置隊列,則不對接到的包做任何隊列操作

隊列:

Normal queue:所有接收到的包都被放入一個指定隊列大小的先進先出(First In, First Out)隊列。

Randomly Early Detection (RED) queue:所有接收到的包都被放入一個RED隊列。如果隊列大小小於給定的最低閾值(Minimum Threshold),隊列被評估為不擁擠的,什么都不做;如果隊列大小大於給定最大閾值(Maximum Threshold),則隊列被評估為擁擠的,根據丟包規則,丟棄一些包。

丟包規則:

Drop front: 必要時,丟棄位於隊列頭部的包。.

Drop tail: 必要時,丟棄位於隊列尾部的包。

Drop random:必要時,根據統一分布,隨機丟個包。

Queue Mode:設置隊列大小的單位,以包(Packet Mode)為單位或者以字節為單位Byte Mode

5、BgTraffic

一些網絡數據包交換和模擬的兩端沒有任何關系,被指為背景流(background traffic)。這些背景流會帶來延時效果。

Constant-bit rate (CBR) traffic: 根據給定的固定比例生成背景流(每XX kbps、mbps數據包,xx字節背景流)

Exponential traffic:根據指數On/Off時間分布生成背景流。個人理解,Burst則為生成背景流時間,Idle則不生成背景流時間(時間單位:秒

Pareto traffic: 同上,不過是排列圖分布(Pareto)

6、Recorder

模擬收到的包不是按發送順序排序的。

No Recoder:不模擬

7、Disconnection

模擬周期性斷開連接的行為。

Connection time: 一段時間周期內,link保持連接狀態的持續時間。

Disconnection time: 一段時間周期那日,link保持斷開狀態的持續時間

Disconnection rates: link發生斷開連接的比率。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM