… or how to be the first one who gets going with agile testing.
When working on digital projects and products, you probably encounter the term ‘agile‘ a lot.
The word agile is widely used (and sometimes misused). It refers to the methodology of project management which strives to establish certain principles of collaboration, flexibility and transparency. It emphasizes the importance of feedback throughout the entire development workflow.
So when it comes to testing, web development teams go back to traditional approaches rather than following the agile path.
In this post, I’ll give you an overview on agile testing as well as some useful guides on how to get started with the idea of agile testing.
What is agile testing?
TL;DR: Basically, agile testing means that you make use of the agile approach throughout your testing and bug tracking workflows.
When talking about agile testing, we need to go back one step and take a look at the general framework of web development.
In the old days, most web development and software engineering workflows were structured along the so-called waterfall framework.
More than a Waterfall model.
The waterfall approach basically states that every project step proceeds in a linear series of sequential steps. The workflow would look like this:
Agile Testing. The difference.
The difference of agile testing to the waterfall approach is that testing itself is not a separate project step. In contrast to the waterfall framework, agile testing requires continuous collaboration between all team members and stakeholders.
Throughout the entire workflow, testing becomes an essential part of every project stage.
Therefore, the framework for agile teams looks something like this:
No workflow needed with agile?
This model of agile testing has been developed as a contra-framework to traditional, more bureaucratic workflows. Although agile teams still need basic workflows, I want to highlight that agile itself doesn’t focus too much on workflows.
Or as Martin Fowler puts it:
“Agile methods are people-oriented rather than process-oriented.”
Yeah. That’s great, since all efforts are worthless if people aren’t using the products we build, right?
Workflows are pretty static and resistant to change, but people are adaptive and thrive with change. Sometimes people are even changing themselves.
Speed up the development cycle with continuous feedback
So this consistent state of change requires us to put continuous feedback at the core of our projects and project efforts. Being agile also means providing touch points for continuous feedback.
Though it’s nothing new, Feedback is key. Continuously asking for feedback throughout the entire project requires a feedback culture where people are pushed to evaluate what they are doing on a daily basis.
Agile QA: more than feedback & workflows.
It’s not the workflow and continuous feedback which set agile teams apart. It’s the agile collaboration.
In traditional projects, QA teams often serve “as the quality gatekeeper”. Testing should prevent any bad software going out into the public. This results in lengthy workflows and bug meetings where project team members argue about the priority of bugs.
“Never ever discuss bugs in project meetings.”
(Source: 6 surprisingly easy bug tracking hacks)
With continuous communication among project team members, stakeholders and end users, better relationships are established and more work can be done, with the team also being responsive and flexible enough to change project requirements.
Testing the agile way.
The traditional way of testing basically states: Specify the requirements, do the development and test it. Execution of those tests happens at the end of the project. This is also called the “test-last” approach.
On the other hand, testing first has a lot of benefits. That is why I strongly recommend defining tests at the same time that you are specifying your requirements.
This not only gives you a clear overview of what needs to be done and which goals you share, but it also helps you to specify your requirements in more detail.
Wrapping it up.
Agile has won the game in software engineering. So why not make use of agile testing as well? Continuous deployment and testing is becoming the norm. Therefore, software testing must make its switch from its current role to a more flexible and efficient one when it comes to getting things tested.
Testing is not a phase anymore. Ensuring continuous progress means ensuring continuous test and feedback cycles.
This article was brought to you by Usersnap – a visual bug tracking and screenshot tool for every web project.