Skip to main content

Test Plan Writing: A Detailed Guide

Generally in software testing life cycle, test plan writing is starting point of all the QA activities in the project. Needless to say it’s one of the most important activities among all. Hence, a detailed knowledge of test plan is essential for a software test professional. In this article, we have explored test plan writing in detailed level.


Definition: As WikiPedia puts it, “A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of the eventual workflow.”
To extend upon it, test plan contains coverage, scope, tools, testing approach, risks, schedules and pretty much everything which may come up during software testing activities in project. The idea is to follow the guidelines in structured manner keeping all requirements in mind.
Who prepares it?
Test plan writing is an activity typically done by test lead/manager with significant inputs from test engineers. It is then reviewed by project/program managers.

STLC phase:
Test plan writing is part of Test Planning phase of STLC. In which, you perform test estimation along with test plan writing.

Types of Test Plan:
There can be many types of test plans. This depends upon one’s requirement in project. However to name a few, below are some commonly found test plan types.

  • System test plan
  • Performance test plan
  • Unit test plan
  • Acceptance test plan
  • Integration test plan
Test plan format:
We will follow IEEE format for our test plan writing tutorial here. We will list out each section and describe it at very high level.

  • Test plan identifier: A unique identifier for a test plan.
  • Introduction: Provide a short write up about project and its functionalities at high level. This section is for providing an objective of the test plan. Additionally, you can include abbreviations, constraints and goals as well.
  • Entry criteria: Provide details of criteria(Eg. Finalized requirement document) for starting testing activities in project.
  • Features to be tested: Provide list of all features of the system that is to be tested. This can be a bulleted list with references to design/requirement document.
  • Features not to be tested: Provide list of features you are not planning to test and the reason why they will not be tested.
  • Testing Approach: In this section, provide an overview of testing approach that you are going to follow. Provide details about which kinds of testing(Eg. functional, sanity, integration etc.) will you be employing and what testing methods(Eg. manual, automation etc.) will you use. You can also include details like RTM preparation, bug tracking tool and environment to be used.
  • Item pass/fail criteria: Provide details about criteria to determine whether the test activity is passed/failed.
  • Suspension criteria and resumption requirements: Specify criteria when testing will be suspended such as test environment or test data unavailability, blocker issues, unavailability of any dependency etc. Also provide details about when the testing will be resumed and what activities are to be done after that.
  • Test deliverables: Provide a list of deliverables which are produced after test activities. Possible test deliverables could be Test Plan, Test Cases, Defects, Test Summary Report, RTM, Test Scripts etc.
  • Environmental needs: List out details of environmental needs such as software(Eg. Java, MySQL etc.) and hardware requirements(Eg. CPU, RAM of test system). Also, specify tools which will be used during testing activities.
  • Responsibilities: Specify responsibilities of every team member with tasks such as test plan creation, test cases creation and execution, test cases review etc.
  • Staffing and training needs: Provide details about staffing and training needs required for testing activities of the system.
  • Schedule: This section contains schedule of testing activities and important milestones duration. It gives an idea about possible duration for test activities such as test plan preparation, test case creation and execution, test environment setup etc. It also contains test cycles and start and end dates of each test cycles.
  • Risks and contingencies: Provide details of possible risks(Eg. CR, delay in deployment etc.) which may arise during testing and also provide the contingency and mitigation plan for these risks.
  • Exit criteria: Provide details of criteria(Eg. no blocker/critical defects) for ending testing activities in project.
  • Approvals: This section contains names and titles of approvers with space for their signatures and dates.
Hope the above post sheds some light on test plan writing. We would love to know your inputs on this. Comments!

Comments

Popular posts from this blog

JMeter Exceeded Maximum Number of Redirects Error Solution

While running performance test, JMeter allows maximum 5 redirects by default. However, if your system demands more than 5 redirects, it may result in JMeter exceeded maximum number of redirects error. In this post, we have listed down steps to overcome this error. Actual error in JMeter: Response code: “Non HTTP response code: java.io.IOException” Response message: “Non HTTP response message: Exceeded maximum number of redirects: 5” This error is noticed because  JMeter  allows maximum 5 redirects by default and your system may be using more than 5 redirects. You need to increase this count to more than 5 in jmeter.properties file. Follow below steps to achieve this. Navigate to /bin directory of your JMeter installation. Locate jmeter.properties file and open it in any editor. Search for “httpsampler.max_redirects” property in opened file. Uncomment the above property by removing # before it. Change to value to more than 5 Eg. 20. Save the file and restart JMet...

SSO with SAML login scenario in JMeter

SAML(Security Assertion Markup Language) is increasingly being used to perform single sign-on(SSO) operations. As WikiPedia puts it, SAML is an XML-based open standard data format for exchanging authentication and authorization data between parties, in particular, between an identity provider and a service provider. With the rise in use of SAML in web applications, we may need to handle this in JMeter. This step-by-step tutorial shows SAML JMeter scenario to perform login operation. First request from JMeter is a GET request to fetch Login page. We need to fetch two values ‘SAMLRequest’ and ‘RelayState’ from the Login page response data. We can do this by using  Regular Expression Extractor . These two values need to be sent in POST request to service provider. Refer below image to see how to do this. We will get an HTML login page as a response to the request sent in 1st step. We need to fetch values of some hidden elements to pass it in the next request. We...

VBScript Code - Function to convert CSV file into excel and viceversa in QTP using VBScript

We at times are required to convert excel files into csv to read as flat files and sometime require to convert a csv file into excel file to use excel features on the data.   Below function shows how to convert an csv file into excel file and vice versa. We can also convert to other formats based on constants Here constant value 23 is used to create a csv file and constant -4143 to save a file as xls file. Once the destination file is created, we can delete the source file as shown below.  In case of any issue in understanding the code, please add in comment section Call func_ConversionCSVExcel("E:\Test.csv", "E:\Test_converted.xls", "csvtoexcel") Public Function func_ConversionCSVExcel(strSrcFile, strDestFile, Conversion) on error resume next Set objExcel = CreateObject("Excel.application") set objExcelBook = objExcel.Workbooks.Open(strSrcFile) objExcel.application.visible=false objExcel.application.displayalerts=...