FeatureA will be ready to test soon. You may want to think about how you will test FeatureA. Let’s call this activity “Test Planning”. In Test Planning, you are not actually interacting with the product-under-test. You are thinking about how you might do it. Your Test Planning might include, but is not limited to, the following:
- Make a list of test ideas you can think of. A Test Idea is the smallest amount of information that can capture the essence of a test.
- Grok FeatureA: Analyze the requirements document. Talk to available people.
- Interact with the product-under-test before it includes FeatureA.
- Prepare the test environment data and configurations you will use to test.
- Note any specific test data you will use.
- Determine what testing you will need help with (e.g., testing someone else should do).
- Determine what not to test.
- Share your test plan with anyone who might care. At least share the test ideas (first bullet) with the product programmers while they code.
- If using automation, design the check(s). Stub them out.
All the above are Test Planning activities. About four of the above resulted in something you wrote down. If you wrote them in one place, you have an artifact. The artifact can be thought of as a Test Plan. As you begin testing (interacting with the product-under-test), I think you can use the Test Plan one of two ways:
- Morph it into “Test Notes” (or “Test Results”).
- Refer to it then throw it away.
Either way, we don’t need the Test Plan after the testing. Just like we don’t need those other above Test Planning activities after the testing. Plans are more useful before the thing they plan.
Execution is more valuable than a plan. A goal of a skilled tester is to report on what was learned during testing. The Test Notes are an excellent way to do this. Attach the Test Notes to your User Story. Test Planning is throwaway.
Oh, but those artifacts are so useful. Why throw them away?
I think that test plans are a great way of leaving bread crumbs for anyone following me - either myself in six months, or someone else who might want to revisit this feature. I know I have used test plans I wrote a couple of years ago when I faced a question of "What is the way the system should behave when...?". The test ideas we leave in the test plan are very convenient method of storing information (we also do sometimes test cases, but they are more useful in answering "how do I use feature X?").
I think that if you invested time writing something down, the cost of storing it is low enough to keep it anyway - who knows, it may become useful. In fact, I found myself reusing test-data between completely unrelated tests, only because the data that was used about a year before that matched my purposes and saved me some time recreating similar data.
I agree with most. But feel that key elements of the test plan should morph into the overall regression suite. So the test plan is not complete throwaway.
@Always fearful, I think the point Eric was making is that what you actually did/the results, are even more useful; so keep those if anything (right?). If so, I'd agree. A plan is very useful, but it's a plan, and as exploratory testing (and even varying degrees of success/failure with automation take place) the plan changes.
Well said, Yosuf. Yes. You got it.