DEV Community

Cover image for How to Write a Good Mobile App Testing Strategy
QA Madness
QA Madness

Posted on

How to Write a Good Mobile App Testing Strategy

According to Statista, the number of mobile devices worldwide will increase by 3.7 billion during the next three years. Taking into account the mass digitization forced by social distancing and followed by remote work and education, it is not hard to believe.

Image description

Meanwhile, eMarketer reports that smartphone users in the US spend 88% of their mobile time on apps. Of course, the numbers can vary across countries. The general tendency, however, is rather clear: people prefer apps to web view in browsers.

Image description

This fact reminds us once more that every mobile app should undergo thorough testing before it appears in the stores. To ensure expected business performance and high customer retention, a company should offer users an appealing and functional software product. In other words, mobile QA with a solid testing strategy is essential.

What Is a Testing Strategy?

A testing strategy is a guideline a QA team follows to achieve the set quality-related objectives for a software product. A mobile app testing strategy answers the question,

“How is the team going to test this particular mobile app?”

Don’t confuse it with a QA strategy. The latter covers more than just testing. The same goes for a testing plan – it is more detailed. In smaller projects, a testing strategy is often included in a testing plan.

A mobile strategy document usually features information about the testing objectives, team roles and responsibilities, defect tracking and reporting, tools, and deliverables. Simply put, it briefly explains how testing will be done in a way all parties can understand.

Why Is a Mobile App Testing Strategy Necessary?

Many quality-related aspects in development can be handled efficiently only by engaging professional QA resources. It doesn’t matter if a company chooses to create an in-house team or go with QA outsourcing. The point is to make sure that testing isn’t based on enthusiasm only, but engages relevant expertise, too.

Mobile app testing goes beyond executing several common user flows. It should cover maximum requirements and consider use cases that might not be obvious at first. Besides, some aspects require using a specific tech stack – for example, app performance testing.

Testing requires thorough planning summarized in a custom strategy that encompasses all the strategic areas, describes essential testing activities, roles and responsibilities, etc. Every activity has a specific place in the pipeline. It is important to schedule those activities correctly so that they don’t interfere with one another. The same goes for objectives, resources, and logistics in general. Having everything recorded and agreed makes the testing process structured, understandable for all the parties, and therefore much easier to manage.

Test Strategy for Mobile Application Testing Step By Step

Let’s start with the structure of a mobile app testing strategy. As a rule, it includes the following components and sections:

  • Title Page
  • Document Control
  • Test Strategy Identifier
  • Table of Contents
  • Introduction
  • Purpose
  • Testing Process
  • General Approach
  • Issue Severity
  • Issue Priority
  • Defect Life Cycle
  • Environment
  • Tools
  • Deliverables

Note that it is not the only correct way to write a testing strategy. For example, you may include information about possible risks and their mitigation. The structure and content of some clauses can also vary. This sample mobile testing strategy is based on the documents our team uses. You will find more detailed explanations on the abovementioned components in the text.

1. Start with the basic information

Create the title page that features the document name, for example: Product Name Testing Strategy.

Below, add a Test Strategy Identifier – a unique number assigned to the document. It is generated to identify the testing strategy, its level, and the level of software related to it.

Include information regarding document control. Usually, it goes as two tables – one for document detail and the other for change control. Document Detail features document title, version, date, electronic file name & location, author, and contributors. Change Control shows issue date, version, details (e. G. a working draft), and authors.

The document control section allows keeping track of changes that take place during the process. Though quite static, a mobile app testing strategy can be modified as a project develops or in case project requirements or a client’s requests change.

2. Write an introduction

The next section of the strategy document is the introduction. Here, a QA team briefly explains the basic activities that will take place. For example:

Our company provides Functional, UI, Cross-Browser, Cross-Platform, Smoke, and Regression Testing services to detect problems in the applications before it goes on production. The team prepares test scenarios and cases based on the product requirements and specifications. We performed a detailed inspection of the agreed functionality of the application so your company can achieve the set business goals.

