The best book I've found on the subject is Managing the Testing Process. The author goes into how to create a test plan.
In my experience, the basics of a test plan are as follows:
- Feature Description
- Assumptions
- Related Documentation
- Test Matrix
- Valid tests
- Invalid/Error Condition tests
- State Tests (behavior is based on various states of the object/system)
- Stress Tests
- Performance Tests
- Performance Metrics
- Required tools
- Environmental concerns (specific hardware, browser, OS, etc.)
If you can fill that out, the team should be able to carry out testing pretty well.
One decision you need to make is how capable is the test team? I prefer a test plan to be an algorithm to derive all of the test cases. Describe the sorts of cases, but not necessarily each case in detail. If the team is less competent, you may need to spell out each case specifically.
One final caution. Avoid the siren's call of being too detailed. A plan that cannot be kept in someone's head is not likely to be followed. If your test plan is 25 pages long, you probably wrote too much.