Some time ago I published the post “Test plan + templates”. I received many comments reflecting different views, so in this article, I decided to continue the talk about planning.
Firstly, I liked J.Hoffman’s and Hannibal’s comments very much, and at the beginning of the talk, I’d like to mention the main points of their comments.
Jerry Hoffman said:
…by writing a complete and appropriately detailed test plan, it is possible to better define the anticipated amount of work and anticipate many future problems. Discovering them later during the actual testing is normally more expensive in time and money…
Test Plan like any other test documentation should also be review by all appropriate individuals… At the least it will provide another set of eyes to locate areas you may have missed.
I must also respectfully disagree with the idea that “a simply check list” would even really be sufficient. The lack of detail really does not the author to better organize his/her ideas and does not allow any real third party feedback
Anibal (Hannibal) Alarcon said:
...To created and accurated Test Plan we must base our document on Test Requirements for the product. As a Q.A Test Engineer and with over 15 years on my badge :) obtaining Test Requirements it’s the most difficult task to achieved.
Lots of companies do no believed on Test Requirements and we the Q.A people must be creative and think outside the box to created test plans from verbal instructions…
You can read the full texts of these comments and other ones there.
Now, let’s consider the problem described by Hannibal. How can we plan if there’s no sufficient information?
In order to deal with this issue, smart people have thought of adaptive planning. Other possible terms are dynamic, flexible, just-in-time, responsive, pliable, progressive, purposeful planning. Classical planning is being done long before the testing can begin. The system has not been built yet, but everything has already been planned. Then we start tests and see that our plans disagree with the reality. We must update the plans and spend time again. With adaptive planning we choose a strategy (depending on our current knowledge); and then the planning is being done before each feature is to be tested. During the test process, our notion about the system is changing constantly; also the test plan will be updated and corrected. Adaptive planning can be done at the start of an individual test. We are taking new knowledge from previous tests and changing our plans correspondingly. Thus, we don’t consume excess time and force. Adaptive planning supposes that we plan as much as we can and when we can. Our plans are based on the available knowledge, time and resources. Adaptive planning allows avoiding the troubles peculiar to classical planning: attempting to plan in too much details, inflexibility and trying to forecast events too far into the future. If you’d like we apply our experience and knowledge to make your software better, you might be interested in our software testing service.