Test Planning and Writing a Test Plan

Test planning is the activities of identifying and designing the testing process.  The planning phase provides an opportunity for the tester to determine what to test and how to test it. Creating a Master Test Plan is the best way to do it and is a major output of test planning.
Test Plan is the most important ongoing document which is created by QA team and helps to manage test project.
Test Planning is one of the MUST have skill for a software tester, including the selection of techniques and methods to be used to validate the product against its approved requirements and design. Test planning assesses the business and technical risks of the software application, and then develops a plan to determine if the software minimizes those risks. Test planners must understand the development methods and environment to effectively plan for testing. Test plan generally includes:

Test Scope – what is to be tested 
Requirements/Traceability – defines the tests needed and relates those tests to the requirements to be validated.
Estimating – determines the amount of resources and time frames required to accomplish the planned activities.
Scheduling – establishes milestones for completing the testing effort and their dependencies on meeting the rest of the schedule.
Staffing selecting the size and competency of staff needed to achieve the test plan objectives.
Test Approach methods, tools, coverage and techniques used to accomplish test objectives. 
Test Check Procedures (i.e., test quality control) – set of procedures based on the test plan and test design, incorporating test cases that ensure that tests are performed correctly and completely. 
Maximizing test Effectiveness – methods to assure test resources will be used most effectively.

Test Planning Steps:
Step 1. Build Test Plan:
Identified all those mentioned above, gather some ideas and then focus on writing the Test Plan.
1.1 Prepare Introduction
1.2 Define High level functional Approach
1.3 Identify types of test
1.4 Identify Exit Criteria
1.5 Establish regression testing strategy.
1.6 Organize Test team
1.7 Establish test environment
1.8 Define dependencies
1.9 Create Test Schedule
1.10 Select Test Tool
1.11 Establish defect tracking procedures
1.12 Establish change request procedures
1.13 Establish Version control procedures
1.14 Define Build configuration procedures
1.15 Establish reporting procedures
1.16 Define approval procedure


Step 2. Define metrics objectives:
2.1 Define Metrics
2.2 Define Metric points
Step 3. Review/Approve
3.1 Schedule/Conduct Review
3.2 Obtain approval

Traceability matrix

What is it?
 
Traceability matrix can be made more elaborate by tracing the requirements to the design to the code to the test cases. In this way we can come to know which requirement change will affect which part of the design and which part of the code and the test case.Usually this is an excel sheet. Traceability matrix is one which tells the deviation in the current test process with the actual. A   requirement Traceability Matrix is a document that traces user requirements from analysis through implementation. It can be used as a completeness check to verify that all requirements are present or that there are no unnecessary/ extra feature.
At each step in development cycle, the requirements code and associated test cases are recorded to ensure that requirement is addressed in the final system. Both user and developer have ability to easily cross - reference the requirements to the design , programming, test cases.