Test Plan Tutorial: A Guide to Write a Software Test Plan Document from Scratch

An Ultimate Guide to Software Test Plan Document:

This tutorial will explain you all about Software Test Plan Document and guide you with the ways on how to write/create a detailed Software testing plan from scratch along with the differences between test planning and test execution.

Live Project QA Training Day 3 – After introducing our readers to the live application of our free online software testing training, we came to know how to review SRS and write test scenarios. And now it’s the right time to dive deeper into the most important part of the software testing lifecycle – i.e. Test Planning

List of ALL the tutorials in this series:

Test Planning Document:

Tutorial #1: How to Write a Test Plan Document (This Tutorial)
Tutorial #2: 
Simple test plan template contents
Tutorial #3: 
Software test plan example
Tutorial #4: 
Difference between Test Plan and Test Strategy
Tutorial #5: 
How to Write Test Strategy Document

Test Planning Tips:

Tutorial #6: Risk Management During Test Planning
Tutorial #7: What To Do When There Isn’t Enough Time To Test
Tutorial #8: How to Plan and Manage Testing Projects Effectively

Test Planning at Different Stages of STLC:

Tutorial #9: Regression Test Planning
Tutorial #10: UAT Test Plan
Tutorial #11: Acceptance Test Plan

Test Automation Planning:

Tutorial #12: Automation Test Plan
Tutorial #13: ERP Application Test Planning
Tutorial #14: HP ALM Test Planning
Tutorial #15: Mindmap Test Planning
Tutorial #16: JMeter Test Plan and WorkBench

*********************************

Test Plan Creation – The Most Important Phase of Testing

This informative tutorial will explain you the ways and procedures involved in writing a test plan document.

How to write a Test Plan Document

At the end of this tutorial, we have shared a 19-page comprehensive test plan document which was specifically created for the live project OrangeHRM, that we are using for this free QA training series

What is a Test Plan?

Test Plan is a dynamic document. The success of a testing project depends upon a well-written test plan document that is current at all times. Test Plan is more or less like a blueprint of how the testing activity is going to take place in a project.

Given below are few pointers on a Test Plan:

#1) Test Plan is a document that acts as a point of reference and only based on that testing is carried out within the QA team.

#2) It is also a document that we share with the Business Analysts, Project Managers, Dev team and the other teams. This helps to enhance the level of transparency of the QA team’s work to the external teams.

#3) It is documented by the QA manager/QA lead based on the inputs from the QA team members.

#4) Test Planning is typically allocated with 1/3rd of the time that takes for the entire QA engagement.  The other 1/3rd is for Test Designing and the rest is for Test Execution.

#5) This plan is not static and is updated on an on-demand basis.

#6) The more detailed and comprehensive the plan is, the more successful will be the testing activity.

STLC Process

We are now halfway into our live project series. Hence, let us take a step back from the application and take a look at the Software Testing Life Cycle (STLC) process.

STLC can be roughly divided into 3 parts:

  1. Test planning
  2. Test Design
  3. Test Execution

test plan

In our earlier tutorial, we came to know that in a practical QA project, we started with the SRS review and Test scenario writing – which is actually the 2nd Step in the STLC process. The test design involves the details on what to test and how to test.

Why haven’t we started with Test planning?

Planning indeed is the first and foremost activity that happens in any testing project.

Test Planning at SDLC Phases

SDLC PhaseTest planning activity
InitiateIdeally QA team should get involved while the scope of the project is gathered from the customer/client in the form of business requirements. But in the real world, that is not the case. From a practical point of view, the involvement of the QA team is NIL. At the end of this phase, BRD is finalized and a basic Project Plan is created.
DefineSRS is created from the BRD. Test plan's initial draft is created. At this point, since the QA team is not done with the SRS review, the scope of testing is not clear. So the TP at this phase will only contain information on when testing is going to happen, project information and the team information (if we have it).
DesignThe SRS review is carried out and the scope of testing is identified. We have much more information on what to test and a good estimate of how many test cases we might get etc. A second version of the Test plan is created incorporating all this information.

