Software Testing Tutorial
- Introduction to Software Testing
- Principles of Software Testing
- Software Development Life Cycle (SDLC)
- Software Testing Life Cycle (STLC)
- Levels of Testing
- Database Testing
- Ad-hoc Testing
- Testing Types
- Test Closure Report Preparation
- Test Report Preparation
- ISTQB Organization and Certification Overviews
What is a test closure report?
Test Closure is a document that gives a summary of all the tests conducted during the software development life-cycle, it also gives a detailed analysis of the bugs removed and errors found. In other words, Test Closure is a memo that is prepared prior to formally completing the testing process.
Test closure activities are those activities which are performed at the end of the testing process. These are usually performed after the product is delivered, like generating test report etc. According to test process, it is essential to guarantee that processes for delivering source information essential for evaluating exit criteria and reporting are available and effective.
Test Closure document which gives the information’s about the testing status before completing the testing process.
This document consists of:
- Total no of test cases
- Total no of bugs found
- Total no of bugs fixed
- Total no of bugs not fixed
- Total no of bugs rejected
- Total no of bugs postponed etc.
Crucial Stages of Software Testing Life Cycle:
Stages of Test Closure Report Preparation:
The process of test closure is implemented with the assistance of six important stages, which help the team check and validate various components of the software before it is released for the end users. These stages involve continuous engagement of the testers as well as the team leads/manager, where they take measures to ensure the quality and effectiveness of the software. Hence, the six important stages of test closure are:
Check planned deliverables:
The planned deliverables that will be given to the stakeholder of the project are checked and analyzed by the team. These mainly include test case documents, test plan, test strategy, test scripts,test data, traceability matrix, and test results and reports like test closure report. Moreover, the team here ensures that all of these planned deliverables are delivered to the stakeholders.
Close Incident Reports:
Incidents are the variations and deviations observed by the team in system behaviour during the process of testing. These are logged as a report in the earlier stages and closed during this stage of process. Here, the team checks that the planned deliverables are delivered and validates that all the incidents are resolved before the culmination of the process.
Handover to Maintenance:
After resolving incidents and closing the incident report, the testwares are then handed over to the maintenance team, who provide their adept support to the software during its release and client side implementation.
Finalize & Archive Testware/Environment:
During this stage of test closure involves finalizing and archiving of the testware and software like test scripts, test environment, test infrastructure, etc for later use.
Document System Acceptance:
Here, every aspect of the developed software and application along with its supporting data and information is accepted by the customer representatives before the implementation of the software system. This involves system verification and validation according to the strategy outlined and defined in the validation section.
Analysis Best Practices:
This is the last stage of test closure, wherein the learned lessons are analyzed for future references. This helps determine the various changes that might be required for similar projects and their future release. Moreover, this information is gathered and then used to improve the maturity of tests. The most important factor about this document is that, it records the best practices for similar future projects and make it easily accessible for others.
Why Is Test Closure Required?
Test Closure is a very important part of software development. This is because it performs the following functions:
- Formally Announce Closure: Once all testing is complete there has to be a formal announcement of its closure. Word of mouth is not sufficient, there has to be a written note to this effect; here the Test Closure document gains significance.
- Collate All Results: The results of all the tests performed needs to be prepared, this way every error found during testing is documented and can be referred when required. Again, this requirement is fulfilled by the document prepared during Test Closure.
- Provide Detail Analysis: Analysis of errors pinpoints their source of origin so that corrective action can be taken. Similarly, it also provides scrutiny of all the actions taken to get rid of unnecessary bugs. The summary of this analysis is also a documented part of the Test Closure report.
- Present Test Metrics to Client: A client will not always understand the errors that occur and the resultant action that is taken to rectify. But what they do understand are the metrics that state the number of errors and how they were removed with corrective action. Such metrics, for client reference, also find a place in the Test Closure document.
- Adjudge Risk: Finally, the most significant part of Test Closure is risk assessment in respect to the software as a whole. This provides a heads up to the client regarding the success rate of the application, i.e., they will know the strengths and weaknesses of the program.
Test Closure Report:
Test closure report is prepared by the test lead to define various details about the process of testing, such as test passes carried out, their results, outstanding defects, exit criteria, testing performed, defects addressed, defect trend analysis, etc.
Moreover, this report is further reviewed by other stakeholders of the project, which ensures its accuracy. This report, in short, indicates the culmination of testing and is an important part of Software Development Life Cycle (SDLC).
The test closure activities are an integral part of software testing life cycle (STLC), which are implemented once the process of testing is completed and the product is released for the use of the end user. Hence, let us understand the significance of test closure activities with the assistance of the following discussion.
What Do You Understand by Test Closure Activities?
Test closure, which is the last stage of software testing life cycle, is a report that is prepared by the team manager or lead after the completion of software testing process. It is after the preparation of this report as well as after the release of the software, that the test closure activities are performed. The objective of performing these activities is to determine the actual outcomes and the impact of various testing activities executed on the software to ensure its quality. Moreover, it helps discern the facts and numbers about the testing activities performed during project cycle.
When are Test Closure Activities Performed?
Though, the test closure activities are mainly performed after the delivery of the software product; there are certain instances, scenarios, and conditions which mark the end of testing phases and hence, require the team to perform these closure activities. Few of these instances are:
- When all the defects and imperfections, along with the relevant information, are identified.
- Sometimes, when project is cancelled due to certain reasons.
- When the specified objective or target is achieved by the team.
- It is used when the maintenance or required changes are needed to be done.
- When all the lessons learned while testing are completed & documented.
Types of Test Closure Activities:
Once the product is delivered to the client or is deployed to the live environment, the test closure activities are performed by the team to ensure the accuracy of testing and to deliver necessary deliverables to the client or user. Hence, the test closure activities comprises of four tasks, which are mentioned in detail below:
- Validate Test Completion: While performing this activity, the test team manager validates the completion of every test work and process. Sometimes, in the complex and intricate projects, few essential things are missed out. Thus, team manager is responsible to cross- check the various test plans, test cases, and strategies to ensure that nothing was left out during the course of testing. Moreover, all the known bugs and defects must be corrected, deferred, or should be acknowledged as a permanent limitation by the test manager.
- Handing Over of Test Artifacts &Testware: After the validation of test completion, relevant test artifacts and work products are delivered to the people who might need it in the future. The responsible team handovers all the vital information and testware to the concerned and authorized individuals, who offer support after product delivery and are tasked with making necessary changes.
- Define Lessons Learnt: The most important aspect of test closure activities is that it offers a chance to evaluate and record various lessons learnt from the software testing process as well as the software development life cycle (SDLC). From discussing the best practices and good processes, to eliminating various unfavourable processes, all things are considered for future reference.
- Archiving Test Work: Finally, the team is tasked to archive all the important and relevant test work product and documents, such as test logs, test report, test cases, test results, test plans, and more in configuration management system. Both test plan and project plan should also be stored in the planning archive and there must be a significant linkage between system and the version which is being used. Lastly, the test execution reports should be properly linked to the version of the product.
Benefits of Performing Test Closure Activities:
From the above discussion, it is quite clear that performing test closure activities is not only beneficial for the testing team, but is also profitable for validating the quality of the software product. Hence, some of the other benefits of performing test closure activities are:
- It checks whether the planned deliverables are actually delivered or not and validates if all sorts of bug as reported in bug report got resolved or not.
- It evaluates number of possible outcomes achieved in the whole process, which creates positive impact in the execution of future integrations.
- The test optimizes test scripts and test environments which need to be finalized for the usability of end-users.
- It helps evaluate and analyze the process of testing and the lessons learnt for development & testing.
The points below summarize the topics as discussed:
- Usually, Test Closure is done after getting a sign off from the client as well as the project team. It documents all that was promised to be delivered and all that is actually delivered.
- It is a documented proof, that can be referred to at any time by either party, of all errors and their corrective actions, test cases, and their analysis, software metrics etc.
- Test Closure marks an end to all testing that can be done on the software and hence, it is the final step before the actual release of the final product.