top of page

User Stories Explained: What Quality Engineers Need to Look Beyond | Amber Insights #013

Oct 10
8 min read

Updated: 6 days ago

User Stories Explained: What Quality Engineers Need to Look Beyond

Introduction


User stories are everywhere in Agile delivery.

They often look simple:


As a customer, I want to reset my password so that I can regain access to my account.

One sentence. Three parts.


It can be tempting to read it, understand the basic intention, and immediately start writing test cases.


But a user story is not a complete specification.


It tells us something important about who wants something, what they want, and why it matters.


It does not necessarily tell us everything required to build or test that capability successfully.


For a Quality Engineer, the real work begins when we look beyond the sentence and start asking:


What does this story actually mean in practice?



01. What Is a User Story?


A user story is a concise way of expressing a requirement from the perspective of someone who needs a capability or outcome.


A commonly used structure is:


As a [user or actor], I want [capability], so that [value or outcome].

For example:


As a registered customer, I want to update my delivery address so that future orders are sent to the correct location.

The format gives us three useful pieces of information:


Element

Question it answers

Example

Actor

Who needs this?

Registered customer

Capability

What do they need to do?

Update delivery address

Value

Why do they need it?

Future orders reach the correct location


That is useful context.


But it is still only the beginning.



02. The Three Parts Matter


Each part of a user story contributes something different.


As a...


This identifies the actor.


But we should not assume the actor is always simply a user.


It might be:


A customer. An administrator. A caseworker. A support agent. Another system. A scheduled process.


The actor matters because different actors may have different permissions, journeys, and expectations.


I want...


This describes the capability or goal.


It tells us what the actor is trying to achieve.


So that...


This explains the value or purpose.


This part is particularly important because it helps us understand why the capability exists.


If we understand the purpose, we are better equipped to recognise whether the proposed behaviour actually solves the intended problem.



03. A User Story Is Not the Entire Requirement


Consider:


As a customer, I want to reset my password so that I can regain access to my account.

The intention is understandable.


But can we test the feature confidently from that sentence alone?


Probably not.


Who is eligible to reset a password?


How does the customer prove their identity?


Where is the reset instruction sent?


How long is the reset link valid?


Can it be used more than once?


What happens if it has expired?


What password rules apply?


What happens if the account does not exist?


What happens after a successful reset?


Are existing sessions invalidated?


Should the customer be notified that their password was changed?


The story gives us the direction.


The surrounding requirements, acceptance criteria, business rules, technical constraints, and conversations give us the details needed to understand the behaviour.


A short user story should not be mistaken for a complete specification.


04. Look Beyond the Sentence


This is where Quality Engineering adds significant value.


Instead of reading:


As a customer, I want to reset my password...

and immediately translating it into:


Test that the customer can reset their password.

We should explore what sits around the story.


User Story


05. The Actor Is More Important Than It Looks


Suppose a story says:


As a user, I want to view customer records.

Who exactly is a user?


A customer?


A support agent?


An administrator?


A manager?


An external partner?


Different answers could completely change the expected behaviour.


Imagine the system contains sensitive customer information.


A support agent may be permitted to view certain information.


A customer may only view their own information.


An administrator may have broader access.


An unauthenticated visitor should perhaps see none of it.


Changing the actor changes the permissions, data exposure, security risk, and test scenarios.


This is why vague actors, such as "user" should sometimes trigger further questions.


The actor is not simply the first few words of the story.


It can determine the entire behavioural context of the requirement.



06. Do Not Ignore the “So That”


Teams sometimes shorten stories to:


As a customer, I want to download my statement.

But the missing "so that" can contain useful information.


Consider:


As a customer, I want to download my statement so that I can provide evidence of my transactions when required.

Now we understand more about the purpose.


That purpose might lead us to ask:


What information must appear on the statement?


What date range should it cover?


What format is required?


Should it be printable?


Does it need identifying information?


Could accessibility matter?


Does the document need to preserve its layout when downloaded?


Understanding the business value helps us test whether the feature genuinely supports the intended outcome rather than merely checking whether a download button works.



07. User Stories Need Conversation


One of the biggest mistakes we can make is treating the text inside a Jira ticket as the entire conversation.


A story may be deliberately concise.


Important understanding may emerge through refinement, workshops, design discussions, technical investigation, and conversations with stakeholders.


The written story is therefore one source of information.


It may be supported by:


  • Acceptance criteria

  • Business rules

  • Designs

  • Process flows

  • API specifications

  • Data definitions

  • Architectural information

  • Accessibility requirements

  • Security requirements

  • Previous system behaviour

  • Stakeholder discussions


Quality Engineers should know where relevant information lives and recognise when important information is still missing.


Reading the ticket is not always the same as understanding the requirement.



08. Stories Contain Assumptions


Consider:


As a customer, I want to add an item to my basket so that I can purchase it later.

That sounds straightforward.


But assumptions immediately appear.


Can the customer add an out-of-stock item?


Can they add more items than are currently available?


Does the basket persist after logout?


Can an unauthenticated customer have a basket?


What happens if the price changes after the item is added?


What happens if the product becomes unavailable before checkout?


Is there a maximum quantity?


Can the same product be added multiple times?


None of those questions necessarily contradict the story.


They expose information that the story does not define.


A useful Quality Engineering distinction


The story says

We might be assuming

Customer can add an item

The item must be in stock

Item goes into a basket

The basket persists

Customer can purchase later

Price remains unchanged

Item can be added

Any quantity is permitted


The right-hand column should not silently become expected behaviour.


Those assumptions need to be validated where they matter.



09. Happy Paths Are Only One Interpretation


Stories are often naturally written around successful intent.


As a customer, I want to make a payment so that I can complete my purchase.

The obvious scenario is:


Customer provides valid payment details → payment succeeds → order completes.


But Quality Engineering also considers:


What if payment is declined?


What if the payment provider times out?


What if the customer submits twice?


What if payment succeeds but order creation fails?


What if the connection drops during processing?


What if the customer refreshes the page?


What if the amount changes?


What if the payment response arrives late?


The user story may describe the desired journey.


Testing must also explore the conditions that threaten that journey.



10. A Story Can Be Too Large


Not every requirement written in user-story format is necessarily a good-sized story.


Consider:


As a customer, I want to manage my account so that I can keep my information up to date.

What does manage my account include?


Update name?


Change address?


Change email?


Change telephone number?


Change password?


Manage communication preferences?


Close the account?


That may represent several different capabilities, rules, and risks.


Large stories can make requirements harder to understand, estimate, develop, and test.


Quality Engineers can help expose this by asking whether the behaviour can be understood and validated as a coherent unit.


The objective is not to split stories simply to make them smaller.


It is to create pieces of work that are meaningful, understandable, and testable.



11. INVEST Can Help Us Examine a Story


A widely used way of thinking about user-story quality is INVEST.




I — Independent

Can the story be delivered without unnecessary dependency on another story?

N — Negotiable

Does it support conversation rather than pretending every detail is already fixed?

V — Valuable

Does it deliver identifiable value?

E — Estimable

Is there enough understanding to estimate the work meaningfully?

S — Small

Is it appropriately sized?

T — Testable

Can we determine whether it has been successfully implemented?


INVEST should not become another bureaucratic box-ticking exercise.


It is a useful thinking aid.


For Quality Engineers, the final letter is particularly relevant:


T — Testable


If we cannot determine objectively whether the story has been satisfied, something may still need clarification.



12. User Stories and Acceptance Criteria Are Not the Same Thing


This distinction is important because Issue 014 will examine acceptance criteria in detail.


The user story describes the capability and its value.


The acceptance criteria provide conditions that help define when the story's behaviour is acceptable.


User story


As a registered customer, I want to change my email address so that my account contains my current contact information.

Acceptance criteria


The new email address must use a valid format.


The customer must confirm their current password before changing the email address.


A confirmation message must be sent after a successful change.


An email address already associated with another account cannot be used.


The story tells us what and why.


The acceptance criteria begin defining the conditions surrounding successful behaviour.


But, as we discussed in Issue 011, even acceptance criteria may not represent the entire universe of testing.



13. A Practical User Story Analysis Lens


When I read a new user story, I want to understand more than its grammar.


I want to know:


Actor — Who or what needs the capability?


Goal — What are they trying to achieve?


Value — Why does it matter?


Preconditions — What must already be true?


Rules — Which business rules govern the behaviour?


Data — What information is required or changed?


Permissions — Who can and cannot perform the action?


Success — What does successful completion look like?


Failure — What could prevent success?


Boundaries — Where does behaviour change?


Dependencies — Which other systems or services are involved?


Quality characteristics — Which performance, security, accessibility, reliability or other expectations matter?


Evidence — How will we demonstrate that the intended outcome occurred?


From User Story to Test Coverage



14. Quality Engineers Should Challenge, Not Rewrite Everything


Quality Engineers do not need to become the authors of every user story.


Nor should we turn refinement into an attempt to document every imaginable scenario before development begins.


The objective is proportionate understanding.


A low-risk, straightforward change may require relatively little analysis.


A complex payment journey involving sensitive information and several external dependencies may require considerably more.


Our contribution is to recognise uncertainty that matters.


We ask questions.


We expose assumptions.


We identify risks.


We help the team understand failure conditions.


We challenge behaviour that cannot yet be objectively verified.


And we help connect the story to meaningful test coverage.


The goal is not perfect documentation. The goal is sufficient shared understanding to build and evaluate the right thing.



Final Thoughts


A user story is valuable because it gives us a concise expression of who needs something, what they need, and why it matters.


But concise should not be confused with complete.


A single sentence rarely tells us every rule, boundary, dependency, failure condition, or quality expectation surrounding a capability.


That is why Quality Engineers should learn to look beyond the format.


Do not simply ask:


What tests can I write from this story?

First ask:


What do we need to understand about this story before we can test it confidently?

Understand the actor.


Understand the goal.


Understand the value.


Explore the rules.


Challenge the assumptions.


Consider failure.


Identify dependencies.


Understand the quality expectations.


And make uncertainty visible.


Because a perfectly written test case cannot compensate for a user story that the team has misunderstood.


The user story starts the conversation. Quality Engineering helps make sure the conversation goes far enough.


About the Author


Amber Idumwonyi is a Senior Quality Engineering professional with extensive experience delivering Quality Engineering solutions across UK Government, defence, healthcare, and enterprise technology programmes. She has led Quality Engineering initiatives, developed Test Strategies, contributed to modern testing and automation practices, spoken at industry conferences, and founded LEMP, an organisation focused on practical technology education, mentoring, industry experience, and career development.


Amber is passionate about Quality Engineering, AI-assisted testing, technical leadership, and developing the next generation of technology professionals.


Read More:

 
 
 

Comments


bottom of page