On balance, the agile movement has been positive for software teams. Increased project success and stakeholder satisfaction, along with productivity and quality improvements, have been gained by organizations adopting agile. The goals of agile are noble ones: to be more responsive to changing business needs and to deliver software faster.
Developers love agile because they spend less time planning and fixing problems and more time coding. For testers, the transition is not as easy. Most testers want to be part of agile and DevOps teams because this is the future of software. They like the idea of being responsive to customers and users and working efficiently. Yet moving to automated testing, which is important for continuous delivery, is a tenuous endeavor.
Teams using DevOps and agile methods benefit from rapid, incremental development and production. There is pleasant simplicity in breaking down the work into small, manageable units. Yet even when a team is only working on one or two features at once, testing is not much simpler. There are many tests to run to cover all the scenarios for each of those new features. Automation can help, but there are some important steps to get there.
Try these tips below to help testers become full-fledged members of your agile team:
- Create a regression library to grow automated testing
Testers may continue to work as they always have, writing manual tests during the sprint, because it’s faster and familiar. Simultaneously, they must conduct regression testing to ensure sure that new code isn’t breaking the older code. Pretty soon, the tester has a backlog of tests. The hope of automating all of these tests while keeping up with new work is grim. Nobody wants schedules to slip when speed is the name of the game.
Yet to get this right, and successfully adapt to agile, testers need some breathing room. They struggle with the lack of time and in some cases, skills in testing automation frameworks and tools, to transition away from waterfall methods.
Test automation is imperative for agile teams because it enables continuous testing at every stage of development. After each incremental change in the system, we want to be able to validate that the application is running smoothly. We also want our testers to collaborate with business analysts (BA), end users, developers, and product owners on testing new feature functionality that hasn’t yet been automated. Therefore, Agile teams should halt new feature development and work to build up a regression suite before their test automation backlog slows down the entire sprint team.
Getting started on a test automation practice includes several components, such as having the right tools (a test management platform and configuration management system) and developing new kinds of relationships with developers, the IT team and business analysts.
- Support exploratory testing
Testers have only dabbled in exploratory testing to this point, but that’s changing with agile. By using a less formal process that doesn’t entail heavy scripting, a tester gains leeway to discover new areas of vulnerability in applications. They can recommend to developers areas of the application that are good candidates for test automation, based on the degree of complexity and maintenance the test script will require.
Exploratory testing can also speed up cycles by eliminating the rigor of traditional test cases, which may not provide sufficient benefit. When determining what to focus on in exploratory testing, look for those test cases that take a lot of time and have a low defect find rate. Take those cases, transfer them to a charter and encourage testers to veer off the path and find defects that they previously may not have found.
Another benefit for software teams is that giving employees opportunities to do exploratory testing often results in higher job performance and job satisfaction.
- Spread the testing love
With testers now working within smaller cross-functional groups instead of being isolated from the rest of the team, there should be shared responsibility for QA. Developers, business analysts and product managers can all take part in helping with the testing workload. This increases collaboration and helps everyone stay on the same page regarding requirements and outcomes. More eyes on testing may also improve overall software quality.
- Embrace behavior driven development
BDD is a way to improve collaboration on writing features and requirements by bringing together product managers, developers, business stakeholders and testers into one room. This is the opposite approach of waterfall, where one team or individual hands off requirements to the next, often with a lack of translation or understanding. The end result is software that’s not exactly aligned with the original business need.
BDD can also help in the conversion from manual to automated testing, since it standardizes test script syntax into understandable and readable language that all members of your Agile team can understand. This syntax is primarily broken down into the popular “Given, When, Then” structure that is used by Cucumber, a popular tool for running automated acceptance tests.
- Consider risk-based testing
Agile’s focus on efficiency and speed dictates that some of the steps and processes of waterfall days can be skipped. During particularly tight time frames, teams may adopt a risk-based approach to testing, prioritizing on high-risk test cases and setting aside low-risk test cases in the interest of meeting deadlines. This helps manage the tester workload and keeps team members working together on what matters most.
These steps above are a solid beginning for integrating testers into the agile process, as they are focused on support, collaboration and improving efficiencies. There are undoubtedly other best practices, so teams should seek to build their knowledge over time.
A final note is to emphasize the value of patience. Moving from waterfall and other traditional forms of development and testing to agile and DevOps is a process that can take months or years. Some organizations will be doing both at the same time during the transition. Recognizing the value of testers in the equation and helping to support them with resources, tools and training, is money well spent.