Tadeusz Zalewski jest kolejnym śmiałkiem, który odważył się napisać recenzję książki w zamian za jej darmowy egzemplarz. Wybór padł na BDD in Action: Behavior-Driven Development for the whole software lifecycle autorstwa Johna Fergusona Smarta.


BDD in Action: Behavior-Driven Development for the whole software lifecycle

Behavior-Driven Development starts with a simple idea: you can’t write good software if you don’t understand what it’s supposed to do. BDD is a development process that helps you design better code by writing tests that describe the behavior of an application and its underlying requirements. With an emerging body of best practices with sophisticated new tools that assist in requirement analysis and test automation, BDD has become a hot, increasingly mainstream, approach. Done well, it helps you deliver higher quality software that creates business genuine value.

BDD in Action teaches you the Behavior-Driven Development model and shows you how to integrate it into your existing development process. First you’ll learn how to apply BDD to requirements analysis to define features that focus your development efforts on underlying business goals. Then, you’ll discover how to automate acceptance criteria and use tests to guide and report on the development process. Along the way, you’ll apply BDD principles at the coding level to write more maintainable and better documented code.


John Ferguson Smart is a specialist in BDD, automated testing, and software life cycle development optimization. A well-known speaker and writer, John is the author of Java Power Tools and Jenkins: The Definitive Guide.


This book is exactly what I have been looking for since I got interested in BDD. It describes the whole process of BDD from business part of organization to IT part. It describes you not only “how to build software right” but also “how to build right software”. The book has a lot of examples for Java, .NET, JS, Groovy practitioners.

In first two chapters the author introduces BDD with some theories and gives us the snapshot project which presents what we can achieve. He uses JBehave, Thucydides and Spock.

The next three chapters could be quite difficult because they don’t contain any source code. They treat about “how to build right software”, although in practice they show how to transform business goals into user stories. You can learn how to talk with business as a developer to extract software requirements and prepare foundations for your application.

Next four chapters are about automating scenarios from above chapters. You can learn a few tools:

  • JBehave, Cucumber for Java,
  • Behave for Python,
  • SpecFlow for .NET,
  • Cucumber-JS for JavaScript
which help achieving this. You also learn how to improve test automation, how to test UI layer using Selenium WebDriver and how to write acceptance tests for non-UI requirements, ie. RESTful API. Then we go to the lowest level – BDD in unit testing. This four chapters are most interesting for developers because we can learn a lot of techniques which help us “build software right”. There are also a lot of examples of code and tools ie. FEST-Assert (why not AssertJ), Jasmine, RSpec, parametrized testing in JUnit. But there is nothing about negative cases testing or exception testing (ie. catch-exception library has BDD support).

First of the last two chapters treats about using automated tests as living documentation and support developing process management. Author uses Thucydides and Cucumber Report in examples.

The last one teaches us how to place BDD in continuous delivery process and how to obtain functionality and performance using Jenkins and Selenium Grid.

Rating: 5/5


Tadeusz Zalewski

Programista i projektant w Agora S.A. Obecnie rozwija się w obszarach takich jak BDD oraz DDD w celu poprawy jakości relacji biznes <=> IT w procesie wytwarzania oprogramowania.

Szukamy kolejnych odważnych

Jeśli ktoś z Was chciałby otrzymać kopię wybranej przez siebie książki w zamian za jej recenzję, to zapraszamy do odpowiedniego wątku na naszej grupie dyskusyjnej. Dzięki partnerstwu z wydawnictwami Manning Publications Co., O’Reilly Media i Packt Publishing macie do wyboru bardzo szeroki wachlarz książek o różnorodnej tematyce.