As England battled to victory against the Tunisian rugby team in their first fixture of the 2018 World Cup, many are praising the way in which the England manager Gareth Southgate has prepared his team. Team morale is at an all-time high, a team has been picked based on ability and potential and finally a formation/system that fits the players. Of course, this plan will need to change throughout the tournament – it will need to be Agile and adaptable to change. We can draw many parallels to the software development world and this article focuses on how an Agile Test Plan fits within the life-cycle of a project.
The ISTQB definition states that a Test Plan should include the scope of the project, the approach to be taken, the resources needed and the schedule of intended test activities. It should identify as a minimum; the test environment, the test design techniques as well as entry and exit criteria that should be used, the rationale for their choice and the risks that needed to be mitigated through contingency planning. It needed to be a record of the planning process.
With any project doing Agile, the Test Plan is likely to be no more than a couple of sides of paper. The fundamentals of the plan should still be written in an overarching Test Strategy. The Agile Test Strategy would define how the system or application should be tested.
I like to see generic items being incorporated into an Agile Test Strategy as much of the content is likely to be the same sprint to sprint. Examples of this include the priority of tests, test environments that are needed, the team along with the necessary skills required as well as an overview of the application that is under test. By following this approach, the Agile Test Plan only includes what needed to be tested during this specific sprint. The Agile Test Strategy then describes what is important but not specific for the sprint.
The Agile Manifesto states that priority should be given to working software over comprehensive documentation. To be clear, this doesn’t mean no documentation. It is however extremely important not to over-document as you’re trying to move quickly and trying to provide continuous integration. Document only the things that are needed for the work to be completed and absolutely nothing more. Again, these items should be done just once and put into the Agile Test Strategy.
“Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.
That is, while there is value in the items on the right,
we value the items on the left more."
To be able to deal with regression within the project, it is also important to consider Test Automation. If you can automate-first or have a good set of Test Scripts, then you may be able to save time and money in the long-run. Creating a robust framework is the first step in creating good automation.
So, there you go – keep the Agile Test Plan to the point, and ensure only relevant items for the current sprint are added to it. You need to make it adaptable to deal with change. As for the England World Cup team – they should have their hotels booked for the entire tournament (but perhaps make sure they’ve got free cancellation in place). The team here at nFocus are optimistic – come on England!