An explanation like this prepares a person who has access to the document to what they are about to read.

3. State the purpose of the document

For stakeholders and developers, it will be a clarification of why strategy is necessary and what it describes. For QA engineers, it is a reminder about their mission and the purpose of their work. Here’s an example of the purpose wording:

The purpose of this Test Strategy is to define the overall approach the team will use during testing the [product name] mobile application. The document describes the complex QA strategy of manual, performance, and automated testing activities that will allow ensuring the highest quality standards of the mobile application for end-users. The present document clarifies the testing activities, roles and responsibilities, processes, practices, and resources that will be applied.

The text of the purpose section will vary depending on the expected scope of work and aspects subject to inspection.

4. Write briefly about the testing process

Sometimes a client comes with a clearly defined scope of testing. In this case, you list the in-demand features the team is to test. For example: business-critical functionality on the physical target devices.

Defining the testing scope is significant for all the parties involved. For the QA team, it helps to allocate resources and plan the work of QA engineers. For stakeholders, it provides information about what exactly will be tested and what won’t be. In other words, everyone will have clear expectations about the process. Also, if a customer decides to include more activities, it is easier to make changes at this stage.

To determine the scope correctly, a Team Lead should know:

  • customer requirements;
  • product specifications;
  • project budget;
  • skills of the test team members.

A QA team discusses the need for particular mobile application testing types with a client before they start writing the testing strategy. The most efficient way to summarize the information about the upcoming testing activities is by initially dividing the process into phases.

Test Phase 1

Mobile app testing always starts with manual inspection. Therefore, the first phase is manual testing – full or covering the specific functionality requested by a client. For example, if a product is a video player, a client may request to run cross-device and cross-platform checks only.

So, you are to specify what types of testing the team will run during the first phase. A list of activities required for a mobile application will include Functional Testing, UI Testing, Compatibility Testing, Smoke Testing, Regression Testing, etc. The precise list will depend on the functionality. You may need to add Integration Testing, Accessibility Testing, and other activities. Be attentive and don’t rely on the sample documents when defining the necessary types of testing. You need to make sure everything essential is included.

Provide a short explanation and state the objectives of each testing type. For a QA team, you may add brief notes regarding the techniques that can or should be used. For example:

4.1. Functional Testing

Objectives:

Functional testing focuses on the product requirements and aims to verify that all features of the mobile application work as intended. The goal of the functional tests is to check data acceptance, processing, and retrieval against the requirements, as well as the correct implementation of business logic and rules. This type of testing is based on the black-box techniques – investigation of the internal processes during direct interaction with the product and without access to the source code.

After listing the types of testing, describe an approach to the test phase. In this section, you should explain what specialists will be involved in the project and when. You can also provide the details of the onboarding process. For example:

The first phase is manual testing. At the initial stages, QA Lead will be involved in the management and implementation of the Test Strategy. The specialist will analyze, test, control, and manage the ongoing work, as well as participate in the testing activities.

We suggest involving a dynamic team at the initial stage to perform full testing in the shortest terms. After allocating the necessary number of QA engineers, we will conduct testing efficiently and within the defined timeframes. Such an approach allows us to check the application integrally and define weak spots promptly so the development team can start bug fixing while the QA team proceeds to the next phase.

The QA Lead will pass knowledge to other team members who will continue to work on the project later. Once the dynamic QA team completes the application testing, the QA Lead will continue to manage the process and select dedicated resources.

Then, list the test items. To keep this section short, you can refer to the test items as application functionality and specify when the team will provide test cases or a checklist.

If the task is to test only a particular part of the functionality (shopping cart or checkout flow in an e-commerce app, student interface in an e-learning app, newly added features), etc. – remember to state this in the test items subsection to avoid any misunderstandings in the future.

