distributedlife

passionate about everything

There shall be only one! Published by Ryan Boucher @ 11:55 pm

It can be too easy for testers and developers to miss requirements when they are embedded within the definition of a different requirement. If there is more than one requirement for a particular aspect of a system, screen widget or label. Create a second requirement.

Why is this important?

  • Developers and Testers can miss requirement
  • You lose traceability between your requirements, the code, test cases and defects.
  • Versioning requirements becomes difficult because each change request impacts multiple requirements which impacts a greater number of tests

Take this stunning example:

There is a rollover effect on hover and selected state is displayed after user has clicked the link

The menu will only display items that contain data and the items will be sorted in alphabetical order. Items are in sentence case.

This should be:

1. On Hover – A ‘rollover’ effect applies which is defined as …

2. On Click – A ‘selected’ state is applied to the relevant menu item. This is defined as …

3. Menu items are to be sorted alphabetically

4. Menu Items are in sentence case

It’s a fairly trivial example but it illustrates how easy it is slip into non-formal English language when defining requirements. Requirements are formal, they need to be explicit.

A quick and easy way to check if you have too many expectations defined per requirement is to check for any joining words like ‘and’. If you have a requirement and another one, you can be confident that there are two requirements defined.

Note: I shouldn’t need to be narky but the reality of it is that too few analysts manage to produce suitable documentation for testers and developers. Either that or they just don’t care. The other reality is that the aforementioned people probably don’t read blogs, let alone mine.

2nd Note: </Rant>

My Mug Ryan Boucher is a Software Inquisitor and is passionate about it. You can find a whole raft of articles and anecdotes about software testing and other topics he gets excited about.
Tags

2 Responses to “There shall be only one!”

  1. September 17th, 2008 at 4:38 pm Mark:

    You missed one:
    5. Menu items will only be displayed if they contain data.

  2. September 18th, 2008 at 11:39 pm rybo:

    Peer Reviews, ftw.