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

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 can do this b

Reading data from text file in SoapUI using groovy script

How to read data from text file in SoapUI. SoapUI Pro has some advance feature which is not in SaopUI as data fetching from external sources so in SoapUI we use Groovy script for that. Following are the peace of groovy script code for reading data from text file. 1. Reading all data from text file. //reading all txt file at once File file = new File("E://TestData.txt") fileContent = file.getText()                  log.info fileContent 2. Reading data line by line from text file. //reading text line by line File file1 = new File(" E://TestData.txt ") List textLine = file1.readLines() log.info textLine 3. Reading data randomly of any line from text file. //reading text randon line number File file2 = new File(" E://TestData.txt ") List textLine2 = file2.readLines() rowIndex  =  Math.abs(new Random().nextInt() % 4 + 1) log.info textLine2[rowIndex]

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=