SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Using Business Stories toTest Requirements and Systems Paul Gerrard paul@gerrardconsulting.com Twitter: @paul_gerrard Web: gerrardconsulting.com Slide 1 Intelligent Testing, Improvement and Assurance
Who are You? Agile, Structured or ‘Hybrid’ Analysts, Testers or Developers (Pick any 2, 3, 4, 5, or all 6) Intelligent Testing, Improvement and Assurance Slide 2
Intelligent Testing, Improvement and Assurance Slide 3 This session is for… What we’ll explore… Anyone who writes/reads requirements or tests Business Analysts in Structured Projects Relationship of Stories to Requirements Test Analysts in Structured Projects How Stories can test Requirements Testers in Agile Projects How Stories fit Agile and Structured Developers in Agile Projects How Stories spawn manual/automated tests We’re going to examine how we can elicit and refine requirements that are testable and viable for development and capture requirements knowledge in a useful way.
What are Stories? From Caveman, through Agile to Mainstream
Slide 5
Agile story cards Slide 6 From cave paintings to story cards… progress?
Stories A powerful antidote to the complexity of systems and analysis Telling stories helps stakeholders to have a sufficiently wide view to avoid problems Stories vary from brief statements to richly coloured analyses (sagas) Usually based on a sequence of actions carried out by intelligent ‘agents’. Slide 7
How stories can help People are very good at reasoning from even quite short stories to identify (for example): Omissions Inconsistencies Ambiguity These innate human capabilities give stories their power Stories are applicable to systems of all types, at any stage for different purposes. Slide 8
A trigger for a conversation A story could be a few words stuck on a post-it note or index card Simplest definition: “A trigger for a conversation” But post-it notes (many tools just simulate them) aren’t good requirements repositories We need something better. Slide 9
Story Header Feature:	ship orders As a 	orders clerk I want 	to acknowledge and ship the order   So thatwe fulfil a book order Scenario: 	ship a single book from stock Given 	I select a valid order   And	the ordered book is in stock When 	I choose ‘acknowledge and ship’ Then 	order status is changed to ‘shipped’   And	an address label is printed Structured stories (other variations exist) Slide 10 Key word Story text Each Story has multiple Scenarios Scenarios can be data driven
Anatomy of a business story header Intelligent Testing, Improvement and Assurance Slide 11 ,[object Object]
Note that roles can sometimes vary, but it is often better to reference ‘personas’ that have multiple roles.
Personas could be “18 year old male gamer” or “65 year old female retired nursery school teacher” for example.,[object Object]
given=precondition(s), when=steps, then=outcome(s)
A scenario maps directly to a test case – but we haven’t used the word test yet.
If I do – stop me.,[object Object]
Scenario outlines allow scenarios to be data-driven Slide 14 Feature: Log in process  As a system user  In order to protect the system   I want accounts to be protected with secure credentials Scenario: log in process  Given the home page login screen  When i enter an Email address: <email>    and i enter the password: <password>    and <check> the “remember me” check box    and click the submit button  Then the system <logsmein>    and the system displays <display>Examples:email        | password        | check    | logsmein                | displayvalid email  | valid password  | check on | logs me in               | home pageno email     | anything        | anything | rejects the email address| “invalid email”invalid email| anything        | anything | rejects the email address| “invalid email”valid email  | invalid password| anything | rejects the password     | “invalid password”
The View from Above 1 Agile Methods are Evolving There’s lots of them Expect consolidation
Overview Countless new approaches emerging out of the Agile community There seems to be a natural evolution towards ‘Specification by Example’ Looks terrific in theory, and a few companies appear to have it working But first some background… Slide 16
Emerging Approaches We seem to be in the middle of an explosion of new approaches Mostly Agile but not exclusively so Some new but many rework established ideas Lean, Kanban and anything oriental in vogue Emerging management methods Acceptance-, Behaviour-, Design-, Test-Driven Development… Emerging specification and development methods Slide 17
Wikipedia Search:‘driven development’ Test-Driven Development* Feature Driven Development * BehaviorDriven Development * Tester Driven Development Business-Driven Development * Community Driven Development * Design-Driven Development Process Driven Development Test-Driven Development by Example * Model-Driven development * Event Driven Development * Goal-Driven Software Development Process * Slide 18 ‘Variations on a theme’? * Entries updated less than six months ago
Prescriptive v adaptive Slide 19 Regular Timeboxes Event-Driven Waterfall Extracted from:  http://www.crisp.se/henrik.kniberg/kanban-vs-scrum.pdf
Feedback loops (NOT to scale) Slide 20 2-4 weekly Daily Hourly Minutes Seconds Pair Programming Unit Test Continuous Integration Daily Scrum Sprint Feedback ranges from personal observations (pairing), through automated unit, build/integration tests, user tests and team retrospectives
From Test-Driven to Specification by Example …in 5 minutes
Test-Driven – from stories to code Slide 22 Stories are not (usually) retained The Test code is crafted by hand The Story The Test The Software
Behaviour-Driven – structured story to code using today’s tools Slide 23 The stories are captured as plain text, code or html The Test code is generated by a tool from the stories The Story The Test The Software
Spec-by-Example – flowdown from requirements to code Slide 24 The stories are used to validate requirements The story is captured in the SAME tool as requirements The Test code is generated by the SAME tool from stories The Story The Test The Software
Test code generation In the previous slides, I’ve used the generation of xUnit (in this case, Python unit test) code to illustrate the story => test code process Test code could be the plain text, html or pseudocode used by existing BDD tools  Developers don’t need to change their ways Test code directly into version control means they can’t tinker with it This stage is the natural interface from users and testers to (e.g. offshored) developers. Slide 25
The View from Above 2 Structured folk want the best of Agile Stories provide a natural link Expect to see hybrid methods, new toolsets emerge
Stories and the range of development approaches Slide 27 “We’re not structured, let’s go Agile”  Aaarghhh! Process Formality Waterfall/Structured No man’s land ‘Pure’ Agile Agile High Structure/Formality Where Stories Are Meaningful ,[object Object]
Varying formality, but ALL require discipline
But stories are universal as examples of features in use
Stories won’t work where they are regarded as ‘throwaway’ in Agile projects (or anywhere),[object Object]
Coverage of Business Stories is a necessary, but not sufficient, contractual requirementDevO’Lopper
How stories will help Stories instantiate features of the system and example them Stories fed back to stakeholders to validate requirements Requirements PLUS stories provide a better foundation for developers (less wriggle room) Stories provide logical tests for acceptance; testers can add detail and procedure, if necessary Stories can generate BDD (e.g. Cucumber) scripts or TDD (xUnit) code Customer-Supplier contract supported by stories and tests Improves stability of the requirements and the relationship Suppliers who rely on vague requirements and change requests for their business model wont like it though (tough!) Intelligent Testing, Improvement and Assurance Slide 29
Requirements  Stories orStories  Requirements? Requirements are written for the benefit of IT Complete, concise, precise, consistent, unambiguous Or none of the above Users want to tell stories and provide examples The analysts transform these into requirements for the techies to work with But if stories are part of the process, the natural, iterative approach to requirements elicitation, analysis and validation fits nicely So… adopt an Agile approach to requirements in your structured process? Intelligent Testing, Improvement and Assurance Slide 30 At which point the analysts say, “but we’ve always worked that way”
Stories support all development methods Intelligent Testing, Improvement and Assurance Slide 31
Ubiquitous Language An emerging discipline, coming from the ‘Domain-Driven Design’ community To create a flexible, knowledge-rich design, calls for a versatile, shared team language Ubiquitous language is intended to be used in business, system designs and even code UL is beyond the scope of this session, but expect it to gain traction over the next few years. Intelligent Testing, Improvement and Assurance Slide 32 COBOL was meant to be a Common Business-Oriented Language in 1959
So we need a tool that will… Manage business definitions Index defined terms throughout requirements, stories and scenarios Capture requirements and story detail, and cross-refer them Output requirement and story content in an easy-to-review format Output BDD/TDD code for use by developers. Intelligent Testing, Improvement and Assurance Slide 33
How to Test Requirements with Stories Intelligent Testing, Improvement and Assurance Slide 34
Example requirement: what needs definition? A customer order will have a unique order reference a customer identifier, an order date and a required-by date. Each order generates multiple order items each of which has a unique ID, a product identifier, an order quantity, a unit price, a unit weight, a promised delivery date and required-by date. The total order price, earliest and latest delivery date, total weight will be calculated from the items on the order. Intelligent Testing, Improvement and Assurance Slide 35 As a tester; as a developer
Example requirement: what needs definition? A customer order will have a unique order reference a customer identifier, an order date and a required-by date. Each order generates multiple order items each of which has a unique ID, a product identifier, an order quantity, a unit price, a unit weight, a promised delivery date and required-by date. The total order price, earliest and latest delivery date, total weight will be calculated from the items on the order. Intelligent Testing, Improvement and Assurance Slide 36
What other questions might you ask? ‘customer order will have…’ means what? ‘unique order reference’ unique in what context? ‘Order date’: date placed, or date recorded or other date to be defined? ‘Each order generates’ – means what? Can an order have zero items? Is there a limit to how many items? Can order quantity be negative, non-zero, is it a decimal or integer? Must dates be weekdays or can they be weekends? Are there any date rules to apply? What currency are prices in? What units is weight measured in? Is deliver-date the last required-by date or is it calculated some other way? Other definitions? ‘Customer’, ‘required-by’, ‘weight’, ‘unit’, ‘promised’, ‘total (price)’, ‘product’ Where do these pieces of data come from? Where are they stored? Where do they ‘go to? Intelligent Testing, Improvement and Assurance Slide 37
Typical questions to ask of a requirement What do the nouns and verbs actually mean? What features are being described here? What outcomes do these features provide? What scenarios (normal, extreme, edge and exceptional) should they cope with? Are all outcomes predictable from the text? Are all outcomes unambiguous? Is anything (definitions, features, scenarios or outcomes) missing? Intelligent Testing, Improvement and Assurance Slide 38 Definition Feature Outcome Scenarios Prediction Ambiguity Missing
D e F O S P A M Definitions Features Outcomes Scenarios Prediction Ambiguity Missing Intelligent Testing, Improvement and Assurance Slide 39 See Handout Identify the terms One story per feature One scenario per outcome One scenario per scenario Can’t predict? Scenario + guess outcome Two stories with conflicts Add a story as a suggestion
Creating Stories I have a 12-page ‘User Story Guideline’ that might help.  Email me and I’ll send you a copy.
D e F O S P A M – Exercise 0 Definitions Features Outcomes Scenarios Prediction Ambiguity Missing Intelligent Testing, Improvement and Assurance Slide 41 ,[object Object]
The calculator will validate the numbers A and B as valid in the range -1000,000,000 to +1000,000,000
The operator may be one of the following: "+" (plus), "-" (minus), "*" (multiply) or "/" (divide)
The calculator will perform the calculation according to standard arithmetical rules
The calculator will print the result as a real number with up to 20 significant digits.,[object Object]
Accessing Testela BETA Network: checkout the posters on the walls Accessing Testela through your browser Account details: 	“usernnn@testela.com” password: “password” nnn is 001–100 – I’ll allocate numbers to you When you log in, click ‘edit profile’ and change your details (and change password too perhaps) Intelligent Testing, Improvement and Assurance Slide 43
Features we’ll use today Requirements Stories Scenarios Dictionary Export Feature/Scenarios Export Unit Tests Intelligent Testing, Improvement and Assurance Slide 44
Exercise 1: Adding your first story Product tab-> Click ‘Add Story’ Select requirement, role, leave ‘assigned to’ as is Submit Click ‘Find Stories’ and user filter to find your story Click ‘Add a scenario’ – confirm it Click ‘View All Story Scenarios’ Intelligent Testing, Improvement and Assurance Slide 45