From the above table, it is very clear that a testing plan is not just a document that you can create all at once and use from then on.

Components of a Plan Document

Items in a Test Plan TemplateWhat do they contain
Scope =>Test scenarios/Test objectives that will be validated.
Out of scope =>Enhanced clarity on what we are not going to cover
Assumptions =>All the conditions that need to hold true for us to be able to proceed successfully
Schedules =>Test scenario prep
Test documentation- test cases/test data/setting up environment
Test execution
Test cycle- how many cycle
Start and end date for cycles
Roles and Responsibilities => Team members are listed
Who is to do what
module owners are listed and their contact info
Deliverables => What documents(test artifacts) are going to produce at what time frames
What can be expected from each document
Environment => What kind of environment requirements exist
Who is going to be in charge
What to do in case of problems
Tools => For example: JIRA for bug tracking
Login
How to use JIRA
Defect Management => Who are we going to report the defects to
How are we going to report
What is expected- do we provide screenshot?
Risks and Risk Management => Risks are listed
Risks are analyzed- likelihood and impact is documented
Risk mitigation plans are drawn
Exit criteria => When to stop testing

As all the above-mentioned information are the most critical ones for the day-to-day working of a QA project, it is important to keep the plan document updated every now and then.

Sample Test Plan Document for a Live Project

A sample Test plan template document is created for our “ORANGEHRM VERSION 3.0 – MY INFO MODULE” Project and attached below. Please take a look at it. Additional comments have been added to the document in Red to explain the sections.

This testing plan is for both Functional as well as the UAT phases. It also explains the Test Management process using the HP ALM tool.

Download Test Plan Sample:

test plan template

Doc Format => Click here to Download the test plan in Doc format this is the one that we created for the OragngeHRM live Project and we are using this for our software testing crash course as well.

PDF Format => Click here to Download the test plan in pdf file format.

Worksheet (xls) files referred in the above doc/pdf versions => Download the XLS files referred in the above test plan

The above template is a very comprehensive and a detailed one too. Hence please give it a thorough reading for best results.

As the plan is created and explained well too, let us move on to the next phase in both SDLC and STLC.

SDLC’s Code: 

While the rest of the project were spending their time on TDD creation, we QA’s have identified the Testing scope (Test scenarios) and created the first dependable Testing plan draft. The next phase of SDLC is to check when the coding occurs.

Developers are the primary point of focus for the entire team in this phase. QA team also indulges in the most ever important task which is nothing but “Test Case Creation”.

If the Test scenarios were “What to test”, then the test cases deal with “How to test”. Test case creation is a predominant part of the Test designing phase of the STLC. The input for the test case creation activity is the Test scenarios and the SRS document.

For Testers like us, Test cases are the real deal – it is the stuff in which we spend most of our time. We create them, review them, execute them, maintain them, automate them- and well, you get the picture. No matter how experienced we are and what role we play in a project – we would still work with the test cases.

***************************

Test Planning Vs Test Execution

Software test planning reserves a far better scope comparatively in the STLC phase. The delivery of a quality software is ensured by the testing team. And what has to be done in testing is actually decided in the test planning phase.

This section will provide a complete overview and include illustrations on the importance of test planning and the execution phase. After reading this you will understand the significant importance of the planning phase when compared to the execution phase with more live examples and case studies for illustrations.

Test Planning Vs Test Execution

Test Planning

Given below are certain Essential things to be noted while Planning:

Planning a test is the core important section in the testing cycle. The outcome of the testing phase will be determined by the quality and scope of the planning that has been done for the testing.

Test Plan

Planning the test usually occurs during the development phase in order to save the lead time for test execution upon mutual agreement from all the parties involved.

Some Important Facts to be noted include:

  • Planning must be started in parallel to development, provided the requirements have been frozen.
  • All the stakeholders like designers, developers, clients, and testers need to be involved while finalizing the plan.
  • Planning cannot be worked out for an unconfirmed or any unapproved business needs.
  • Similar test plans will be applied to the new requirements that the business will require.

Example #1

The development team is working on a software XYZ after getting few requirements from the clients. The testing team has almost started their preparation for the test defining or planning phase. The test planning has to be designed to address the initial requirements quoted by the clients. This has been done by the testing team.

Neither of the other stakeholders were involved during this phase and the planning has been frozen.

The development team has now made some changes in the business flow in order to address few issues in their work with the client’s approval. Now the software has come to the testing team for a test. With the testing plan as per the old business flow, the testing team has started their round of testing. This impacted the testing deliverables with many delays as the modified business flow was not shared to the testing team.

Observation from Example 1:

There are certain observations from the above example.

They are:

  • Understanding the new business flow consumed a lot of time.
  • Delays in project deliverables.
  • Reworking on planning and the other tasks in the phase.

All these observations have to be converted into essential needs for an effective testing deliverable.

Major Components in the Planning Phase

Given below are the major components that are involved in the planning phase.

Test Strategy – This is one of the most important section that can explain the strategy that will be used while testing.

Test Coverage – This is essentially required and it will do conformance mapping of the business needs and the test cases so that one can ensure if the entire software has been tested or not.

Test Cycles and Durations – This can become very critical depending upon the rounds of development and their time for completing each round.

Pass/Fail Criteria – It is very much required one in which the pass and fail criteria is defined. Few times this will also be defined by the clients.

Business and Technical Requirements – Need to have the software and the purposes they serve will be clearly defined along with the low-level explanations.

Limitations

There are few things that can actually control the software testing phase especially the planning phase.

Following are such few areas:

  • Features to be and not to be tested – This will clearly point out what has to be tested and what should not be.
  • Suspension Criteria and Resumption Requirements – This is the decision maker on the software developed and the criteria defined in order to suspend the testing or resume the testing.
  • Responsibilities – A tester will have multiple responsibilities in ensuring the issues, bugs, and defects in the software under test. Additionally, the bugs have to be validated with the developers for them to fix.
  • Risks and contingencies – Risks associated during the testing should be clearly mentioned and proper contingencies during the time have to be defined very clearly.

Test Plan Procedure

Case Study #1

The development team from the Example #1 is planning to release the software XYZ in 2 phases. Phase 1 has got many features to be tested and few not to be tested. Again the software has been released to test without keeping the testing team informed about the features that are yet to be developed.

Now the testing team starts its execution based on the testing plans they have worked out already. They come up with a large number of bugs. And after validation from the development team, most of them go invalid.

Observations from the above Case Study:

  • Development team to release the software to testing team with release notes and requirements coverage notes (release notes).
  • Features to be tested and not to be tested have to be factored based on the released software before testing.
  • Suspension and resumption criteria for the testing have to be defined properly.
  • Risk and the contingency plans for the unavailability of the software have to be pictured perfectly.

Also read => How to Manage Risks During Test Planning Phase

Test Execution Plan

Execution of test cases is one of the steps in the STLC phase. This will have to be performed in accordance with the plans that were worked out earlier. Hence, planning always keeps dominating the whole of the testing phase. Below is an example where the testing team gets impacted by the changes in the testing plans.

Example #2

Testing the software A was started based on the plan 1 worked out by the team. Later, owing to the business needs and the changes the testing plan had to undergo some changes. This, in turn, has forced the test cases or the execution to be changed.

Observations:

  • The testing plan will determine the test case execution.
  • Execution part varies as per the plan.
  • As long as the plan and the requirements are valid the test cases are valid too.

Test Execution

Ways to Overcome Problems while Execution

Testers will more often come across various scenarios while they perform the test execution. This is when the testers will have to understand and know the ways to resolve the problem or at least find a workaround for the issue.

Example #3

