A testable requirement is a requirement that has been broken down to a level where it is precise, unambiguous, and not divisible into lower level requirements. These criteria are only met if it is possible to write a test case that would validate whether the requirement has or has not been implemented correctly. This is the source of the term "testable requirement". For most requirements, a testable requirement could be described in terms of:
![](Symb075c00b700f000000000.png) The state of the system and the data elements that are inputs (e.g., customer number, product number)
![](Symb075c00b700f000000000.png) The condition or action associated with the requirement (e.g., the user enters data, the order is validated, the check amount is deducted)
![](Symb075c00b700f000000000.png) The expected or specified result described in terms of data elements (e.g., customer number must be 8 digit numeric, product quantity must be greater than zero).
Figure 3
|