Request info

Your step-by-step mobile application testing process

Quality Assurance (QA) is critical to delivering brilliant customer experiences. But, with a plethora of types of testing types and methods, testing a mobile application for release can be overwhelming. To get you through it, we’ve outlined the essential mobile application process below.

Intro to Agile Testing and Continuous Integration

These trends require mobile application testing to happen faster than ever before, placing a greater need for speed and efficiency on QA teams. To keep on track, it’s critical to maintain a strategic mobile application testing process.

Mobile app testing sprints

1. Test scope & coverage

The first step is to determine what you will test, specifically the features and functionality of the app. Previously, QA teams often created a test strategy, big-picture document which outlined the goals and methods of the testing process. The Agile framework, however, advocates for “working software over comprehensive documentation.” Thus, your testing strategy may not be formally documented, but it is still critical to clarify.

While every mobile application has some basic functional testing needs, consider consider the specifics of your app as well when defining your scope:

  • Does the app interact with other apps?
  • Is the app Native or Mobile-web or Hybrid?
  • Is the app testing include only front-end or back-end testing as well?
  • Is it compatible with multiple networks?

Identify Testing Locations

Decide Device Coverage

  • What operating systems does your app support? 
  • What are the earliest versions of the relevant OS? 
  • What are the most popular mobile devices among your target audience? 

2. Plan mobile app tests

Once you know your testing scope and coverage, the next step is to determine how to test. In other words, you’ll need to break the strategy down into a plan of action, detailing who / what will execute your tests and on what timeline. An essential component of this step is preparing test suites: writing test cases or test scripts for automated testing. 

Manual v Automated Testing

Furthermore, automated scripts cannot substitute for ‘in the wild’ testing. Sure, the UI may function great in the lab, but does it work while a user is walking down a busy street holding a device in one hand? Delivering a brilliant customer experience in real-world settings is what sets 5-star apps apart. 

New call-to-action

Write Test Cases

Identify Testing Approach / Partner

If you have limited testing needs, you can execute test cases/scripts in-house with your own engineers, but this has some drawbacks. First, scaling is difficult. Software testing is usually needed very quickly, and for short periods. Covering  these ‘bursts’ of demand is challenging.

3. Execute app testing

To give one example of executing a test plan, let’s use an example of one of Testlio’s clients, a large TV network with a mobile application. The app is updated and tested daily, and they use a continuous integration (CI) approach. Specifically, every evening, the CI system sends the build to a device farm which runs and manages the automated test suites. When the test results are ready, the automated suite sends the results back to the client. 

This example presents one extreme: a fast release cycle using continuous integration with automated and manual testing. Naturally, testing cycles can be longer and simpler, depending on your app testing requirements.

4. Track and manage defects

After test runs are completed, you will need to manage and correct defects. The key here is correctly prioritizing defects, so that you can address the most important things first.

Defects can be tracked in a project management software like JIRA. If outsourcing app testing, your QA partner will likely report bugs directly to the project management system as well.  Common defect priorities include: 

  • Low: no major impact to business functionality (e.g. a misspelling in the UI)
  • Medium: functionality is not working as expected, but there is a work around
  • High: critical functionality is blocked, but there is a work around 
  • Blocker: critical business functionality is blocked and the user has no work around

The correct prioritization of defects is a key point in managing your app testing process. Many times, you will be inundated with low priority defects, such as a misspelling, making it harder to find and target crucial defects, such as the app crashing. 

5. Review!

  • Which devices and OS versions were tested
  • A review of the tests performed, and major defects uncovered 
  • How many tests passed and failed
  • If appropriate, you can also make a final recommendation on if the mobile application meets all the acceptance criteria and is ready for release to the public.

If you have gotten this far, you’ve probably gleaned that mobile application testing in an agile environment can be challenging. Succeeding requires strategizing, planning and tailoring these steps to your mobile app.

Jumbotron image