During the test case execution of software B, the testing team comes across multiple issues. Few of them are show stoppers. They require the developers in helping them to overcome the issue. This has happened several times and the outcome of it is a delay in testing the deliverables.

Observations:

  • There is a dependency for overcoming environmental problems and issues.
  • A Proper understanding of the environment is required for testers.
  • Frequently occurring and known issues have to be documented for overcoming them in the future.

Version Controlling and Management

Version Controlling and management of testing plans and the test cases are really important in order to showcase the timely deliverables. This is being more significant and is often done with the help of a version control tool.

A version control tool not only helps them to control the testing plans but also assists in defects management. When there are testing projects with multiple cycles and releases, these tools can really help a lot in bringing down the metrics for supporting the testing deliverables.

Also read => Risk Management at Test Execution Phase

Difference Between Test Planning & Test Execution

Following are few important areas which will point out how planning will differ from Test execution phase.

Comparison areaTest PlanningTest Execution
Person responsibleThe test manager will be preparing the Test plan and will be sharing to all the stake holders for their review.This will be normally done by tester keeping in mind that the test cases prepared has been approved and signed off.
Main focusThe Test plan focus areas are how the testing should be carried out, what should be considered and what not to, environment that can be used, Test schedules etc.The Test execution focuses mainly on the execution of the test cases provided to be tested on the software.
Recurring or iterative modeThis is a single time activity. Having said that it may or may not require modifications for the future releases of the software.There are 3 parts in this area when we talk about iteration.
1. Functional testing.
2. Regression testing.
3. Re-testing.
InputsThe inputs for creation of a test plan is really required and to be provided by business analysts, Architect, clients etc.,The test case document is the major input.
Period when it can be startedIt has to be started along with the development cycle for effective outcome and to save time. But there are few models like water fall model where in the testing phase will start only after the development phase has been completed.Execution has to be started strictly after the development of the software has been done.
Closure periodThe test plan will have no such closure period. Generally a sign off from all interested parties for the software will be provided.Execution for a specific release or cycle will be considered to be closed when all of the test cases have been executed against the software.
Deliverable positioningTest plan will be considered as a major deliverable for the testing activity. This will be done as the first step in testing process.This will be coming as a last bench member in the testing phase. Post execution the defects/bugs status along with the test case execution status will be shared as one of the testing deliverables
Tools usageThere will not be many tools used as the planning activity will be more of discussion and documentation. To keep track of any changes to the plan, the test managers will normally use any version control tool like VSS or something else.It will depend on the mode of execution. In case of manual no tool will be used for execution. But for logging the defects and managing, some tools will be used.
In case of automation testing, the execution will be done with the help of tools like QTP, SELENIUM etc.
Impacts on the deliverablesThis will impact all of the testing phases in a larger mannerThis will impact the subsequent cycle or release to be tested.

The above illustrations might have explained in a better shape over the importance of test planning activities than that of test execution. By some means, the execution phase is a kind of subset of the testing plan.

Based on the test strategy, approach and the other things the testing plan has a higher probability of getting modified to give room to the changes. It is a definite thing that Test execution depends on the test cases. Test cases are based upon the plans. Hence changes in plans will ensure changes in the test cases.

But conversely, changes in test cases need not mandatorily look for changes. This is one of the main reasons for which planning keeps up compared to the test execution phase.

**************************

Our upcoming tutorial will explain you more about how to create test cases? What are they? And how we can make them work for us along with the various other aspects related to test cases.

NEXT Tutorial => QA Training Day-4: Writing Test Cases from SRS Document

Are you an expert in writing a Test Plan Document? Then this is the right place to share your valuable tips of improvement for the upcoming testers. Feel free to express your thoughts with us in the comments section below !!


