When we develop a mobile app, is it important to add interruption testing as another test strategy to ensure that the app behaves correctly under different interruption conditions ( incoming calls, SMS etc.). If yes, how often it should be incorporated into app's release cycle?
Just like most things, the answer is a bit of an "it depends" situation. Generally speaking the more your app functionality/features/experience is tied to calls and SMS then the more probabilistic it is you should need to test the interruptions. FWIW my firm has helped launch dozens of mobile apps and I cant think of a single instance where we tested this with any regularity. Generally speaking though if you were to want to test it regularly then I would just add it to the list of regression scenarios your team tests after making updates to the application and makes sure nothing changes/alters unintentionally.
Personally I have never seen anyone do this nor do I think it is particularly necessary. You do want to make sure you check what your app does in a paused state (incoming call, app switching, rotation) if you need to save data or are showing sensitive user data.
However, as a mobile app developer or tester, you cannot take things for granted and have to ensure that your app can resume its operations regardless of the interruption. Since these expectations do not necessarily have to be the same for every mobile app and function, you have to define and test them yourself. As you can see, performing interrupt tests on mobile apps is necessary to improve their quality and user experience. For this reason, you should integrate this test type into your test strategy for mobile apps, as we discussed in more detail in our blog post on the 9 most common test types. You are welcome to use the above interrupt test scenarios for your own test strategy and add more situations to complete this list for your mobile applications. Fortunately, you don't need to spend too much time thinking about and defining your mobile app's expected behaviour. Typically, users expect mobile apps to behave in a certain way because they are just used to specific standards. As already mentioned, mobile operating systems already take care of some interruptions for you.
In theory, you could perform interrupt tests for your mobile app manually. So, for example, if you use XCTest to conduct tests for iOS apps, you can add UI Interruption Monitors to your test cases, which you can learn more about from the Apple documentation. With this tool, you can generate pseudo-random event streams on your emulators or real devices. Regardless of which tool or framework you use to automate your interrupt tests, you can still work on improving test execution times and, thus, the efficiency of your mobile app tests. In this way, you can ensure that your application works for most of your users, regardless of their device or operating system version.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath