BDD in action : behavior-driven development for the whole software lifecycle
Autor Principal: | |
---|---|
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