How Agile Affects Testing Practices – Agile 2.0

agile test automation

In a waterfall development group, code is typically handed off to a test group, who perform integration and functional tests.  These tests may be manual or automated, depending on the level of expertise and direction of the group.  The decision to automate testing depends on how often tests will be performed and on the level of variance between product cycles.   There is a trade-off that must be evaluated between the time used to write the automated tests and the time spent running tests manually.

When a group shifts to agile methodologies, often, the same testing mindset is initially carried forward.   As a scrum team matures and agile methodologies take hold within an organization, testing practices must also mature.   In agile development, quality is built into each sprint.  Before an item is accepted as complete, testing must be performed and must pass.   Additionally, this testing must be repeatable in future iterations to help with the overhead of integration tests.   For most teams, this means that the acceptance criteria for a task should include automated testing for that task.   This is a paradigm shift from waterfall testing.   Teams may be resistant to this concept – after all, it adds work up front and decreases previous sprint velocity.

In addition to overcoming the workload increase associated with test automation, infrastructure must also be in place to support this automation.   Ideally, teams would have test servers that could run a selected set of automated tests after code submissions, and over time could run the full suite of integration tests.

These changes take place over time, and do not have to be put in place immediately.  However, as a scrum master or PO, one of the presiding questions that can take your teams to the next level of agile development is, “Can the testing for this task be automated?”   Looking for ways to modify difficult to test features, and encouraging test automation is an expense now, but will save a great deal of time later in the project.   As you move to Agile 2.0, strive to make good decisions to make quality an integral part of each task and story.

Comments are closed.