,

Behavior-Driven Development with Cucumber

Better Collaboration for Better Software

Paperback Engels 2019 9780321772633
Verwachte levertijd ongeveer 9 werkdagen

Samenvatting

To develop high-value products quickly, software development teams need better ways to collaborate. Agile methods like Scrum and Kanban are helpful, but they’re not enough. Teams need better ways to work inside each sprint or work item. Behavior-driven development (BDD) adds just enough structure for product experts, testers, and developers to collaborate more effectively.

Drawing on extensive experience helping teams adopt BDD, Richard Lawrence and Paul Rayner show how to explore changes in system behavior with examples through conversations, how to capture your examples in expressive language, and how to flow the results into effective automated testing with Cucumber. Where most BDD resources focus on test automation, this guide goes deep into how BDD changes team collaboration and what that collaboration looks like day to day. Concrete examples and practical advice will prepare you to succeed with BDD, whatever your context or role.

Specificaties

ISBN13:9780321772633
Taal:Engels
Bindwijze:Paperback

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

<p style="margin:0px;">&nbsp;Chapter 1: Focusing on Value</p> <p style="margin:0px;"></p> <p style="margin:0px;">When Scrum Isn’t Enough</p> <p style="margin:0px;">Finding a High-Value Feature to Start With</p> <p style="margin:0px;">Before You Start with Cucumber</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Finding the First MMF</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Slicing an MMF into User Stories</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">Reference</p> <p style="margin:0px;">Chapter 2: Exploring with Examples</p> <p style="margin:0px;">BDD Is a Cooperative Game</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; BDD Is a Whole Team Thing</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Allow Time and Space to Learn</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Flesh Out the Happy Path First</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Use Real Examples</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Example Mapping Gives the Discussion Structure</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Optimizing for Discovery</p> <p style="margin:0px;">Addressing Some Concerns</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Treat Resistance as a Resource</p> <p style="margin:0px;">Playing the BDD Game</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Opening</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Exploring</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Closing</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">References</p> <p style="margin:0px;">Chapter 3: Formalizing Examples into Scenarios</p> <p style="margin:0px;">Moving from Examples to Scenarios</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Feature Files as Collaboration Points</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; BDD Is Iterative, Not Linear</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Finding the Meaningful Variations</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Gherkin: A Language for Expressive Scenarios</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">Resources</p> <p style="margin:0px;">Chapter 4: Automating Examples</p> <p style="margin:0px;">The Test Automation Stack</p> <p style="margin:0px;">Adjusting to Working Test-First</p> <p style="margin:0px;">Annotating Element Names in Mockups</p> <p style="margin:0px;">How Does User Experience Design Fit In to This?</p> <p style="margin:0px;">Did They Really Just Hard Code Those Results?</p> <p style="margin:0px;">Anatomy of a Step Definition</p> <p style="margin:0px;">Simple Cucumber Expressions</p> <p style="margin:0px;">Regular Expressions</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Anchors</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Wildcards and Quantifiers</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Capturing and Not Capturing</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Just Enough</p> <p style="margin:0px;">Custom Cucumber Expressions Parameter Types</p> <p style="margin:0px;">Beyond Ruby</p> <p style="margin:0px;">Slow Is Normal (at First)</p> <p style="margin:0px;">Choose Cucumber Based on Audience, Not Scope</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">Chapter 5: Frequent Delivery and Visibility</p> <p style="margin:0px;">How BDD Changes the Tester’s Role</p> <p style="margin:0px;">Exploratory Testing</p> <p style="margin:0px;">BDD and Automated Builds</p> <p style="margin:0px;">Faster Stakeholder Feedback</p> <p style="margin:0px;">How Getting to Done More Often Changes All Sorts of Things</p> <p style="margin:0px;">Frequent Visibility and Legacy Systems</p> <p style="margin:0px;">Documentation: Integrated and Living</p> <p style="margin:0px;">Avoiding Mini-Waterfalls and Making the Change Stick</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">References</p> <p style="margin:0px;">Chapter 6: Making Scenarios More Expressive</p> <p style="margin:0px;">Feedback About Scenarios</p> <p style="margin:0px;">How to Make Your Scenarios More Expressive</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Finding the Right Level of Abstraction</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Including the Appropriate Details</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Expressive Language in the Steps</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Refactoring Scenarios</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Good Scenario Titles</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">References</p> <p style="margin:0px;">Chapter 7: Growing Living Documentation</p> <p style="margin:0px;">What Is Living Documentation and Why Is It Better?</p> <p style="margin:0px;">Cucumber Features and Other Documentation</p> <p style="margin:0px;">Avoid Gherkin in User Story Descriptions</p> <p style="margin:0px;">The Unexpected Relationship Between Cucumber Features and User Stories</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Stable Scenarios</p> <p style="margin:0px;">Growing and Splitting Features</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Split When Backgrounds Diverge</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Split When a New Domain Concept Emerges</p> <p style="margin:0px;">Secondary Organization Using Tags</p> <p style="margin:0px;">Structure Is Emergent</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">Chapter 8: Succeeding with Scenario Data</p> <p style="margin:0px;">Characteristics of Good Scenarios</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Independent</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Repeatable</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Researchable</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Realistic</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Robust</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Maintainable</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Fast</p> <p style="margin:0px;">Sharing Data</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; When to Share Data</p> <p style="margin:0px;">&nbsp;&nbsp;&nbsp; Raising the Level of Abstraction with Data Personas</p> <p style="margin:0px;">Data Cleanup</p> <p style="margin:0px;">Summary</p> <p style="margin:0px;">Reference</p> <p style="margin:0px;">Chapter 9: Conclusion</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">&nbsp;</p> <p style="margin:0px;">9780321772633&nbsp;&nbsp; TOC&nbsp;&nbsp; 4/22/2019</p>

Managementboek Top 100

Rubrieken

    Personen

      Trefwoorden

        Behavior-Driven Development with Cucumber