From arrizza.org wikiJump to navigation Jump to search
|Previous ⇦ Main Page||Main Page ⇫ Up||Algorithms ⇨ Next|
This may seem like an odd topic. Requirements are easy, you just write what you want the system to do and that's it. Right?
But as it turns out, there is a bit of an art and a bit of a science to it.
Requirements exist so we can state what we want the system to do and then compare what the system actually does and verify those match. Requirements clarify the most important behaviors of a system. There will be many behaviors of a system that are not important enough to write down. But there are those behaviors that are important and so we commit to the extra effort of writing them down.
The "compare" part means that requirements exist so that testing can be performed efficiently and correctly. A requirement focuses the testing effort and clarifies the intent of the test(s). A test team may or may not test other aspects of the system, but they will test the behavior specified by the requirements.
Having a common, simple structure that each requirement follows helps ensure they are more legible and are easier for readers to understand. A simple structure will also help testers adequately prepare for and test the requirement.
Types of Requirements
There are three broad types of Requirements: