What this book covers
Chapter 1, What is Test-Driven Development and Why Use it in PHP?, Goes through the definition of TDD, what problem it tries to solve, what are the benefits of PHP and what we developers will get from implementing it. This chapter will also make you understand the value of TDD in large projects and how it helps reduce regressions.
Chapter 2, Understanding and Organizing the Business Requirements of Our Project, explains how to interpret business requirements into an organized list. The list can be used to help developers prioritize and determine what features we need to build, and which features we need to build first.
Chapter 3, Setting Up Our Development Environment Using Docker Containers, is all about Docker containers for development. Using containers will help developers get more consistent application setups in different server environments.
Chapter 4, Using Object-Oriented Programming in PHP, goes through the Object-Oriented Programming (OOP) concept in PHP. Understanding OOP in PHP is crucial for implementing TDD, and BDD.
Chapter 5, Unit Testing, covers the basics of unit testing. The lessons learned in this chapter will be the foundations for the concepts that will be discussed in applying TDD and BDD in the following chapters.
Chapter 6, Applying Behavior-Driven Development, provides an introduction to the process of BDD. The BDD process will help software developers ensure that the expected behavior of a software product is achieved.
Chapter 7, Building Solution Code with BDD and TDD, demonstrates how to use BDD and TDD together. Implementing BDD and TDD together will help ensure that the expected behavior is delivered, and it will also help increase the reliability of the software being produced.
Chapter 8, Using TDD with SOLID Principles, involves following the SOLID principles in a project. This will help developers implement the SOLID principles while following TDD in a more realistic use scenario.
Chapter 9, Continuous Integration, details Continous Integration (CI) for test execution. CI is used to help merge reliable code to the master branch of a project by making sure that all automated tests pass first.
Chapter 10, Continuous Delivery, discusses using Continuous Delivery (CD) to automate the release process. Going further than CI, we will automate the deployment process of the product.
Chapter 11, Monitoring, unpacks how to use monitoring tools for deployed applications. Applications running in production will need to be maintained and having monitoring tools help developers to get on top of possible issues in production.