Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

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.

Thanks

share|improve this question

8 Answers 8

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?
share|improve this answer
    
Now if I am using mobile data , how shall I test it? –  Pramod Kumar G Nov 12 '13 at 4:07

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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.

Good luck

share|improve this answer
    
I am workiing on mobile applications –  Pramod Kumar G Nov 11 '13 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 '13 at 12:57

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.

share|improve this answer

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

share|improve this answer

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

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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