It’s been 12 years since the Agile manifesto was created, and the majority of developers have jumped on the bandwagon since then. Agile methodologies are now dominating the software development landscape. Have you ever wondered, in the rush to implement the Agile mindset, is there anything we miss?
It’s testing that has been forgotten.
The focus on delivering a good product without endless documentation is undoubtedly a positive move for developers. By keeping the needs of the end user in sight at all times, and creating feedback loops, projects generally deliver better software, and faster than before. Given that the Agile method was conceived by developers for developers, it left the QA department in the dark. As a report from Forrester points out, Agile teams must invite Testers to the table.
It is clear that agile development alters how we used to think about traditional testing practices. But few companies have realized the need to update processes or arm testers for the new challenges facing them.
Lets imagine a typical scenario on an Agile project with a team of five developers, and a pair of testers. While five developers can mostly work at a steady, measurable rate, two testers may find this struggling through time. At first, the weekly sprints are not a problem, because testers have a limited number of features to test, but as the software grows they have to verify bug fixes, and perform regression testing. Everything has to be tested within the sprint; the shorter it is, the more regression testing is called for. Soon, the test team is bogged down in repetitive work.
How can the same two testers cover all the new features alongside fix verification and regression testing? The answer is simple: they can’t.
A new approach
In order to ensure that the quality remains high, management could scale up the test team significantly as the development progresses, but there is a much more cost-effective solution. Regression testing has to be documented and then automated as you progress. There’s no way to write up these test cases or scripts before the code has been delivered, so testers are faced with the task of testing in order to create a test case.
New feature testing and bug validation is where you want your testers to focus. You can avoid duplicating work by using the data they are capturing as they go to generate test cases that can be used to automate the regression testing for the next build. It’s an all-at-once approach that requires testers to be on their toes.
A new tester?
That leads to the question, for Agile testing to work, do testers need to adopt the same Agile mindset as developers? Also, ditching the traditional sequential process for sprints does require some upfront planning. What are they?
Before continuing our story, we would love to know your thoughts on this.