Writing a good test plan is very easy, you just need to have an organized approach.
You need to understand the purpose of testing before you proceed with the Test Plan. The most important things that should be kept in mind before writing test plan are:
1. What is in scope of Testing.
2. What is out of scope of Testing.
3. What are the test objectives.
4. What are the budget limitations.
5. What are the project deadlines.
6. What is the test execution schedule.
7. What are the project risks.
8. What are the product risks.
Based on the factors mentioned above you should select test strategy and decide how to split test work into various test levels. You should try to reduce gap between levels, master test plan addresses the details which deal with inter-level co-ordination.
Another thing that should be remembered while writing a good test plan is that you should always plan to co-ordinate your testing work with rest of the project activities, like what are the test dependencies which include hardware availability, software availability etc. and the test deliverables required after the testing is complete.
A good test plan should specifically mention who will do what, when and how.
You should also clearly mention what will be the test deliverables, how precisely should the testers write the test cases, test design etc.
Test plan should also contain entry criteria and exit criteria, i.e. When can you enter the test level or phase and when can you exit from test phase.