Entry and Exit Criteria For Software Testing

Entry and Exit criteria are required to start and end the testing. It is must for the success of any project. If you do not know where to start and where to finish then your goals are not clear. By defining exit and entry criteria you define your boundaries. For instance, you can define entry criteria that the customer should provide the requirement document or acceptance plan. If these entry criteria are not met then you will not start the project. On the other end, you can also define exit criteria for your project. For instance, one of the common exit criteria in projects is that the customer has successfully executed the acceptance test plan.

Testing Start Process

The entry criteria defines what all need to start the testing. It is very necessary to know for tester /QA what should be start criteria for entering into testing phase.
 
The Entrance Criteria specified by the system test controller, should be fulfilled before System Test can commence. In the event, that any criterion has not been achieved, the System Test may commence if Business Team and Test Controller are in full agreement that the risk is manageable.

In general, entry criteria is a set of conditions that permits a task to perform, or in absence of any among these condition will not allow to perform that task is taken as the Entry Criteria of that task.

For Example

If you have to write Test cases, what you will require to do that,

  1. The requirement (Functional /Business) doc,
  2. Complete understanding of the flow,
  3. The test case format/Tool that is used in your organization and many more

Similarly if you need to execute TCs the Entry criteria should be

  • All developed code must be unit tested. Unit and Link Testing must be completed and signed off by development team.
  • Functional and Business requirement should be cleared, confirmed and approved.
  • Test plan, test cases reviewed and approved.
  • Test environment/test ware gets prepared
  • Test data should be available
  • Availability of application
  • QA/Tester gets significant knowledge of application.
  • Resources should be ready


Testing Stop Process

The Exit criteria is a set of conditions based on which you can say this particular task is finished.
This can be difficult to determine. Many modern software applications are so complex, and run in such as interdependent environment, that complete testing can never be done. "When to stop testing" is one of the most difficult questions to a test engineer. Common factors in deciding when to stop are:

For Example. System Testing

  1. The requirement should be completely covered.
  2. The Sev2 and above issues must be fixed.
  3. The documentations must be done for that application and so on.

Exit criteria will include what all required to end the test cycle as follows:

  • Deadlines (release deadlines, testing deadlines, etc.)
  • Test cases completed with certain percentage passed
  • Test budget depleted
  • Coverage of code/functionality/requirements reaches a specified point
  • All defects are fixed or closed
  • Closure reports are singed off
  • All the test cases have been executed and passed
  • Beta or alpha testing period ends
  • Budget allocated for testing is exhausted
  • The risk in the project is under acceptable limit.

Practically, we feel that the decision of stopping testing is based on the level of the risk acceptable to the management.

As testing is a never-ending process we can never assume that 100% testing has been done; we can only minimize the risk of shipping the product to the client with X testing done. The risk can be measured by Risk analysis but for a small duration / low budget / low resources project, risk can be deduced by simply:

  • Measuring Test Coverage
  • Number of test cycles
  • Number of high priority bugs

One of the most important mechanisms is the use of exit criteria to set specific goals for an activity. Exit criteria can be used to define success at the end of any activity, test level or project, so this concept has multiple uses within software testing projects.

Entry criteria can also be used where it is necessary to decide entry to an activity based on factors other than the success of a previous activity.

Benefits of managing testing projects by making use of entry and exit criteria

There are two important advantages to managing testing projects by making use of objective entry and exit criteria.

  1. The criteria for successful completion are set at the beginning of the project, well before the pressures associated with delivery are felt, and can be based on a consensus of all the stakeholders.
  2. Decisions are visible and simple at the transitions from one test level to another and at delivery.

These advantages do not, in themselves, provide any guarantee of a successful project. What they do achieve, however, is to make the decision-making process more open throughout the project. Every stakeholder can see how well the project is progressing against its quality criteria and if any decisions are required to authorize progress beyond a milestone for which the criteria has not been met; the implications are clear to all.

At the point of delivery a final release decision will be based on criteria that are met, nearly met or not met. Where the criteria are met the release is straightforward. Where the criteria are nearly met a risk-based decision can be made based on the gap between the criteria and the actual achievement. Where criteria are not met the decision may be more tricky, but even here the existence of objective criteria can help to quantify the level of risk and select the best action plan.

Next Recommended Readings