Software Testing Life Cycle
How to do Software Testing
In the last session, We had discussed, How to do Software Testing, and we had learnt Software Development Life Cycle in the process of learning How to do Software Testing. This is a continuation of that session.
We had seen some stages in Software Development Life Cycle in our last session, So let’s take a look at the stages of Software Development Life Cycle.
Software Development Life Cycle
In the previous session, We had discussed about SDLC (Software Development Life Cycle). The Points we discussed in the last session were
- What is Software Development Life Cycle
- What are the different phases or stages in SDLC.
The Different Stages or Phases in SDLC are
- Requirement Gathering
- Requirement Analysis
- Design
- Coding
- Testing
- Deployment
- Maintenance
We can see that the there is a stage in Software Development Life Cycle “Testing” phase. This Testing also involves some activities which are done in a series or in phase manner or in stage manner, So those series of activities are called Software Testing Life Cycle. We are going to see those stages in this session.
So, Let’s see, what is Software Testing Life Cycle.
Software Testing Life Cycle is called STLC in short form.
Software Testing Life Cycle (STLC)
What is STLC
The Software Testing Life Cycle (STLC) is a series of activities that are carried out during software testing. The STLC follows a structured and well-defined process to ensure that the software being tested meets the expected quality standards. STLC involves both verification and validation activities.
So, Let’s see the stages involved in STLC
Stages of STLC
- Requirement Analysis
- Test Planning
- Test Case Writing
- Test Case Review
- Test Environment Setup
- Test Case Execution
- Defect Reporting and Tracking
- Test Closure
Let’s discuss each of the stage in detail
Requirement Analysis
As we know that the functionality of a software is called Requirement as well and all these Requirements have to be analyzed before Testing and this analysis is done with the help of Requirement Documents. There are 2 Types of Requirement Documents.
- Functional Requirement Document
- Business Requirement Document
For Example, Calculator Software has Addition, Subtraction, Multiplication and Division Functionalities, So these have to be analyzed if we have to do Software Testing for Calculator.
Test Planning
Once Requirement Analysis is done, We need to create a Test Plan Document and this is done in Test Planning phase. Test Plan Document consist of a plan on how to carry out Testing, When should we start Testing, When should we end Testing. Test Plan Document includes the testing strategy, test objectives, test scope, test approach, and test schedule.
For Example, Right now, It is possible to test only Addition, Subtraction and Multiplication only because development team can only develop these 3 functionalities and Division can not be tested. So Division will be out of scope and Addition, Subtraction and Multiplication will be in scope.
Test Case Writing
Test Case Writing is a Process of Writing Test Cases. Test Cases are a detailed description of each functionality or Requirement. Test Cases are based on the Requirement and Test Plan Document. In this process, We make sure that the Test Cases meet the requirement and we don’t leave any requirement.
We have already seen the example of test cases in our first session, where we had discussed, what is software testing, So that example can be referred here.
Test Case Review
Once Test Cases are written, These are reviewed by Business team. Business Team is the one who is responsible for Requirement Gathering and for the creation of Requirement Documents.
Test Environment Setup
Test Environment Setup is a process where Test Environment is setup or created, So that we can perform execution of Test Cases. We must know, What is Test Environment.
So let’s understand this with an example. Let’s say, If we want to create an Online Order, then we have to create Online in Website and this Website is an environment and if this environment is setup for Software Testing Purpose, then It is called Test Environment and the Process of setting up a Test Environment is called Test Environment Setup.
Test Case Execution
Once the Test Environment is setup, We are ready for Test Case Execution. Test Case Execution is process where we do real testing, such as if we have a written a test case for creating order, then we actually create an order in Test Environment i.e. Test Website and see if we are able to create an order or not. So. this way, we mark a Test Case pass or fail and continue our execution.
We have already seen the example of test case execution in our first session, where we had discussed, what is software testing, So that example can be referred here.
Defect Reporting and Tracking
When we do Test Execution, then we have to see, if a Test Case is getting passed or failed, and if a Test Case is getting failed, then we have to log a defect and assign it to the development team, so that they can work on it and fix it.
All the defects logged, needs to be tracked either in defect management tool like JIRA or in excel, So that we have a defect summary report, where in we can find that find the details of the defects such as status of a defect, priority of a defect, and all the other required details.
Test Closure
Once we finish Test Case Execution, then we have to prepares a report that summarizes the testing process’s results. This Report is a summary of the Testing done and this Report is called Test Closure Report and this Process is called Test Closure. The report includes metrics on the testing process, such as the number of test cases executed, the number of defects found, and their severity, and all other required details.
Summary
We have discussed below topics today.
- How to do Software Testing.
- Software Testing Life Cycle.
- Stages of Software Testing Life Cycle.
Question
Question for today’s session is, What are the stages involved in STLC.