|
|
Functional versus Non-Functional Requirements and Testing |
|
Projects &
Non-Functional Requirements In many projects non-functional requirements are not considered at all or only at a very superficial level. Non-functional requirements deal with the behavior of a system or the technical aspects. On the surface these may not seem important to the business user or customer who have a greater interest in the functional requirements. Often it is a major triumph just to persuade the project team that non-functional requirements are important enough to be considered at the outset of the project early in the life cycle. |
One of the fundamental objectives of a project is to collect both the functional and non-functional requirements. These need to be kept in balance and harmony, and most importantly not compromised as the project progresses.
Functional
Requirements
Non-Functional
Requirements Non-functional requirements specify all the remaining requirements not covered by the functional requirements. They specify criteria that judge the operation of a system, rather than specific behaviors, for example: "Display of the patient's vital signs must respond to a change in the patient's status within 2 seconds." Typical non-functional requirements are:
Non-functional requirements specify the system’s ‘quality characteristics’ or ‘quality attributes’. Potentially many different stakeholders have an interest in getting the non-functional requirements right. This is because for many large systems the people buying the system are completely different from those who are going to use it (customers and users).
Requirements Traceability Matrix
Functional Testing
Testing does not have to occur once the 'code' has been delivered. It can start early with analyzing the requirements and creating test criteria of 'What' you need to test. The process for doing this is called the “V” model. It decomposes requirements and testing. Because it allows testing and coding as a parallel activity which enables the changes to occur more dynamic.
The cost of catching and correcting errors early in the cycle is generally under 20% of the cost post implementation.
|
This page last updated on
August 18, 2007.
| Home | Site Map |
Copyright ©2001-2007 Mark Kozak-Holland
All Rights Reserved