When modeling requirements in English, one of the heuristics is to avoid ‘weak verbs’ such as ‘to process’, ‘to handle’ and ‘to manage’. The weak verb is subject to broader interpretation than other, more constrained (strong) verbs and in writing software, broad interpretations are more likely to yield building the wrong thing.
Some test management tools help us ‘manage requirements’. What exactly does that mean? It’s ironic that we use a weak verb in describing a tool used for manipulating (ideally) pairs of strong nouns and strong verbs.
Increasingly, I find that I’m evaluating test management tools based on how they help me work and collaborate around those requirements and how effectively they help me use the requirements as test targets.
- Create/edit/share checklists of test targets (including requirements).
- Version-control and label checklists so I can associate them with other version-controlled artifacts like source code. I don’t need per-item version control, just version control on the checklist.
- Layer profiles onto the checklist to highlight themes: the high-risk theme unites high-risk items, the new-construction theme unites items that are new, … and I get to invent the layers/profiles that suit my context.
- Create/edit/share exploratory testing session charters based on a selection of items from a checklist
- Create/edit/share exploratory testing session records
- Compile checklists/session records into information radiators / dashboards for myself, for team members, and for external stakeholders.
- Create/edit/share a script based on a selection of items from a checklist (could be one, could be many); creating a script for a given checklist item shouldn’t be the default.
That’s what “manage requirements” means to me, a test manager.