Posted by Indusa Admin on January 31, 2017 1:00 pm
Any process-driven software company understands the importance of following a methodical approach for quality assurance. You would probably agree with the need to adopt a systematic approach towards software testing, since it ultimately ensures that the delivered product is of the highest quality standards. According to a rough estimate, the worldwide monetary impact due to software failures is close to $3 trillion annually. For S&P 500 companies alone, the loss due to flawed testing strategy is valued at $100 billion.
Agile testing – weaving testing during the development phase
The agile testing practice is often adopted, which, in simple terms, is testing conducted in real time during the development phase itself. Both the development and QA teams jointly executing the agile testing help avoid the following common issues:
- Excessive project costs
- Missed project timelines
- Improper resource utilization
Software testing encompasses four criteria:
1) Entry Criteria, which is the first stage defining the conditions that should exist to begin the testing process
2) Suspension Criteria temporarily suspends the testing process when the test case document is sent for approval
3) Resumption Criteria specifies the conditions when the testing process can resume
4) Exit Criteria, which defines the conditions that must be fulfilled to end the testing process
Transitioning from entry to exit
Entry criteria in STLC (software testing life cycle) is a set of pre-conditions that should have occurred as on-going activities for the testing phase to begin.
These pre-conditions can be categorized into two different types:
- The business analyst or team of analysis should provide pre-conditions such as SRS (Software requirements specification), a design document, or a change request form.
- The testing team pre-conditions should include the test strategy, test plans, available testing infrastructure, and tools document.
It is good to note, that the conditions which define entry criteria lay the foundation for exit criteria. In absence of an SRS or a test plan document, it’s difficult to establish exit criteria.
Exit criteria marks the end of alpha testing
It is a question every tester may ask: “when and how does one stop testing?” Even after testing a software code, there is no guarantee that the code is 100% bug-free. There will always be instances where defects may creep in, probably at a later stage or due to a change request.
The purpose of testing, however, is not to make the software code 100% bug-free, but to ensure that the code achieves the business objectives and to find the amount of deviation in the results from the intended output.
Pre-requisites, also known as exit criteria, for ending the testing process are:
- All of your business requirement coverage is met, as mentioned in the System Requirement Study (SRS) document.
- There is no threat or bug in the software that has the potential of seriously affecting business operations.
- All defects with severity 1 have been removed.
- Defect rate falls below the acceptable limits.
- Regression testing is performed after fixing any and all high severity defects.
- The pass rate of test cases as indicated in the test case document is approximately 95%.
- User Acceptance Testing (UAT) or alpha testing has been executed in the developer’s environment.
- All relevant documents such as test logs, test incident reports, and test findings reports have been prepared.
With the above mentioned conditions fulfilled, it is safe to initiate test closure activities. This ensures that the software application successfully meets business objectives.
Exit criteria can be the entry criteria for another stage
The last stage of the Agile STLC (Software Testing Life Cycle) which consolidates all the activities performed during the test life cycle is also known as the test closure activity phase. The objective of this phase is to have an established document for any future reference. The activities include:
- Archiving the test environment, testing tools, and other related infrastructure
- Handing over the testware to the client for beta testing
- Performing root cause analysis to determine the causes of failure to allow the test process to mature for future project releases
Exit criteria in the agile testing practice helps meet the objectives of:
- Ensuring customer satisfaction in terms of costs and timeframe
- Adapting to changing requirements in real time
- Eliminating communication gaps between stakeholders
- Achieving technical excellence
- Making the development process simple and sustainable
With so much changing with testing tools and processes, it’s hard to resist the benefits you can achieve by properly defining and implementing the exit criteria in an agile STLC. This will help you work your way towards improvement in productivity, and reduction in test maintenance efforts in numerous test engagements.
About the Author -Ahesanali Vijapura
Ahesanali Vijapura is a highly professional Senior Project Manager (QA Services) at Indusa. He has vast experience in managing manual and automation test teams, onsite as well as offsite. He is an expert when it comes to software testing in various environments, server/client testing management and integration of multidisciplinary software and hardware systems.
Contributing Writer: Neha Kumar