Software Testing:
In this tutorial, we discuss the Evolution of Software Testing, the Software Testing Life Cycle, and the various phases involved in STLC.
Table of Contents: [Show]
8 Phases of Software Testing Life Cycle (SLC)
The pattern and competency of testing are shifting. Testers are now expected to be more technical and process oriented. Testing is much more than just discovering defects; it has a broader scope and is necessary from the start of the project, even before the requirements are finalized.
Tests are also standardized. Just as software development has a lifetime, so does testing. In the next parts, I will discuss what a life cycle is and how it relates to software testing, and I will attempt to expound on it.
Let us start!
What is Lifecycle?
In layman’s terms, a lifecycle is the process of transitioning from one form to another. These alterations can occur to any tangible or intangible object.
Every entity has a life cycle that begins with its inception and ends with its retirement or demise. Similarly, software is an entity. Testing, like software development, consists of a series of stages that must be completed in a specific order.
The testing life cycle refers to the systematic and planned execution of testing activities.
What is the Software Testing Life Cycle (STLC)
The Software Testing Life Cycle (STLC) is a set of steps that must be completed in a specific order to ensure that quality objectives are met. Each activity in the STLC process is carried out in a planned and systematic manner, and each phase has its own set of goals and deliverables. The STLC process varies by organization, but the fundamentals remain the same.
Below are the phases of STLC:
- Requirements phase
- Planning Phase
- Analysis phase
- Design Phase
- Implementation Phase
- Execution Phase
- Conclusion Phase
- Closure Phase
#1. Requirement Phase:
During this phase of STLC, analyze and study the requirements. Have brainstorming sessions with other teams and try to find out whether the requirements are testable or not. This phase helps to identify the scope of the testing. If any feature is not testable, communicate it during this phase so that the mitigation strategy can be planned.
#2. Planning Phase:
In practical scenarios, Test planning is the first step of the testing process. In this phase, we identify the activities and resources that would help to meet the testing objectives. During planning, we also try to identify the metrics and the method of gathering and tracking those metrics.
On what basis the planning is done? Only requirements?
The answer is NO. Requirements do form one of the bases but 2 other very important factors influence test planning. These are:
– Test the strategy of the organization.
– Risk analysis / Risk Management and mitigation.
#3. Analysis Phase:
This STLC phase defines “WHAT” to be tested. We identify the test conditions through the requirements document, product risks, and other test bases. The test condition should be traceable back to the requirement.
Various factors affect the identification of test conditions:
– Levels and depth of testing
– The complexity of the product
– Product and project risks
– Software development life cycle involved.
– Test management
– Skills and knowledge of the team.
– Availability of the stakeholders.
We tought to attempt to record the test conditions in an itemized manner. For instance, for an online business web application, you can have a test condition as “Client ought to have the option to make an installment”. Or on the other hand you can detail it by saying “Client ought to have the option to make installment through NEFT, charge card, and Visa”.
The main benefit of composing the point by point test condition is that it expands the test inclusion since the experiments will be composed in light of the test condition, these subtleties will set off the composition of more definite experiments which will ultimately build the inclusion.
Also, identify the exit criteria of the testing, i.e. determine some conditions when you will stop the testing.
#4. Design Phase:
This phase defines “HOW” to test. This phase involves the following tasks:
– Detail the test condition. Break down the test conditions into multiple sub-conditions to increase coverage.
– Identify and get the test data
– Identify and set up the test environment.
– Create the requirement traceability metrics
– Create test coverage metrics.
#5. Implementation Phase:
The significant errand in this STLC stage is the production of point by point experiments. Focus on the experiments and furthermore distinguish which experiment will turn out to be important for the relapse suite. Prior to settling the experiment, It means quite a bit to survey it to guarantee the rightness of the experiments. Additionally, remember to remove the sign-from the experiments before the genuine execution begins.
Assuming that your venture includes robotization, distinguish the applicant experiments for computerization and continue with prearranging the experiments. Remember to audit them!
#6. Execution Phase:
As the name suggests, this is the Software Testing Life Cycle phase where the actual execution takes place. But before you start your execution, make sure that your entry criterion is met. Execute the test cases, and log defects in case of any discrepancy. Simultaneously fill your traceability metrics to track your progress.
#7. Conclusion Phase:
This STLC phase concentrates on the exit criteria and reporting. Depending on your project and stakeholders’ choice, you can decide on reporting whether you want to send out a daily report or a weekly report, etc.
There are different types of reports ( DSR – Daily status report, WSR – Weekly status reports) that you can send, but the important point is, that the content of the report changes and depends upon whom you are sending your reports.
If Project managers have a testing background then they are more interested in the technical aspect of the project, so include the technical things in your report ( number of test cases passed, failed, defects raised, severity 1 defects, etc.).
But if you are reporting to upper stakeholders, they might not be interested in the technical things so report to them about the risks that have been mitigated through the testing.
#8. Closure Phase:
Tasks for the closure activities include the following:
- –Check for the finishing of the test. Whether all the experiments are executed or relieved intentionally. Check there is no seriousness 1 deformities opened.
- Do examples learned gatherings and make an illustrations learned report. ( Incorporate what worked out positively, where are the extent of upgrades, and what can be moved along)
Conclusion
Let’s try to summarize the Software Testing Life Cycle (STLC) now!
S.No | Phase Name | Entry Criteria | Activities Performed | Deliverables |
---|---|---|---|---|
1 | Requirements | Requirements specification document Application design document User acceptance criteria document | Do brainstorming of the requirements. Create a list of requirements and get your doubts clarified. Understand the feasibility of the requirements whether it is testable or not. If your project requires automation, do the automation feasibility study. | RUD ( Requirements understanding document. Testing feasibility report Automation feasibility report. |
2 | Planning | Updated requirements document. Test feasibility reports “ Automation feasibility report. | Define the scope of the project Do the risk analysis and prepare the risk mitigation plan. Perform test estimation. Determine the overall testing strategy and process. Identify the tools and resources and check for any training needs. Identify the environment. | Test Plan document. Risk mitigation document. Test estimation document. |
3 | Analysis | Updated requirements document Test Plan document Risk Document Test estimation document | Identify the detailed test conditions | Test conditions document. |
4 | Design | Updated requirements document Test conditions document | Detail out the test condition. Identify the test data Create the traceability metrics | Detailed test condition document Requirement traceability metrics Test coverage metrics |
5 | Implementation | Detailed test condition document | Create and review the test cases. Create and review the automation scripts. Identify the candidate test cases for regression and automation. Identify / create the test data Take sign off of the test cases and scripts. | Test cases Test scripts Test data |
6 | Execution | Test cases Test scripts | Execute the test cases Log bugs / defects in case of discrepancy Report the status | Test execution report Defect report Test log and Defect log Updated requirement traceability metrics |
7 | Conclusion | Updated test cases with results Test closure conditions | Provide the accurate figures and result of testing Identify the risks which are mitigated | Updated traceability metrics Test summary report Updated risk management report |
8 | Closure | Test closure condition Test summary report | Do the retrospective meting and understand the lessons learnt | Lessons learnt document Test matrices Test closure report. |
YOU MAY BE INTERESTED IN
The Art of Software Testing: Beyond the Basics
Automation testing course in Pune