Then, include info about resources and timeframes. You can use a table for it. Create the following columns: Specialist, Timeframes, Cost, and Responsibilities. In each row, fill in the data about a particular specialist involved. As always, the number of specialists will depend on the project specifics.

Test Phase X

The number of phases will vary from application to application, depending on industry, purpose, business goals, etc. After completing the Functional Testing, the QA team may proceed to Performance Testing, Security Testing, Automation, New Feature Testing in the future, and so on.

Remember that the structure of this section doesn’t have to be identical for each stage. You may need to explain the objectives of performance testing in close detail. The security testing phase may feature specific terms and definitions, as well as outline the level of responsibility (e. g. what areas you can check and what is beyond your control). Therefore, the approach description may also be different. For example, it may be reasonable to provide more information about each stage of the test automation process.

5. Describe the general approach

This section explains entry and exit criteria for different phases – analysis and planning, testing, etc. You can just record these points using bulleted lists. The General Approach part also includes information about change management, notifications, and pass/fail criteria for tests. Make sure to divide the material into subsections with clear headlines. A mobile app testing strategy is meant to keep information understandable for all parties, and things like formatting matter, too.

6. Clarify issue severity and priority

You can provide this information in a table (or rather two tables, since we are speaking about two different classifications). Just in case, below are the terms you should include.

Issue severity:

  • Blockers
  • Critical
  • Major
  • Minor
  • Trivial

Issue priority:

  • High
  • Major
  • Medium
  • Low

Make sure to include clear definitions of the abovementioned severity and priority levels. Development teams usually understand the gradation and the difference. Team members without a tech background, however, can find it difficult.

7. Explain the defect life cycle

Defect life cycle data can remind a step-by-step guideline for working with the detected issues. Again, this section will be especially valuable for stakeholders with non-technical backgrounds and new people joining the team. As for the defect life cycle stages, there are six of them:

  1. Identification – it is possible to reproduce a defect, so it is logged in a bug tracking system.
  2. Prioritizing – the defect gets its priority in the backlog based on the severity.
  3. Analysis – a specialist studies the defect.
  4. Resolution – a development team fixes the defect.
  5. Verification – a QA team executes tests once again to confirm successful fixing.
  6. Closure – a specialist closes the defect in the bug tracking system.

8. Describe the environmental and infrastructure needs

Along with requirements, test logistics prepares background for testing. The access details for environmental and infrastructure needs may include:

  • Links to the testing environments.
  • Test credentials.
  • Project specifications.
  • Access to a bug tracking system, communication tool, etc.

9. Inform about the tools

Here you focus on the tech stack the QA team is going to use. List all the tools you are going to apply for test management, bug tracking, automation, etc. You can go just with the list or include a brief overview of each tool. If you choose the second option, mention whether it is an open-source or paid solution, how many users are supported on a plan, etc.

10. List the deliverables

Be clear about the materials a client is going to receive at the end. Usually, the artifacts produced during the testing phase are checklists, test cases, manual and automated test reports.

Clients don’t necessarily need to receive all of them, so it is necessary to ask for clarification and specify it in the document. We often include links to sample test cases and test reports. You can add examples of test cases and bug reports in the text, too. For instance:

Example of a test case

Image description

Example of a bug report

Image description

11. Send the document for review and approval

Finally, it is time to finalize the document. The mobile application testing strategy is reviewed, approved, and signed by the main stakeholders, as well as development and testing teams. Include information about people who should review and approve the document, as well as those who are going to use it. It will be helpful in the future.

Bottom Line

Every mobile app needs a customized QA approach. A testing strategy is one of the artifacts that document it. It translates high-level objectives into actual activities that help to ensure high quality on an end product. It also bridges the gap between stakeholders, aligning them in terms of terminology, responsibilities, tech stack, etc.

So if you are about to write a mobile testing strategy, learn about the product and client’s objectives first. Aim to cover all the aspects of the upcoming testing process. Explain the terminology used. Make sure you don’t leave any controversial points before submitting the document for review.

Top comments (0)