Test Conditions is a term that has multiple definitions. For the sake of this blog, we are going to define them as the equivalent of (Low Level) Test Objectives and state that they are One-Line statements of what is going to be tested. (High level Test Objectives may relate to more system level objectives and some of them may be derived from the Project Charter or plan.)
For example, the Test Conditions may read as follows:
- Test that the system calculates interest correctly.
- Verify that the design allows for 100 simultaneous connections.
- Validate that the user interface is accessible according to the corporate standards.
The question that frequently arises is why bother to write these Test Conditions? It seems like an extra step with minimal return. Why not just go directly to the Test Cases?
We use them for a number of reasons.
- They allow the tester to consider the entire system rather than getting into detailed test cases at the first step.
- They allow other stakeholders to review the test coverage without having to read through full test cases.
- They can identify coverage and omissions in coverage with limited effort.
- They allow for estimation of the number of test cases that will be needed before the testcases are written.
- They allow for estimation of the test effort early in the project.
- They can help identify the components of the test environment earlier allowing it to be specified and built before it is needed.
- They determine the required test data and allow it to be gathered and made ready before testing starts.
We have found that the effort in building test conditions is more than paid back in early information and helpful triggers for what needs to be done.
- Do you write Test Conditions or Test Objectives?
- Were they beneficial to the project?
- What would you have done differently based on what you know now?
Next Week: Process Improvement – Deal with Results