Quality Assurance - Requirements
What is a "requirement" ?
- A requirement is a function or property that an application should have if it is be correct.
- It should be expressed in an unambiguous way.
- It should always be possible to test that a requirement has been met.
- The ensemble of requirements should define the application completely.
- Here is an example:
AtlfastRequirement 12 :
The history (ie generator four-vector for the particle) will be
traceable. Athena- Atlfast will be able to function in the absence of
history information.
Requirements Gathering
- Requirements gathering is the phase of specification of an application.
- The initial expression of a
requirement may be informal (back of an envelope!). It is the
responsibility of the requirements document editor to clarify and
re-express in a succint manner.
- Scenarios (use cases) are
simply expressed descriptions of how a user will interact with the
system, and how the system will respond.
- Requirements gathering is a dialogue between users and developers.
- The requirements document is a contract between users and developers.
- In the research environment,
the developers and users are often the same group. This does not
dispense the developers from establishing the list of requirements. It
may even make it more difficult, because the right questions will not
be asked!
What is a requirements document?
What is a requirements review ?
- The review is a formal scrutiny of the list of requirements to ascertain that
- it is complete,
- it is consistent,
- each requirement is unambiguous, and can be tested.
What happens afterwards ?
- The result of the requirements review should be the list of requirements.
- This list is used to establish the design of the application.
- The list is also used to establish the plan for testing the finished
application. (Acceptance tests).
Setting up a requirements review