Weitere ähnliche Inhalte

Was ist angesagt?

Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsSQALab
 
Help Me, I got a team of junior testers!
Help Me, I got a team of junior testers!Help Me, I got a team of junior testers!
Help Me, I got a team of junior testers!SQALab
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for TestingSQALab
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and ToolTEST Huddle
 
Eric Jimmink - The Specialized Testers of the Future
Eric Jimmink - The Specialized Testers of the FutureEric Jimmink - The Specialized Testers of the Future
Eric Jimmink - The Specialized Testers of the FutureTEST Huddle
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?TEST Huddle
 
Rapid Software Testing: Reporting
Rapid Software Testing: ReportingRapid Software Testing: Reporting
Rapid Software Testing: ReportingTechWell
 
Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!SQALab
 
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010TEST Huddle
 
Rapid Software Testing: Strategy
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: StrategyTechWell
 
Michael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyMichael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyTEST Huddle
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...TEST Huddle
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingTEST Huddle
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using AxiomsSQALab
 

Was ist angesagt? (20)

Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Help Me, I got a team of junior testers!
Help Me, I got a team of junior testers!Help Me, I got a team of junior testers!
Help Me, I got a team of junior testers!
 
A New Model for Testing
A New Model for TestingA New Model for Testing
A New Model for Testing
 
