Agile – Test planning for an Agile sprint

agileplanningtesting

Can anyone offer any tips or experience on developing a test plan for an Agile sprint? Most of the time our team simply creates a "Test Feature X" task and goes about writing ad-hoc test cases. There typically isn't much strategic forethought put into how features will be tested and how we'll communicate the expectations and results to the rest of the development team and our users.

Is it common to just write high-level testing tasks without making the actual test cases transparent to the development team? What sort of methodologies have you used when developing a test plan and what does it look like both at the beginning of a sprint and at the end? Any advice or tips on what comprises an effective and transparent test plan as well as a means of developing the test plan would be much appreciated.

Best Answer

I think it really depends on the type of project and what kind of decisions you must made. I.e., what is the purpose of test plan for you.

Here I will share some experience regarding our project.

In our project and team testing means:

  • preparing test environments, required for system tests
  • preparing test data: getting real data from production or simulating
  • automating tests at unit, integration, system, system integration level.
  • writing mocks, test drivers, data simulators, test frameworks
  • demonstrating development output

So planning tests is about making high-level decisions to clarify above. For instance, we decide whether QA needs to end-to-end test a given story, or it is better if she increases test coverage at unit level, extending this way tests written by developers. Getting test data often means getting in contact with customers, business analytics and other stakeholders to get access to them. End-to-end tests often require know-how of more experiences testers, business analytics and delivery guys, so we must plan ahead training. Testers often present what the team achieved, so we sometimes plan what tests to prepare for the demo.

Automation is a separate story. We have established methodology and frameworks for testing, so testing means implementing and executing test cases. On other side, we are developing a new test framework, that is a separate development project going in parallel to the main one. This must be planned as well, cannot be done ad hoc, but we still learn from other teams how do plan this effectively.

We usually know what we will be doing in the current or coming release, so planning tests is done ahead for several iterations.

We usually do some test planning with the rest of the team, when iteration starts. We do not always write down all decisions about testing, but we still plan testing process.

We, as testers, sometimes need to support both current iteration and regression tests. So we need to plan how much our capacity can be devoted to current iteration and whether developers can cover our testing tests, if we are too busy with other responsibilities. This is agile, so developers can do some testing, but we still need to plan this to some degree.

Related Topic