question to understand (how to test an user story #1)

22
How to test an user story Question to Understand Powered by HBT T Ashok Founder & CEO STAG Software Private Limited Architect - HBT in.linkedin.com/in/AshokSTAG Ash_Thiru Webinar: Feb 19, 2015, 1100-1200 IST

Upload: stag-software-private-limited

Post on 20-Aug-2015

395 views

Category:

Software


4 download

TRANSCRIPT

How to test an user storyQuestion to UnderstandPowered by HBT

T AshokFounder & CEOSTAG Software Private LimitedArchitect - HBT

in.linkedin.com/in/AshokSTAG Ash_Thiru

Webinar: Feb 19, 2015, 1100-1200 IST

© 2015 STAG Software Private Limited. All rights reserved. 2

An user story is seen as a modern way of communicating the end user's needs and expectationsin a sweet and simple format that can be easily modified.

This brevity/simplicity hides information leading to understanding in the small and potentially missing the big picture.

This webinar focuses on how-to-identify these "white spaces" in an user story to uncover potential gaps and understand what it is supposed to accomplish.

© 2015 STAG Software Private Limited. All rights reserved.

User story

3

User Story

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria (From www.scrumalliance.org community article)

Independent

Negotiable

Value adding

Estimable

Small

Testable

© 2015 STAG Software Private Limited. All rights reserved.

The value of good understanding

4

The focus of lean thinking is to “reduce waste”.

It is not about finding issues later by testing, rather it is about not having these in the first place.

Good questions enable clarity via: - being clear of what you know- discovering what you don’t know

Question to understand

Spec

Implement

Design

Code

Validate

Prevent issues

Detect early

Ensure detection

© 2015 STAG Software Private Limited. All rights reserved.

User story - What should we understand?

5

User Story

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

WhyIssue/benefit

What are we solving?What is the expected benefit to the user?

© 2015 STAG Software Private Limited. All rights reserved. 6

User StoryWhoUser/Persona

Who is this meant for?The background of user & usage

WhyIssue/benefit

What are we solving?What is the expected benefit to the user?

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 7

User StoryWhoUser/Persona

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

WhyIssue/benefit

What are we solving?What is the expected benefit to the user?

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 8

User StoryWhoUser/Persona

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

WhyIssue/benefit

HowBehaviour conditionsImplementation

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 9

User StoryWhoUser/Persona

WhatCollaborations

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

... with other user stories

... other systems

WhyIssue/benefit

HowBehaviour conditionsImplementation

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 10

User StoryWhoUser/Persona

WhatCollaborations

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

... with other user stories

... other systems

WhyIssue/benefit

HowBehaviour conditionsImplementation

WhereEnvironment

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

... user’s situation/ constraints

... deployment environment/ constraints

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 11

User StoryWhoUser/Persona

WhatCollaborations

WhenPre-conditions

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

... with other user stories

... other systemsSystem states, prerequisites

WhyIssue/benefit

HowBehaviour conditionsImplementation

WhereEnvironment

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

... user’s situation/ constraints

... deployment environment/ constraints

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 12

User StoryWhoUser/Persona

WhatCollaborations

WhenPre-conditions

Is it?Acceptance criteria

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

... with other user stories

... other systemsSystem states, prerequisites

... functional : conditions of satisfaction

... non-functional attributes too

WhyIssue/benefit

HowBehaviour conditionsImplementation

WhereEnvironment

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

... user’s situation/ constraints

... deployment environment/ constraints

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved. 13

User StoryWhoUser/Persona

WhatCollaborations

WhenPre-conditions

Is it?Acceptance criteria

How muchUsage profile

Who is this meant for?The background of user & usage

Volume, frequency concurrencyPerception of importance

... with other user stories

... other systemsSystem states, prerequisites

... functional : conditions of satisfaction

... non-functional attributes too

WhyIssue/benefit

HowBehaviour conditionsImplementation

WhereEnvironment

What are we solving?What is the expected benefit to the user?

Understand business logic,& implementation details

... user’s situation/ constraints

... deployment environment/ constraints

“As a <specific user/persona/role>” I want <desired feature/issue that needs to be solved>, so that <benefit from the feature>”+ Acceptance Criteria

User story - What should we understand?

© 2015 STAG Software Private Limited. All rights reserved.

Real life usage

14

1

4

7

2

5

8

3

6

9

OtherSystem1

Other System2

... is a collection of user stories strung together.

Ultimately we need to validate the various flows.

© 2015 STAG Software Private Limited. All rights reserved.

Understand evolution ...

15

t0 t1 t2

A

Unchanged US

B

US modified!

P1 P2 P1 P2

User Story

P1 P2 P1 P2

User Story

Modification/Extension/DropUnderstand change impact to “what can break/go-wrong-newly”

© 2015 STAG Software Private Limited. All rights reserved.

Information needed for good understanding...

16

Success factors

Marketplace & Customer types

End users

User stories, Flows, Attributes

Prioritization & Usage profile

Interactions/Collaborations

Deployment environment

Stage of development

Behaviour

Structure - Architecture, Technologies

The reason for deploying the system

The target for our business

Who will use our system? How many?

What do they need? What are their expectations?

Which is more important? How will it be used?

How do use cases work collaborate to deliver value?

Where will it run?

How do the internals look like?

Built new or modified or status quo?

What conditions govern the behaviour ?

© 2015 STAG Software Private Limited. All rights reserved.

Information needed for good understanding...

17

External information

to

Internal information

Success factors

Marketplace & Customer types

End users

User stories, Flows, Attributes

Prioritization & Usage profile

Interactions/Collaborations

Deployment environment

Stage of development

Behaviour

Structure - Architecture, Technologies

© 2015 STAG Software Private Limited. All rights reserved.

Techniques to Aid “Scientific Questioning”

18

Landscaping - A Core Concept in HBTA technique to rapidly understand a system by examining various elements and their connections between them.

Viewpoints - A Core Concept in HBTSee the system from various end users’ point of view to identify the needs & expectations to set a clear baseline.

Personal, scientific test methodology.SIX staged evaluation powered byEIGHT disciplines of thinking usingTHIRTY TWO Core Concepts.

HBT

© 2015 STAG Software Private Limited. All rights reserved. 19

It is based on the simple principle:“Good questions matter more than the answers. Even if questions do not yield answers, it is ok, as it is even more important to know what you do not know.”

Landscaping states that there are about SIXTEEN information elements that will enable good understanding of the system.

The act of seeking information on these SIXTEEN elements and their interconnections results in questions that aid in understanding.

Landscaping - A Core Concept in HBTA technique to rapidly understand the system by examining the various elements and the connections between them.

© 2015 STAG Software Private Limited. All rights reserved. 2019

Good testing requires that the tester evaluate the system from the end-use angle i.e. put oneself in the end-user’s shoes. This is easier said than done.System

Viewpoints - A Core Concept in HBTSee the system from various end users’ point of view to identify their needs & expectations to set a clear baseline.

© 2015 STAG Software Private Limited. All rights reserved.

Hypothesis Based Testing - HBT

21

System Under Test

Cleanliness Criteria

Potential Defect Types

Test CasesRequirementstraceability“what to test”

Faulttraceability“test for what”

should satisfy impeded by

Click here to know more about HBT.http://stagsoftware.com/blog?p=570

© 2015 STAG Software Private Limited. All rights reserved. www.stagsoftware.com

HBT is the intellectual property of STAG Software Private Limited.STEMTM is the trademark of STAG Software Private Limited.

@stagsoft

blog.stagsoftware.com

Connect with us...

Thank you.

How to test an user story : Question to Understand

Powered by HBT