New Model Testing: A New Test Process and Tool
New Model Testing:  A New Test Process and ToolNew Model Testing:  A New Test Process and Tool
New Model Testing: A New Test Process and Tool
 
Eric Jimmink - The Specialized Testers of the Future
Eric Jimmink - The Specialized Testers of the FutureEric Jimmink - The Specialized Testers of the Future
Eric Jimmink - The Specialized Testers of the Future
 
Rapid Software Testing
Rapid Software TestingRapid Software Testing
Rapid Software Testing
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
New model
New modelNew model
New model
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
Rapid Software Testing: Reporting
Rapid Software Testing: ReportingRapid Software Testing: Reporting
Rapid Software Testing: Reporting
 
Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!Test Cases are dead, long live Checklists!
Test Cases are dead, long live Checklists!
 
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010
Tafline Murnane - The Carrot or The Whip-What Motivates Testers? - EuroSTAR 2010
 
Rapid Software Testing: Strategy
Rapid Software Testing: StrategyRapid Software Testing: Strategy
Rapid Software Testing: Strategy
 
Michael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyMichael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems Rapidly
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
Michael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software TestingMichael Bolton - Two Futures of Software Testing
Michael Bolton - Two Futures of Software Testing
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
[HCMC STC Jan 2015] Workshop Of Context-Driven Testing In Agile
 

