Configuration Management is the the management of a software design as it evolves into a software product or system. It is also a means of communicating to the project's designers and developers, the technical detail and events that lead to the eventual build and delivery of the final product.
Requirements are a set of specific criteria that a system must meet in order to be acceptable to the business stakeholders. They represent the standards against which tests must be measured. Because testing is based on requirements, requirements must specify exactly what an application must accomplish, which includes:
·What the business stakeholder or user requires from the application (functional requirements)
·Characteristics about the behavior of the application, particularly in relation to the environment within which it is to reside (non-functional requirements)
·Constraints and assumptions
·The audit and control mechanisms necessary to build the application
·The standards to follow.
Requirements do not have to specify how or why a given function will be implemented to support testing. Requirements should be stated as clearly and concisely as possible. One recommended format is the complete sentence structure of Verb-Object Modifiers-Object. For example:
Life should NOT be a trip to the grave with the intention of arriving safely in an cool and well preserved body, but rather to skid in, chocolate in one hand, beer in the other, body wrecked, totally worn out and screaming WOO HOO what a ride!