What Is A Test Plan And How To Write Test Plans

What is a Test Plan?

 
A test plan is a document that describes in detailing the test scope, test objectives, roles and responsibility, test schedules, test environment and may more.
 
Note
Below, I have created sample test plan template for Leave Management System [LMS] as a reference.
 

Test Plan Identifier

 
Test Plan V 1.1 - OrangeHRM Leave Management System
 

Introduction and Objective

 
This document defines all the procedures and activities required to prepare for testing the functionalities of the system which are specified in the SRS document. As we know that handling an LMS manually is a very complicated and quite difficult task especially when there is huge number of employees in the company. So, this LMS for OrangeHRM will help the admin by reducing the problems faced during handling the leaves manually. The admin will be able to check/manage the leave reports according to various available filters, admin can approve/reject employees leaves according to the pending leave balance, admin can configure/entitle the leaves, etc. The prerequisite for LMS is that at the user/employee side, he/she should have applied for a leave.
 
The purpose of this document is to detail the functional testing tasks for the OrangeHRM LMS. The purpose of this test plan is to define the activities needed to perform testing and to identify the various risks and contingencies involved in testing.
 
Abbreviations
 
Some of the Abbreviations used in this OrangeHRM Leave Management System test plan are as follows,
  • LMS - Leave Management System
  • SRS - Software Requirement Specification
  • HRM - Human Resource Management.

Test Scope

 
Testing of Functional behavior and User Interface of the following Modules,
  • Admin Login creation
  • Admin Forgot Password
  • Admin should be able to see the Leave List with respect to the filters
  • Admin should be able to reset all the fields/filters used while searching the Leave List
  • Admin should be able to add Leave Entitlement
  • Admin should be able to search Leave Entitlement with respect to filters
  • Admin should be able to view Leave Entitlement and Usage report with respect to filters provided
  • Admin should be able to view the Leave Balance Details according to the employees, while assigning the leave
  • Admin should be able to configure/edit leave period
  • Admin should be able to add/delete leave types
  • Admin should be able to edit the work week with respect to different filters such as Full-day, Half-day and Non-working day
  • Admin should be able to search the list of holidays according to the specified dates
  • Admin should be able to add/delete the holidays
  • Admin should be able to assign/approve leaves to the employees by verifying employee’s leave balance
  • Admin should also be able to assign leaves to the employees for a specific duration of days of his/her own choice.
Inclusions
 
Functional Testing
  • Unit Testing
  • Integration Testing
  • Regression Testing
  • Retesting
  • Alpha Testing
Non-Functional Testing
  • Performance Testing - Volume
  • Security Testing - Vulnerability
  • Usability testing
  • Recovery Testing
  • User Interface Testing
  • Compatibility Testing
  • Reliability Testing
  • Maintainability Testing

Test Objectives

  • Validate that the system behavior is the same as specified in the SRS Documentation.
  • Ensure proper Functional Testing as well as Non-Functional Testing.
  • Ensure that the user/employee should not be able to access the admin’s portal.
  • Ensure that the admin should be able to assign the Leaves to the employees with respect to the provided filters.
  • Ensure that the status of the employees leaves should be updated regularly.
  • Ensure that the admin should be able to see the leave balance during assigning a leave.
  • Ensure that the admin should be able to configure the leave periods and types.

Assumptions

  • Clarification of all queries and information will be received on time.
  • Information given should be enough to prepare Test scenarios and Test cases.
  • Employees will not be able to access the admin’s portal.
  • Admin will be having his/her own registered account on OrangeHRM and if not then he/she has to registered first.
  • The records of the employees with respect to leaves are maintained properly and securely in a database.
  • Security is provided to the database that is shared between the admin and employees.
  • The admin is having full knowledge of using this OrangeHRM LMS.
  • Users are having internet access with a good network to avoid further issues.

Risk Analysis

  • The server might get crashed.
  • Network degradation may impact on the performance.
  • Database security and access must be defined and verified, especially for the data shared between admin and employees.

Strategy

 
This section will describe the overall approach of the testing which ensures that each feature and the combination of the features will be tested.
 
Testing Approach
 
Black Box, White Box, and Grey Box
 
The testing for this project will consist of Unit and Integration testing. Using coding knowledge the testers can also perform White Box as well as Grey Box testing on different modules in OrangeHRM LMS.
 
Unit Testing
 