84 thoughts on “Test Plan Tutorial: A Guide to Write a Software Test Plan Document from Scratch”

  1. Information is very usefull, I think we can add another section called “Approval” which details about approver and date of approve of the plan

  2. I download the Plan. It is very detail. But I want to know, the function test, also called “Integration Test”?
    And also, I did not see the SYSTEM TEST in the plan.
    Can anyone point out? Thanks.

  3. Hi Vijay and Swati Seela,
    Your online QA training course is very informative and easy to understand even for beginners like me. Great job !!!

  4. Hello,
    I’m very new to this field as I just joined in. Can you please let me know what other setback happens in the real world when executing a testing plan.
    All your questions and answers above truly helped! Thanks.

  5. hey guys,

    first great job on this and the other tutorials. I’m a new user but have found the material on your site easy to understand and thorough !

    Quick question about marking tests as critical. When and how do you mark tests as critical ? Also what document would it be part of ?

    Thanks!
    Shiv

  6. It is amazing, out there, most schools operate by not preparing any software plans at all. this Web-site provides a very good incite to them. the challenge is that many of teachers do not access een this web site because when they open a computer, mos people look for exciting things and not professional building/capacity building information!
    Teachers are encouraged to make the best use of information which others have bothered to post to the net to support them.

    William

  7. Need help anyone.

    Overview

    The re-formatter is a small application that can change encrypted and unencrypted files from one to the other and vice versa.? It picks up files from a given directory, converts them and drops them to a second specified directory. It is designed to run continuously.

    Log File

    Log files will be created for each day of operation. Logging will pass from one file to the next at midnight.? The log files will be added to the “logs” directory that must be present in the working folder of the application.? Older log files are routinely deleted based on age. The version number and start-up time will be added to the log file when the application boots up.? Under normal operation there will be only two entries per processed file.? These are, “Processing: ” and “Finished Processing ”. In the event of an error there will be a time and date stamped entry in the log file with an associated string containing the reason for the error.

    INI file settings

    The Re-Formatter uses a settings.ini file to configure its operation.? The settings.ini file must be present in the applications working directory.

    The entries are as follows:

    Heading:?[Paths]

    Entries:?InputPath = Full path to the pickup folder>

    ?????????OutputPath =Full path to the drop folder>

    NB:?The folders specified by InputPath and OutputPath must both exist before the application is started. It doesn’t matter if the path ends in a \ or not.

    Heading:(Options)

    Entries : Encrypted encryption status of the incoming files 1 = encrypted : 0 = unencrypted>

    ?Heading:?[Logging]

    ?Entries:?DeleteLogsDays = minimum number of days old a file has to be before it is removed>

    Task: Write a plan document and a set of functional test cases in order to fully test the XML Re-Formatter tool paying close attention to: Ensuring that the Plan covers how the application is to be tested. Ensuring that functional Test Cases are written assuming no prior knowledge of the application. Ensuring that there are no test gaps and all facets of the software are being tested.

  8. hai…@friends
    please help me…
    what is the purpose & importance of software plans …?
    in detailed..(i have ppt on this topic )

  9. need to write a plan for railway application form .. can anyone give idea for that how to start the test report what are things that are including in ..

  10. Hi

    I’m after a simple UAT plan. Our supplier is to complete system & QA testing. Hence, i need to put together the UAT. Anyone have a template i can use, please?

  11. This is really very helpful site ! Thank u so much Vijay for sharing ur valuable information !

    I have joined HTS institute, New Delhi, for s/w testing course(Manual+Selenium), they didn’t teach anything in detail, not even a single concept ! Its a worst institute, the fees r too high as compared to other institutes & the quality is worst ! Plz never ever join this institute ! Better to spend ur time on this site, u will get more knowledge from this site !

    Regards,
    Dolly

  12. Hello,

    I am appointed as a testing engineer in my new company.
    and I have assigned with some tickets to complete within a certain time period.
    can anyone let me know how to create a software plan?

  13. Its a decent and helpful plan to share live extend for fresher and in addition experienced analyzer. Much obliged for imparting your insight and experience to us.

  14. Hi,

    Can anyone suggest me content or website where I can find some example of numericals of Test planning as to understand the practical point of view.

Leave a Comment