‘Network based testing’ is also known as ‘Bandwidth Throttling’, which means the purposeful slowness of available bandwidth.
In other words, ‘Network based Testing’ means to limit the access of network at different speeds. It is highly important for mobile app testers to make sure that app is working appropriately at different network speeds and app is able to handle the network transitions. This is most importantly conducted by mobile testing services.
There are various types of data networks in market. For example: LTE, 3G, 4G and Wi Fi connection are considered as the faster networks and EDGE and GPRS are the slower ones. In real time user experience, when user is moving while using app, he may encounter different data network speeds or also the network transitions may occurs very frequently as he moves.
How to carry out 'Network Based Testing' in Mobile devices: 1. Bandwidth Throttling for iOS devices using ‘Network Link Conditioner’: Network Link Conditioner is a tool to simulate network for different conditions. It is a best solution to test behavior on an iOS app on various network conditions. Following network conditions are available in ‘Network link Conditioner’: 100% Loss, 3G, DSL, Edge, High Latency DNS, Very Bad Network, Wi-Fi.
Following are the pre-requisites to get connect to ‘Network Link Conditioner’ using Mac Machine: 1. Xcode version 6 or above should installed on the Mac machine with OS 10 or above. 2. ‘Network Link Conditioner’ (Additional Option in Xcode) should be installed at Mac machine to enable ‘Network Link Conditioner’ option on the connected device. 3. iOS device should installed with iOS 9.0 or above.
Setup to enable ‘Network Link Conditioner’ at iOS device: 1. Connect iOS device with the Mac machine. 2. Open Xcode and navigate to ‘Xcode>Window>Devices’ menu. It will open ‘Devices’ windows. 3. Select the connected device from the ‘Devices’ windows. 4. Now, Navigate to the Settings of the connected iOS device, select ‘Developer’ option there. 5. Further, it will navigate to ‘Developer’ screen, tap on Network Link Conditioner option, and select the bandwidth on which the mobile app to be tested. 6. Here, you are ready to carry out network based testing at respective network speeds.
2. Bandwidth Throttling for Android devices Using ‘Charles Proxy’ tool: Charles is a web proxy tool which enables user to view the TCP port traffic accessed via the local computer
The Pre requisite to get connected to ‘Charles Proxy’ at android device: 1. The device and the system both should be connected to same wi-fi connection.
Set up to enable ‘Charles Proxy’ on Android device: 1.Connect to WIFI network to device (on which system is already) and open Settings->WIFI in device. 2. Long tap on connected network's name 3. Now, Modify network config-> Show advanced options as Set proxy settings (provide IP address of the host where Charles Proxy is installed) and Port (the proxy port configured in Charles (as 8888) and tap at ‘Save’ botton.
Here, the device is connected to Charles Proxy and passes through the network configured in Charles. Now, You are ready to carry out network based testing at respective network speeds configured in Throttling settings.
The tools available in market which are used for Network Throttling: 1. Bandwidth Manager Tool (Android devices) 2. Brady bound Tool (For Rooted Android devices) 3. Bandwidth Ruler Pro (Android devices) 4. Network Link Conditioner (iOS devices) 5. Charles Web Proxy Tool (iOS and Android devices)