This will be performed by the Test Manager, Test Lead and the Testers along with the Development Team. In Unit Testing, every module will be tested respectively.
  • Test whether the admin is able to log in.
  • Test whether an employee is able to see/access the admin’s portal.
  • Test whether the admin is able to get the Leave List with respect to each and every filter.
  • Test whether the admin is able to configure the holidays, work week, leave types and leave period.
  • Test whether the admin is able to add Leave Entitlement
  • Test whether the admin is able to search Leave Entitlement with respect to filters
  • Test whether the admin is able to view Leave Entitlement and Usage report with respect to filters provided
  • Test whether the admin is able to search the list of holidays according to the specified dates
  • Test whether the admin is able to add/delete the holidays
  • Test whether the admin is able to assign/approve leaves to the employees by verifying employee’s leave balance.
Integration Testing
 
Once the exit criteria for Unit Testing is satisfied, the Testers can continue with the Integration Testing.
 
In this, Integration testing will involve the verification and validation of all functional requirements. In Integration Testing, the modules tested during Unit Testing will be logically connected to each other and will be further tested.
  • • Test whether the admin credentials are stored properly and securely in database.
  • • Test whether the employee database is logically connected with the admin’s portal.
  • • Once employees requests for leaves, the records should be shown in the Leave List.
  • • Test while adding the Leave Entitlements, the changes are displayed in Employee Entitlements.
  • • Test whether the admin is able to generate and view Leave Entitlement and Usage Report based on Leave Type and Employee.
  • • Test if updates made in the Leave Period are displayed in other modules where the filters include Leave Period.
  • • Test if updates made in the Leave Type are displayed in other modules where the filters include Leave Type.
  • • Test if the calculation of Number of days is calculated and displayed according to the Leave Period.
  • • Test while Assigning Leave, Leave balance should display sufficient/insufficient by verifying the leave balance and Leave Balance details should also be displayed.
Features not to be tested,
 
N.A.

Roles and Responsibilities

 
Resource Name Responsibilities
 
Test Manager Rudri Mehta 1. Provide Technical Direction
2. Planning, Monitoring and Measuring Test Process
3. Milestone Reviews
Tester Minal Patil 1. Identify scenarios & creation of Test Cases
2. Execute Tests cases on the Admin module
3. Create a Traceability Matrix
4. Reporting Defects if any
 

Test Schedule and Resources

 
Task ID Activity Start Date Stop Date Resource Task Dependency
  1. Create Test Plan 23-Jan-2020 23-Jan-2020 Minal Patil
  2. Approval of Test Plan 23-Jan-2020 23-Jan-2020 Rushi Mehta 1
  3. Understanding of SRS and Application 23-Jan-2020 23-Jan-2020 Minal Patil
  4. Create Test Scenario 24-Jan-2020 24-Jan-2020 Minal Patil 1, 2
  5. Create Test Cases 25-Jan-2020 25-Jan-2020 Minal Patil 1, 2, 4
  6. Traceability Matrix 26-Jan-2020 27-Jan-2020 Minal Patil 5
  7. Execute Test Cases 28-Jan-2020 4-Feb-2020 Minal Patil 5
  8. Recording of Defects 5-Feb-2020 6-Feb-2020 Minal Patil 7
  9. Defect Analysis Report of overall 7-Jan-2020 8-Feb-2020 Minal Patil 8
Resource Planning Includes
  • Employees
  • Tools

Suspension / Resumption Criteria

 
Suspension Criteria 
  • Critical path deadline is missed so that the client will not accept the delivery even if all testings are completed
  • Unavailability of external dependent systems during execution
  • When a defect is introduced that may not allow further testing process
  • If server crashes
  • If application crashes
Resumption Criteria
 
When all suspension issues are resolved
 

Test Environment

  • Server Configuration: SQL Server, IIS Web Server
  • Hardware Configuration: Operating system - Ubuntu, All Windows series
  • Processor: Intel Core i3, i5, i7 and i9
  • RAM configuration: 16 GB or better
  • Browsers Required: Internet explorer / Google Chrome / Mozilla Firefox / UTorrent
Test Data
  • Check system response when no data is submitted
  • Check system response when no data is submitted at the mandatory fields
  • Check system response when Valid data/credentials are submitted
  • Check system response when Invalid data/credentials are submitted
  • Check system response when data is in an invalid format
  • Test data meeting boundary value conditions
  • Check system response with respect to each and every filters in all modules

Communication Approach

 
Official communication media (Skype, Ammyy Admin[Remote]) such as Admin’s email id should be used.
 

Test Tools

  • TestLink
  • JIRA
  • JMeter
  • Bugzilla
  • Jenkins
  • Selenium
Approval - Test Manager
 

Summary

 
Hope this article will be very helpful to all the testers, and learn what is exactly test plan and how to write a test plan in my next blog I will explain you how to create test cases of any particular objects in software testing