ISTQB definition:
Entry criteria (definition of ready) - are the set of conditions for officially starting a defined task.
Exit criteria (completion criteria, test completion criteria, definition of done) - the set of conditions for officially completing a defined task.
Two important things to think about when determining the approach and planning the testing are: how do we know we are ready to start a given test activity? And how do we know we are finished? The factors to consider in such decisions are called entry and exit criteria or, in Agile development, the definition of ready, and definition of done.
Typical entry criteria include the following
Availability of testable requirements, user stories, and/or models, for example when following a model-based testing strategy, that is, the test basis is available;
Availability of test items that have met the exit criteria for any previous test levels;
Availability of the test environment;
Availability of necessary test tools and any other materials needed;
Availability of test data and other necessary resources;
Availability of staff for testing tasks;
Availability of the component or system to be tested, in a state where tests can be done, that is, availability of the test object.
Typical exit criteria include the following
Tests: the number planned, prepared, run, passed, failed, blocked, skipped, etc. are acceptable;
Coverage: the extent to which the test basis (for example requirements, user stories, acceptance criteria), risk, functionality, supported configurations, and the software code have been tested;
(that is, achieved a defined level of coverage) - or have not;
Defects: the number known to be present, the arrival rate, the number estimated to remain, the number resolved and the number of unresolved defects are within an agreed limit;
Quality: the status of the important quality characteristics for the system, for example, reliability, performance efficiency, usability, security, and other relevant quality characteristics are adequate;
Money: the cost of finding the next defect in the current level of testing compared to the cost of finding it in the next level of testing (or in production);
Schedule: the project schedule implications of starting or ending testing;
Risk: the undesirable outcomes that could result from shipping too early (such as latent defects or untested areas), or too late (such as loss of market share).
When writing exit criteria, we try to remember that a successful project or iteration is a balance of quality, budget, schedule, and feature considerations.
ISO/IEC/IEEE 29119-3:
Specifies the criteria used to determine when the test activities for the defined test sub-process should start and stop. A test sub-process consists of the following processes:
Test design & implementation;
Test environment set-up & maintenance;
Test execution; and
Test incident reporting.
Different entry and exit criteria may be defined for each of these individually or for selected ones, or for the entire sub-process as a whole.
Human language:
Entry criteria - are the conditions that must be met before you can start the test. In each phase of STLC, the entry and exit criteria should be defined. Once all the required conditions are met, one is good to start that particular STLC phase.
Exit criteria - are the conditions that must be met before the test is completed. Ideally, the QA team does not proceed with the next phase until the exit criteria of the current phase are met. The entry criteria should include the completion of the exit criteria of the previous phase. In real-time, it is not possible to wait for the next phase until the exit criteria are met. Now, the next phase can be initiated if the critical deliverables of the previous phase have been completed. Exit criterion is used to determine whether a given test activity has been completed or NOT.
Life example:
In our previous article, we discussed the stages of the STLC. As you know, each stage has entry and exit criteria. In this article, we will consider them using the example of the Test Execution stage of the STLC.
Example: The development team build a wishlist functionality for the website
As you remember, Entry Criteria (definition of ready) is the set of conditions for officially starting a defined task. Our task is to execute the test cases for the wishlist functionality that have been written in the previous stage of the STLC - Test Design.
To start our test execution process, we have to check the following conditions:
Availability of test items;
Availability of test cases and test suites for our functionality;
Availability of test data;
Availability of the test environment.
These are our Entry criteria for starting the test execution. As you can see, we are not able to start our test execution process without meeting all these conditions. So imagine that we met our conditions for the wishlist functionality.
Our Test item: Wishlist;
Our test cases and test suites: 10 test cases for the wishlist for guest users; 10 test cases for the wishlist for registered users;
Our test data: An account for the registered user: Email: test@gmail.com / password: test12345;
Our test environment: Development environment;
Then we perform test execution, we select and run 2 test suites each with 10 test cases, and got the results:
for guest users: 6 - passed / 4 failed;
for registered users: 7 - passed / 3 failed.
But how do we know if our test execution is completed or not?
For that reason, we have the Exit Criteria.
Exit criteria - are the conditions that must be met before the test is completed.
Based on our example, our Exit Criteria might be:
Tests:
The number of run test cases: 20;
The percentage of test cases which passed: 80%;
The percentage of test cases which failed: 20%.
Our test execution results are:
The number of run test cases: 20;
The percentage of test cases which passed for guest users: 60%;
The percentage of test cases which passed for registered users: 70%.
This means that we can't finish testing our Wishlist feature and release it due to test execution does not meet the exit criteria.
Conclusion:
So, if you are asked at an interview, What are the entry and exit criteria? The best way to answer is:
Entry criteria (definition of ready) - the set of conditions for officially starting a defined task;
Exit criteria (completion criteria, test completion criteria, definition of done) - the set of conditions for officially completing a defined task.
Comments