Ähnlich wie Using Stories to Test Requirements and Systems

Acceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles BradleyAcceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles BradleySynerzip
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria An Nguyen
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationTechWell
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriab4usolution .
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013TEST Huddle
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxGracePeter10
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDDdevObjective
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationOrtus Solutions, Corp
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghAgile ME
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writtingPhil van Dulm Consultancy
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAraf Karsh Hamid
 
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshopOpen Security Summit
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaHoa Le
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using ExamplesExcella
 

Ähnlich wie Using Stories to Test Requirements and Systems (20)

Acceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles BradleyAcceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles Bradley
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria Writing test cases from user stories and acceptance criteria
Writing test cases from user stories and acceptance criteria
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber Implementation
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
 
Lecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptxLecture_four-_Requirements_Modeling (1).pptx
Lecture_four-_Requirements_Modeling (1).pptx
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
 
Agile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven DesignAgile, User Stories, Domain Driven Design
Agile, User Stories, Domain Driven Design
 
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop#w-owasp-cld-sec-wkshp Owasp cloud security workshop
#w-owasp-cld-sec-wkshp Owasp cloud security workshop
 
Writing Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance CriteriaWriting Test Cases From User Stories And Acceptance Criteria
Writing Test Cases From User Stories And Acceptance Criteria
 
Modeling Requirements Using Examples
Modeling Requirements Using ExamplesModeling Requirements Using Examples
Modeling Requirements Using Examples
 
User Story
User StoryUser Story
User Story
 

