School of Information Systems

Agile Testing Strategies Across Four Lifecycle Stages (1)

The SeaLights Software Metrics Guide for Better and Faster CI/CD

Many Agile teams are striving to validate their work at a high level, and are creating ways to bring testing techniques into their work practices as much as they can.

Testing in traditional development tends to involve a test plan. However, a heavily-documented test plan is not typical in agile development. Rather, agile testers demand flexibility and need to react to changes in requirements. So, there is a call for an agile test strategy instead of an agile test plan.

This article overviews the testing strategies which agile teams are applying in practice, putting them into the context of the lifecycle of agile software development.

What is Agile Testing?

Agile testing is a key component of agile software development. In agile development, testing begins prior to the onset of development. This differs from previous software approaches, where testing was a stage that took place once development was finished. Agile testing is continuous testing that occurs in parallel to development work and provides a continuous feedback loop.

Another feature of agile testing is that testers no longer form a distinct unit (the “QA department” does not exist). The agile development team now includes testers. In some instances, agile organizations don’t have “testers” or “QA engineers”, rather all team members are involved in testing. In some instances, there are test specialists, however, they work together with developers in every part of the software development cycle.

Agile Testing Strategies in Sprint Zero

Sprint zero comes before the first development iteration. In sprint zero the team builds environments, creates a product backlog, ensures they have a release plan, and completes other tasks necessary for the project to begin.

Because sprint zero takes place prior to the onset of the project, there are no tests to perform. To take advantage of sprint zero the team should design a test strategy before doing anything else. They should also perform initial setup tasks, including installing testing tools, identifying the individuals responsible for testing, and scheduling resources such as the usability testing lab.

Daily use of the application in production, combined with targeted testing, can give developers confidence that the application is running smoothly. The team can create a daily sanity checklist for production testing that addresses all the core functionalities. Testers can use tests like user acceptance testing, synthetic user testing, and disaster recovery testing in the production stage.

https://www.sealights.io/agile-testing/agile-testing-strategies-across-four-lifecycle-stages/

Sealights, Joni Suhartono