A test plan is the master document that contains all details pertaining to testing of the application. Its contents include:
Testing scope - what is included and what is not included in the testing of the current project
Assumptions - what are the assumptions that are made for this project
Milestones - major dates like when testing is going to begin, when it is planned to end, what is the trace review date, what is the production date etc.
Resources - the resources working on this project along with their contact details
Defect tracking mechanism - what defect tracking tool will be used, what is the SLA for fixing Critical to Low level IRs etc.
Test management procedures - who will be notified when there is a critical IR, what reports will be sent daily, if status calls will be held daily or weekly, where will it be held, who is required to join etc.
Work allocation - resource distribution if more projects are being tested
Entry and exit criterion - when can a project be accepted for testing (eg. only when smoke testing passes) and when can a project be termed as testing complete (eg. when all testcases are executed and all high level bugs are fixed)