The Test requirement analysis guidelines provide an approach to perform a detailed analysis of the requirements delivered. This document will provide an overview of requirements testing, including definitions for different ambiguities and how to capture requirements defects.
The QE Team will benefit from the detailed analysis of requirements to
Limit Scope Creep
Increase Requirements Traceability to Test Cases
Reduce Defect Leakage to Production
Improves Estimation Accuracy
Increases velocity of Test Case creation
The QE team shall engage in the requirements walkthrough given by the Product Owners/ Business Analysts. QA Specialist (Functional SME) participates in the elicitation to ensure clear, concise, measurable conditions. By providing measurable requirements, QA Specialist (Functional SME) ensures the requirements are testable.
Respective architect teams give technical spec walkthroughs, and the QE team clarifies all open questions.
Technical requirements provide the solutions for the requirements defined by the business. Functional requirements are termed the “what,” and technical requirements are termed the “how.”
In the elicitation sessions, the Product Owners/ Business Analysts focus on capturing requirements to define “what” actions will be automated in the system. Technical specifications define how the system will be modified to address the needs of business users and analysts.
As part of PI planning, the entire team participates, estimates the features and commits to the PI. QE team reviews the Features and their acceptance criteria and ensures they are testable.
Based on the features committed in PI, the Scrum QE team creates user stories for testing the features. When a User story is completed, the QE team analyzes the user stories and their acceptance criteria for any ambiguity, or it contains any poor requirement etc., to meet the definition of done without any ambiguities. The condition refers to the user story and its acceptance criteria in the below sections. Analysis practices are mentioned below.
When analyzing the requirement, QA Specialist (Functional SME) shall review the content of the requirement to determine if the requirement is clear, concise and measurable. The following provides an overview of the questions applied to requirement analysis.
Does the requirement state what triggers the action performed in the requirement?
Does the requirement have an expected outcome?
Does the requirement identify the user performing the action?
Does the requirement state the permissions required to perform the operation?
Are the boundaries of the requirement clear? For instance, if a report is run weekly, does the requirement state what day the report is run?
Are the business rules stated that determine whether a condition is true?
Does the requirement address error conditions?
Are error messages given?
Does the requirement address alternate flows?
Does the requirement address exceptions?
Condition | Symptoms |
---|---|
Ambiguous Logical Operations |
A condition is when a requirement uses specific words to indicate logical relationships between elements in a sentence.
|
Ambiguous References |
Condition when requirement uses words that can be interpreted differently based on the reader’s view, such as frequently, efficiently, monthly, periodically, etc. |
Boundary Ambiguity |
A condition when the author uses terms - among or up to. The scope of the requirement is ambiguous because the stated requirement can be interpreted in multiple ways.
|
Built-In Assumptions (Tribal Knowledge) |
A condition when the author assumes that all consumers of the document will have the same level of domain knowledge
|
Etc. |
Etcetera is not a quantifiable measurement that can be confirmed, so it is considered ambiguous. (i.e., Sentences ending with etc.) |
Omission |
A condition of an incomplete requirement
The requirement omits important information leaving readers to interpret the behaviour. |
Scope of Action |
A condition when the requirement is not clear and cannot be quantified |
Temporal Ambiguity |
A condition when the author uses terms - at the appropriate time or fast. The scope of the requirement is ambiguous because the stated requirement can be interpreted in multiple ways.
|
User Stories:
Once you identify a user story, care should be taken that it contains all these six attributes. User stories are not written commitments. Details of the story are always discussed between the developer and the user. The story card should contain the notes of such discussions and acceptance tests to be carried out for the story.
Detailed Requirements specify the interaction between the user and the system. Detailed requirements can be written as User stories. The detailed requirements define the fundamental actions between the user and system in accepting, processing, and generating the outputs.
Business Rule
A business rule is a law, policy, standard or procedure by which an organization functions. It is a statement that defines or constrains some aspect of the business.
The business rules are analyzed in conjunction with user requirements, as the business rules provide parameters for the user requirement.
The determination for “measurable” will be whether the business rule provides boundaries for user requirements.
Constraint – A constraint is a limitation or restriction placed on the choices available to the project team for the design and development of the system.
The analysis for constraints is done in conjunction with user requirements, as the constraints provide parameters for the user requirement.
The determination for “measurable” will be whether the constraint provides boundaries for user requirements.
Data Requirement – A data requirement is information the system or user requests/provides to satisfy an interface or functional requirement.
These apply to both Waterfall and Agile methodologies
How to find ambiguities – Review the user stories and acceptance criteria for ambiguities as mentioned below
Ambiguities in language result in incomplete requirements. The following list provides indicators.
Incomplete lists ending with etc., and/or, and TBD
Ambiguous words and phrases, such as generally, usually, to the greatest extent, and where practicable
Imprecise verbs such as supported, handled, processed or rejected
Implied certainty, such as always, never, all or every
Passive voice, such as the counter is set (By whom?)
Every pronoun, particularly it or it should have an explicit and unmistakable reference
Comparatives, such as earliest, latest, and highest. Words ending in “est” or “er” should be suspect.
Words whose meanings are subject to different interpretations between the business customer and IT analyst, such as instantaneous, simultaneous, achievable, complete, finish, degraded, a minimum number of, nominal/normal/average, peak/minimum/steady state, as required/specified/indicated, Coincidental/adjacent/synchronous with
In cases where a term used in a particular context can have multiple meanings, the term should be included in a glossary of the requirement document, where its meaning is made more specific.
Consistent Requirements – Quality Engineers and the team review the user stories to ensure no inconsistency. Below are the inconsistent sample types
Internal Inconsistencies Types
Conflicting terms: Two terms are used in different contexts to mean the same thing. Example: The term ‘prompt’ denotes a message to have a user input data used in one requirement, while the term ‘cue’ is used in another requirement to mean the same thing.
Conflicting characteristics: Two requirements in a BRD or feature/ user story state the software should exhibit contradictory attributes. Example: one provision states that all inputs will be via a menu interface, while another requirement says that all inputs shall be via a command prompt.
Temporal or logical inconsistency: Two parts of the BRD or user story may specify conflicting timing characteristics or logic. Example: One requirement may state that operation B can be performed only when operation A has been completed. In contrast, another requirement may conflict by saying that Operation B can be performed independently of Operation A.
Redundancy/ Duplicate Requirements – The Test Lead shall examine the user stories to find any redundancy or duplication in requirements. Redundancy itself is not an error but has the potential to lead to mistakes. For Example: When a user story containing acceptance criteria is updated, there is a possibility that one of the redundant components is updated. This automatically leads to inconsistency in requirements.
Prioritized Requirements – Quality Engineers shall verify user stories are assigned priority based on business criticality. If a focus is not offered an elicitation, Test Lead must examine Jira Backlog to determine whether all requirements have been given priority.
Measuring of requirements:
Requirements are deemed measurable when they are SMART
QA Specialist (Functional SME) identify the dependencies on the projects that are not aligned in the same sprint or follow the waterfall model, create a timeline of end-to-end completion and track.
Track Requirements defects – If any observations or defects are identified during the requirements walkthrough by the business, those observations and defects need to be raised in Jira with Requirements as phase or root cause.