3

I am working on mobile applications.

As we know every user shall have experienced network loss issues due to various reasons while using an app. Now my requirement is that how shall I guarantee an app that I have tested survive a network loss. In other words how shall I create that situation of network issues to handle the same.

8 Answers 8

5

Here's a few ideas I can think of:

  1. Can you connect the device via wi-fi and then kill the network?
  2. If you have access to the web server, can you turn it off from the other end so the app on the device doesn't get responses for a while, then turn it back on?
  3. Can you change the phone settings to use airplane mode?
1
  • Now if I am using mobile data , how shall I test it?
    – Pramod
    Nov 12, 2013 at 4:07
3

If your budget allows it, a base station simulator is the best solution. The average price range is 100-200K$ plus some engineer time to learn, configure and operate the simulator.

You use it instead of a live network, and it allows you different (simulated) network types and conditions.

For example you can simulate packet loss and other network imperfections (jitter, delay), poor reception, cell handover, usage of different cellular technologies e.g. GSM, 3G or LTE etc.

Some of the known brands are Agilent, Rohde & Schwarz and Anritsu.

Note that you use the term "Network" with one meaning, while actually it has two- cellular network and data network.

2

I am going to cover this is two parts planning and execution:

Planning this sort of testing should be relatively simple and done in a few minutes with a whiteboard, keeping in mind what the requirements of the app are. Then you should consider.

  • Changing network speeds (slowing down and speeding up).
  • Moving around ( leaving, joining and switching between different connections).
  • Loosing and gaining networks.

For execution you can employ a combination of physical real-world testing (turning off networks, removing sim cards etc) and using tools like the Network Link conditioner that is found in both iOS and the mac, so you can use it with Android and iOS simulators.

2

You commented saying you are using mobile data so you mean GPRS data?

  • Write a script that you launch before your program and will activate the airplane mode.

Else:

  • Try to remove the SIM card during your test.
  • Go somewhere where you have less network as a basement.
  • Last chance, take a box and cover it of aluminum, put the phone inside, the network will be cut.
1

in addition to Sam's ideas, you can try few more scenarios like: 1. keep everything as it is, just keep a non working proxy. 2. Block the device mac address so that it doesn't get network access.

1

For an iOS application, you can check the lossy network by the following way
Goto Settings -- Select Devloper options -- Enable the Network link conditioner tab

1

in case of IOS testing I came upon an userful link here

1

If you are running on linux, there are WAN emulators like netem which allow you to inject network errors (packet loss, latency, etc.) Wikipedia has a list of fault injection tools for other platforms.

2
  • I am workiing on mobile applications
    – Pramod
    Nov 11, 2013 at 9:20
  • @PramodKumarG - I added this comment to your question so that everyone has this information before they attempt to answer.
    – Kate Paulk
    Nov 11, 2013 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.