0. Preface
What Is This Blog About? This blog is about applying TDD and BDD for real. By “for real,” I mean that instead of using simple examples commonly found in TDD/BDD introductions—login forms, calculators, string processing, or coding katas—we’ll develop a real-world application involving a meaningful level of complexity, such as: A web user interface Networking and web APIs An agent-server architecture Multithreading, multiprocessing, and synchronization Database integration Secure coding practices These kinds of challenges are often absent from introductory TDD/BDD material. What Is the Goal of This Blog? The goal is simple: If TDD/BDD proves effective and worthwhile for developing a real-world application like this, adopt it. Otherwise, discard it. Who Is This Blog For? This blog is for people who already know what TDD/BDD is but are not satisfied with the toy examples. They want to know whether TDD/BDD really works when applied to a non-trivial, real-world application. If you are one of...