Kürzlich hochgeladen

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Using Stories to Test Requirements and Systems

  • 1. Using Business Stories toTest Requirements and Systems Paul Gerrard paul@gerrardconsulting.com Twitter: @paul_gerrard Web: gerrardconsulting.com Slide 1 Intelligent Testing, Improvement and Assurance
  • 2. Who are You? Agile, Structured or ‘Hybrid’ Analysts, Testers or Developers (Pick any 2, 3, 4, 5, or all 6) Intelligent Testing, Improvement and Assurance Slide 2
  • 3. Intelligent Testing, Improvement and Assurance Slide 3 This session is for… What we’ll explore… Anyone who writes/reads requirements or tests Business Analysts in Structured Projects Relationship of Stories to Requirements Test Analysts in Structured Projects How Stories can test Requirements Testers in Agile Projects How Stories fit Agile and Structured Developers in Agile Projects How Stories spawn manual/automated tests We’re going to examine how we can elicit and refine requirements that are testable and viable for development and capture requirements knowledge in a useful way.
  • 4. What are Stories? From Caveman, through Agile to Mainstream
  • 6. Agile story cards Slide 6 From cave paintings to story cards… progress?
  • 7. Stories A powerful antidote to the complexity of systems and analysis Telling stories helps stakeholders to have a sufficiently wide view to avoid problems Stories vary from brief statements to richly coloured analyses (sagas) Usually based on a sequence of actions carried out by intelligent ‘agents’. Slide 7
  • 8. How stories can help People are very good at reasoning from even quite short stories to identify (for example): Omissions Inconsistencies Ambiguity These innate human capabilities give stories their power Stories are applicable to systems of all types, at any stage for different purposes. Slide 8
  • 9. A trigger for a conversation A story could be a few words stuck on a post-it note or index card Simplest definition: “A trigger for a conversation” But post-it notes (many tools just simulate them) aren’t good requirements repositories We need something better. Slide 9
  • 10. Story Header Feature: ship orders As a orders clerk I want to acknowledge and ship the order So thatwe fulfil a book order Scenario: ship a single book from stock Given I select a valid order And the ordered book is in stock When I choose ‘acknowledge and ship’ Then order status is changed to ‘shipped’ And an address label is printed Structured stories (other variations exist) Slide 10 Key word Story text Each Story has multiple Scenarios Scenarios can be data driven
  • 11.
  • 12. Note that roles can sometimes vary, but it is often better to reference ‘personas’ that have multiple roles.
  • 13.
  • 15. A scenario maps directly to a test case – but we haven’t used the word test yet.
  • 16.
  • 17. Scenario outlines allow scenarios to be data-driven Slide 14 Feature: Log in process As a system user In order to protect the system I want accounts to be protected with secure credentials Scenario: log in process Given the home page login screen When i enter an Email address: <email> and i enter the password: <password> and <check> the “remember me” check box and click the submit button Then the system <logsmein> and the system displays <display>Examples:email | password | check | logsmein | displayvalid email | valid password | check on | logs me in | home pageno email | anything | anything | rejects the email address| “invalid email”invalid email| anything | anything | rejects the email address| “invalid email”valid email | invalid password| anything | rejects the password | “invalid password”
  • 18. The View from Above 1 Agile Methods are Evolving There’s lots of them Expect consolidation
  • 19. Overview Countless new approaches emerging out of the Agile community There seems to be a natural evolution towards ‘Specification by Example’ Looks terrific in theory, and a few companies appear to have it working But first some background… Slide 16
  • 20. Emerging Approaches We seem to be in the middle of an explosion of new approaches Mostly Agile but not exclusively so Some new but many rework established ideas Lean, Kanban and anything oriental in vogue Emerging management methods Acceptance-, Behaviour-, Design-, Test-Driven Development… Emerging specification and development methods Slide 17
  • 21. Wikipedia Search:‘driven development’ Test-Driven Development* Feature Driven Development * BehaviorDriven Development * Tester Driven Development Business-Driven Development * Community Driven Development * Design-Driven Development Process Driven Development Test-Driven Development by Example * Model-Driven development * Event Driven Development * Goal-Driven Software Development Process * Slide 18 ‘Variations on a theme’? * Entries updated less than six months ago
  • 22. Prescriptive v adaptive Slide 19 Regular Timeboxes Event-Driven Waterfall Extracted from: http://www.crisp.se/henrik.kniberg/kanban-vs-scrum.pdf
  • 23. Feedback loops (NOT to scale) Slide 20 2-4 weekly Daily Hourly Minutes Seconds Pair Programming Unit Test Continuous Integration Daily Scrum Sprint Feedback ranges from personal observations (pairing), through automated unit, build/integration tests, user tests and team retrospectives
  • 24. From Test-Driven to Specification by Example …in 5 minutes
  • 25. Test-Driven – from stories to code Slide 22 Stories are not (usually) retained The Test code is crafted by hand The Story The Test The Software
  • 26. Behaviour-Driven – structured story to code using today’s tools Slide 23 The stories are captured as plain text, code or html The Test code is generated by a tool from the stories The Story The Test The Software
  • 27. Spec-by-Example – flowdown from requirements to code Slide 24 The stories are used to validate requirements The story is captured in the SAME tool as requirements The Test code is generated by the SAME tool from stories The Story The Test The Software
  • 28. Test code generation In the previous slides, I’ve used the generation of xUnit (in this case, Python unit test) code to illustrate the story => test code process Test code could be the plain text, html or pseudocode used by existing BDD tools Developers don’t need to change their ways Test code directly into version control means they can’t tinker with it This stage is the natural interface from users and testers to (e.g. offshored) developers. Slide 25
  • 29. The View from Above 2 Structured folk want the best of Agile Stories provide a natural link Expect to see hybrid methods, new toolsets emerge
  • 30.
  • 31. Varying formality, but ALL require discipline
  • 32. But stories are universal as examples of features in use
  • 33.
  • 34. Coverage of Business Stories is a necessary, but not sufficient, contractual requirementDevO’Lopper
  • 35. How stories will help Stories instantiate features of the system and example them Stories fed back to stakeholders to validate requirements Requirements PLUS stories provide a better foundation for developers (less wriggle room) Stories provide logical tests for acceptance; testers can add detail and procedure, if necessary Stories can generate BDD (e.g. Cucumber) scripts or TDD (xUnit) code Customer-Supplier contract supported by stories and tests Improves stability of the requirements and the relationship Suppliers who rely on vague requirements and change requests for their business model wont like it though (tough!) Intelligent Testing, Improvement and Assurance Slide 29
  • 36. Requirements  Stories orStories  Requirements? Requirements are written for the benefit of IT Complete, concise, precise, consistent, unambiguous Or none of the above Users want to tell stories and provide examples The analysts transform these into requirements for the techies to work with But if stories are part of the process, the natural, iterative approach to requirements elicitation, analysis and validation fits nicely So… adopt an Agile approach to requirements in your structured process? Intelligent Testing, Improvement and Assurance Slide 30 At which point the analysts say, “but we’ve always worked that way”
  • 37. Stories support all development methods Intelligent Testing, Improvement and Assurance Slide 31
  • 38. Ubiquitous Language An emerging discipline, coming from the ‘Domain-Driven Design’ community To create a flexible, knowledge-rich design, calls for a versatile, shared team language Ubiquitous language is intended to be used in business, system designs and even code UL is beyond the scope of this session, but expect it to gain traction over the next few years. Intelligent Testing, Improvement and Assurance Slide 32 COBOL was meant to be a Common Business-Oriented Language in 1959
  • 39. So we need a tool that will… Manage business definitions Index defined terms throughout requirements, stories and scenarios Capture requirements and story detail, and cross-refer them Output requirement and story content in an easy-to-review format Output BDD/TDD code for use by developers. Intelligent Testing, Improvement and Assurance Slide 33
  • 40. How to Test Requirements with Stories Intelligent Testing, Improvement and Assurance Slide 34
  • 41. Example requirement: what needs definition? A customer order will have a unique order reference a customer identifier, an order date and a required-by date. Each order generates multiple order items each of which has a unique ID, a product identifier, an order quantity, a unit price, a unit weight, a promised delivery date and required-by date. The total order price, earliest and latest delivery date, total weight will be calculated from the items on the order. Intelligent Testing, Improvement and Assurance Slide 35 As a tester; as a developer
  • 42. Example requirement: what needs definition? A customer order will have a unique order reference a customer identifier, an order date and a required-by date. Each order generates multiple order items each of which has a unique ID, a product identifier, an order quantity, a unit price, a unit weight, a promised delivery date and required-by date. The total order price, earliest and latest delivery date, total weight will be calculated from the items on the order. Intelligent Testing, Improvement and Assurance Slide 36
  • 43. What other questions might you ask? ‘customer order will have…’ means what? ‘unique order reference’ unique in what context? ‘Order date’: date placed, or date recorded or other date to be defined? ‘Each order generates’ – means what? Can an order have zero items? Is there a limit to how many items? Can order quantity be negative, non-zero, is it a decimal or integer? Must dates be weekdays or can they be weekends? Are there any date rules to apply? What currency are prices in? What units is weight measured in? Is deliver-date the last required-by date or is it calculated some other way? Other definitions? ‘Customer’, ‘required-by’, ‘weight’, ‘unit’, ‘promised’, ‘total (price)’, ‘product’ Where do these pieces of data come from? Where are they stored? Where do they ‘go to? Intelligent Testing, Improvement and Assurance Slide 37
  • 44. Typical questions to ask of a requirement What do the nouns and verbs actually mean? What features are being described here? What outcomes do these features provide? What scenarios (normal, extreme, edge and exceptional) should they cope with? Are all outcomes predictable from the text? Are all outcomes unambiguous? Is anything (definitions, features, scenarios or outcomes) missing? Intelligent Testing, Improvement and Assurance Slide 38 Definition Feature Outcome Scenarios Prediction Ambiguity Missing
  • 45. D e F O S P A M Definitions Features Outcomes Scenarios Prediction Ambiguity Missing Intelligent Testing, Improvement and Assurance Slide 39 See Handout Identify the terms One story per feature One scenario per outcome One scenario per scenario Can’t predict? Scenario + guess outcome Two stories with conflicts Add a story as a suggestion
  • 46. Creating Stories I have a 12-page ‘User Story Guideline’ that might help. Email me and I’ll send you a copy.
  • 47.
  • 48. The calculator will validate the numbers A and B as valid in the range -1000,000,000 to +1000,000,000
  • 49. The operator may be one of the following: "+" (plus), "-" (minus), "*" (multiply) or "/" (divide)
  • 50. The calculator will perform the calculation according to standard arithmetical rules
  • 51.
  • 52. Accessing Testela BETA Network: checkout the posters on the walls Accessing Testela through your browser Account details: “usernnn@testela.com” password: “password” nnn is 001–100 – I’ll allocate numbers to you When you log in, click ‘edit profile’ and change your details (and change password too perhaps) Intelligent Testing, Improvement and Assurance Slide 43
  • 53. Features we’ll use today Requirements Stories Scenarios Dictionary Export Feature/Scenarios Export Unit Tests Intelligent Testing, Improvement and Assurance Slide 44
  • 54. Exercise 1: Adding your first story Product tab-> Click ‘Add Story’ Select requirement, role, leave ‘assigned to’ as is Submit Click ‘Find Stories’ and user filter to find your story Click ‘Add a scenario’ – confirm it Click ‘View All Story Scenarios’ Intelligent Testing, Improvement and Assurance Slide 45
  • 55. The Dictionary The Dictionary allows you to capture definitions of terms in a glossary These definitions are indexed for requirements and stories Benefits Term, entity, concept… coverage Encourages ubiquitous language Tagging of content is not necessary Business impact analyses are possible. Intelligent Testing, Improvement and Assurance Slide 46
  • 56. Using the dictionary What terms need definition? I’ll add them to the glossary And re-index Now look at the requirement and your story Index listing at the bottom of page Go to Dictionary->Index Let’s look at some of your stories and discuss Intelligent Testing, Improvement and Assurance Slide 47
  • 57. Exercise 2: Requirement 207 To access requirement enter r/207 in the fast access field and press return This is a better requirement than before Add a story as before and we’ll walk through creating an examples table Let’s add some glossary terms too Intelligent Testing, Improvement and Assurance Slide 48
  • 58. Exercise 3: Requirement 206 If we have time… To access requirement enter r/207 in the fast access field and press return This is a better requirement than before Add a story as before and we’ll walk through creating an examples table Let’s add some glossary terms too Intelligent Testing, Improvement and Assurance Slide 49
  • 59. Exercise 4: Generate test scenarios Find one of your stories and view it Click on the ‘Lock Story’ link Click ‘View Test Scenarios’ Click on ‘Edit’ for one of them Intelligent Testing, Improvement and Assurance Slide 50
  • 61. Close
  • 62. Using Stories We can use stories to: Illustrate features described by requirements in business language Validate requirements by feeding back to users Generate acceptance test cases manual end to end tests Generate BDD script (e.g. Cucumber) or xUnit or (in principle) and automation framework code Stories plus a dictionary allows us to manage knowledge in a consistent way New coverage types, tagging/taxonomies and impact analyses are now possible Why haven’t we always used stories? Intelligent Testing, Improvement and Assurance Slide 53
  • 63. Intelligent Testing, Improvement and Assurance Slide 54 Want to evaluate Testela?Do get in touch.More info at:testela.comThanks once again
  • 64. Using Business Stories toTest Requirements and Systems Paul Gerrard paul@gerrardconsulting.com Twitter: @paul_gerrard Web: gerrardconsulting.com Slide 55 Intelligent Testing, Improvement and Assurance