BDD in action : behavior-driven development for the whole software lifecycle

Detalles Bibliográficos
Autor Principal: Smart, John Ferguson
Formato: Libro
Lengua:inglés
Datos de publicación: Nueva York : Manning, 2015
Edición:1st. ed.
Temas:
Acceso en línea:Consultar en el Cátalogo
Notas:Contiene índice
Descripción Física:xxix, 353 p. : il.
ISBN:9781617291654
Tabla de Contenidos:
  • Part 1. First steps
  • Chapter 1. Building software that makes a difference
  • 1.1 BDD from 50,000 feet
  • 1.2 What problems are you trying to solve?
  • 1.3 Introducing behavior-driven development
  • 1.4 Benefits of BDD
  • 1.5 Disadvantages and potential challenges of BDD
  • 1.6 Summary
  • Chapter 2. BDD-the whirlwind tour
  • 2.1 Introducing the train timetabe application
  • 2.2 Determining the value proposition of the application
  • 2.3 Requirements analysis: discovering and understanding features
  • 2.4 Implementation: building and delivering features
  • 2.5 Maintenance
  • 2.6 Summary
  • Part 2. What do I want? Defining requirements using BDD
  • Chapter 3. Understanding the business goals: Feature Injection and related techniques
  • 3.1 Introducing flying high airlines
  • 3.2 Feature injection
  • 3.3 What do you want to archieve? Start with a vision
  • 3.4 How will it benefit the business?
  • 3.5 Who will benefit? Identify stakeholders and their needs
  • 3.6 What do you need to build? Identify capabilities
  • 3.7 What features will provide the most ROI?
  • The Purpose-Based Alignment Model
  • 3.8 Summary
  • Chapter 4. Defining and illustrating features
  • 4.1 What is a "feature"?
  • 4.2 Illustrating features with examples
  • 4.3 Real Optionns: don't make commitmets
  • 4.4 Delierate Discovery
  • 4.5 From examples to working software: the bigger picture
  • 4.6 Summary
  • Chapter 5. From examples to executable specifications
  • 5.1 Turning concentre examples into executable scenarios
  • 5.2 Writing executable scenarios
  • 5.3 Using tables in scenarios
  • 5.4 Expressive scenarios: patterns and anti-patterns
  • 5.5 Organizing you scenarios using feature files and tags
  • 5.6 Summary
  • Chapter 6. Automating the scenarios
  • 6.1 Introduction to automating scenarios
  • 6.2 Implementing step definitions: general principles
  • 6.3 Implementing BDD more effectively with Thucydides
  • 6.4 Automating scenarios in Java with Jbehave
  • 6.5 Automating scenarios in Java using Cucumber-JVM
  • 6.6 Automating scenarios in Python with Behave
  • 6.7 Automating scenarios in .Net with SpecFlow
  • 6.8 Automating scenarios in JavaScript with Cucumber-JS
  • 6.9 Summary
  • Part 3. How do I build it? Coding the BDD way
  • Chapter 7. From executable specifications to rock-solid automated acceptance tests
  • 7.1 Writing industrial-strength acceptance test
  • 7.2 Automating your test setup process
  • 7.3 Separating the what from the how
  • 7.4 Summary
  • Chapter 8. Automating acceptance criteria for the UI layer
  • 8.1 When and how should you test the UI?
  • 8.2 Automating web-based acceptance criteria using
  • 8.3 Using page objects to make your test cleaner
  • 8.4 Summary
  • Chapter 9. Automating acceptance criteria for non-UI requirements
  • 9.1 Balancing UI and non-UI acceptance tests
  • 9.2 When to use non-UI acceptance test
  • 9.3 Types of non-UI automated acceptance test
  • 9.4 Defining and testing nonfuntional requirements
  • 9.5 Discovering the design
  • 9.6 Summary
  • Chapter 10. BDD and unit testing
  • 10.1 BDD, TDD, and unit testing
  • 10.2 Going from acceptance criteria to implemented features
  • 10.3 Exploring low-level requirements, discovering design, and implementing more complex functionality
  • 10.4 Tools that make BDD unit testing easier
  • 10.5 Using executable specifications as living documentation
  • 10.6 Summary
  • Part 4. Taking BDD Further
  • Chapter 11. Living Documentation: reporting and project management
  • 11.1 Living documentation: a high-level view
  • 11.2 Are we there yet? Reporting on feature readiness and feature coverage
  • 11.3 Integrating a digital product backlog
  • 11.4 Organizing the living documentation
  • 11.5 Providing more free-form documentation
  • 11.6 Technical living documentation
  • 11.7 Summary
  • Chapter 12. BDD in the build process
  • 12.1 Executable specifications should be part
  • 12.2 Continuous integration speeds up the feedback cycle
  • 12.3 Continuous delivery: any build is a potential release
  • 12.4 Continuous integration used to deploy living documentation
  • 12.5 Fasted automated acceptance criteria
  • 12.6 Summary
  • Index