Best Practices for an Agile QA Process | Global App Testing

Best Practices for an Agile QA Process | Global App Testing

Best practices for an agile QA process

Having a QA process or playbook is designed to help you achieve outcomes. A good process will do just that; a bad process will distort QA activities away from the point. Here’s how to do it right.

Housekeeping | What is a QA process?

What do we mean by QA process?


A QA process is a series of interconnected steps or activities to achieve the actions specified in a QA strategy.  In contrast, a QA strategy would refer to some kind of business outcome (e.g. growth in a specific market, a lower churn rate) and outline in broad terms what to do to get there.

A QA strategy is strategic; like the plan for a war. A QA process is tactical ; like a battle handbook for garrisons. The QA process will include the playbooks, plans, and policies which ensure that QA actions will execute on the strategy effectively. We’ll also touch on methodology here, and how a good process can support an agile methodology to release software faster.

Do I need a QA process? 

Process is associated with the following positive outcomes: 

  • Consistent results

  • Minimum standards

  • Portable information

And the following negative outcomes:

  • Disempowering front-line employees from decision-making 

  • Being slower  

Of course, even “playing with the software for a bit and hitting release” is a process of sorts, and it would be more accurate to ask what level of process is appropriate for your business. The key to understanding whether your process is excessive is whether you feel the cons in the second categories start to outweigh the pros of the first. Process can also specifically target and avert the two negative outcomes listed there, by incorporating empowerment and speed in the letter of the process details. 

QA process and methodologies

Much of the process we will describe in the following article is to support an agile software methodology.

Agile methodology is an approach to software development that emphasizes flexibility, collaboration, and iterative progress. It emerged as a response to traditional, linear project management methodologies that often struggled to adapt to changing requirements and customer needs.

The QA process steps we suggest below is compatible with agile and DevOps software methodologies.

Classic QA process steps

Let’s dive into the detail of how a QA process could work.

QA process steps 

As a standard template for a QA process, you can undertake the following steps:

  1. Requirements Analysis

  2. Test Planning

  3. Test Case Design

  4. Test Execution including the environment set up

  5. Defect tracking and management 

  6. Reporting 

  7. Sign-off 

Broken down, that means: 

Requirement Analysis: Analyze the specifications, functional requirements, and`` any other relevant documentation for the tests (“What do we need to test?”).

Test Planning: Create a test plan, including strategy, objectives, timeline. Identify any test environments which create their own operational requirements. (“How will we test it?”)

Write test cases: Global App Testing can do this for you; over time it is best to compile playbooks of test cases (we call these testing suite, e.g. regression suite) in order to easily select the right test case mix for a particular scenario. (“Step by step, what do we need to do?”)

Test Execution: the actual testing takes place. QA professionals execute the test cases and record the results. With Global App Testing, you would launch the test via our handy launchpad. (“Where are the bugs?”) 

Track defects by assigning priority and severity level. (“What do the engineers need to fix the most/fastest?”) 

Report and continued improvement (“How could this be improved?”). Reports help stakeholders and project managers monitor the QA process and make informed decisions.

Formal sign-off: “can we release the software?” 

Making your QA process agile


Agile methodology encourages businesses to run in smaller “loops” – so that would imply faster releases

Anything which you can pre-prepare, do upfront 

Many of the above steps can be produced outside of agile development sprints, either by a third party such as Global App Testing or internally. This will create a short-term burden of work, but will also ensure that your cycles are much faster. 

Scenario-ready, pre-written test cases are one example – scenarios might include regression, new feature, new market launch; and so forth. 

   1.  Shifting left

#ShiftLeft is a term used in software development and testing that refers to the practice of moving testing activities earlier in the software development lifecycle (SDLC). It was coined in the early 2010s, and is in-line with agile principles as it encourages smaller cycles and faster failures. 

To fulfill the #ShiftLeft principles, you may consider any of the following:

  • Consider doing more design-stage and prototype testing

Design and prototype testing are steps which not all businesses take and which can tighten the feedback loop to cause faster failure and a more agile approach. This iterative process ensures a solid foundation for development, minimizing rework, and promoting a user-centric approach.

  • Consider design-driven testing

Test-driven design (TDD) is a development practice that promotes writing tests before writing code. When combined with #ShiftLeft in Agile, TDD ensures that code is thoroughly tested from the early stages, encouraging a focus on quality and reducing the risk of defects. It enhances collaboration, enables faster iterations, and fosters a culture of continuous improvement.

  • More unit tests, less system tests

Your QA is downstream of your engineering decisions, but as they come to release smaller snippets of code, you’ll find yourself doing tighter, narrower tests. This is a good thing: when you find a bug, it will be much easier to pinpoint and the engineer should be able to release it more quickly.

2. Automate more of your tests

Automated tests are (often) returned instantly, compared to the six hour return we can achieve on our express tests (below a certain threshold of test cases). That makes automated QA much faster, and often a preferred style of testing. 

We’ve written a blog recommending how to identify whether a QA test should be automated or manual. It can be more complicated than businesses sometimes appreciate – it seems that businesses repeatedly overestimate the % of test cases they will successfully automate.

3. Flexible QA supply can help with testing

QA often becomes a bottleneck because of the supply of testers, and there are lots of tests it is not (yet) possible or cost effective to automate. 

That’s how crowdtesting and a flexible QA supply can help – by tapping into a pool of testers nationwide, you can get your test back very quickly. By leveraging crowdtesting, teams can quickly scale up or down their QA efforts, accommodating changing requirements and tight schedules. The diverse skill sets and perspectives offered by the crowd enable comprehensive testing coverage, faster feedback cycles, and increased test diversity, all contributing to higher quality software and accelerated Agile delivery.


Quality is about culture as well as process



Quality in software development is not just a process; it is a culture that permeates every aspect of an organization. It involves a shared mindset, values, and behaviors that prioritize excellence and customer satisfaction. You can have all the process you like; if you have a poorly motivated team or a team which doesn’t care about quality, you will produce poor-quality software.


Leading Quality 

The concept of "quality narratives," as discussed in the book "Leading Quality," further emphasizes this cultural aspect.

Quality narratives refer to the stories, beliefs, and experiences that shape an organization's understanding and pursuit of quality. They provide a framework for aligning teams and stakeholders around a common understanding of what constitutes high-quality software. These narratives influence decision-making, drive continuous improvement, and foster a sense of ownership and responsibility among team members.

By cultivating a quality culture, organizations empower individuals to take ownership of the products they deliver, encouraging proactive identification and resolution of issues. It goes beyond implementing quality processes and tools—it encourages collaboration, knowledge sharing, and a relentless pursuit of excellence.

Read more in our leading quality book available here.


Speak to a QA Expert