Interrupt testing of
mobile application is defined as a process of replicating the random interrupts
while the application is executing its normal flows and assessing their impact
on it. The expected behavior of the application is handling of these interrupts
gracefully without blocking them or hiding the notifications automatically and
resuming the normal flow of the application once the interruption is over.
Some of the important
interruptions that need testing in any mobile applications are:
·
Incoming SMS
·
Incoming calls
·
Incoming Push Notifications
·
Device Power cycle
·
Data cable Insertion
and Removal while data transfer
·
Network connectivity on/off
An application should be able to handle these
interruptions by going into a suspended state and resuming afterwards, as these
are possible to happen while the app is running on the end-user device any time
randomly and unexpected.
Interrupt testing of mobile application poses
various challenges related to the replication above-mentioned interruptions
while the app is running on the test device for both manual and automation
testing.
Some of these
challenges and their workarounds in manual testing are -
·
Generation of incoming
SMS - by using a web based SMS service.
·
Generation of incoming
calls - by calling the test device from another phone
·
Incoming Push
Notifications - by using OEM Push Notification Gateway control panel
·
Device Power cycle –
by pushing off/on the power switch
·
Data cable Insertion
and Removal while data transfer – by physically Insertion/removal of cable
·
Network connectivity
off/on – by moving in/out of the lift with the test device or placing the
Mobile phone in/out of a microwave oven
Interrupt testing of
mobile application is a very important but still only very few automation tools
and frameworks are able to support these. As it is very difficult to
replication/simulation of above interrupts on the test device in the lab or
over the unattended remote device in the cloud without any physical interaction
with it.
Some
tools/frameworks available out in the market provide the capabilities of
simulation for required interrupts with help of keyword based scripting. The QA
engineer is required to add the interrupt on various screens/activities of the
test cases and has to write manually the events for expected user action on it
and assertion for the expected app behavior for every added interrupt in the
test script. QA engineer has the responsibility to verify these interruptions
for every scenarios/screens and coding it manually becomes very time-consuming
and complex job.
Exploring various
available mobile test automation solutions & Tools, I found mAutomate,
which is one of the first few mobile automation tools, that has simplified this
process of Interrupt testing automation of mobile application making it achieve
able just in few clicks. You can get the access to its free version from its website (mAutomate.com).
Once you have the set of functional test cases ready (recorded) in the system
for execution on target devices – you can simply insert the required Interrupts
at any stage of the test script just by clicking on the web based test
script-editing wizard without writing a single line of code. It is able to
simulate all required interrupts on the target devices while the test script is
executing on the remote device and get the results with screenshots back to us
on the web interface.