Do you TDD or BDD? Why not both? Come learn the "Double Loop" workflow and discover how you can use both Behavior Driven Development and Test Driven Development to write well designed, tested and documented code. In this tutorial, we'll create a small application using PHP, Postgres and Javascript (all in Docker), fully designed and tested with Behat and PHPUnit.


Comments are closed.

This was a really great introduction to an effective method of building reliable software. The print-out was a great idea, giving attendees something they can hold and hang up on their office walls, too.

Live coding is always difficult, and it would be nice if there were easier ways for attendees to follow along (e.g. each step in a separate branch?), especially for attendees that don't have all of the same IDE configurations (Jessica's PhpStorm imports namespaces automatically, but that's not a given for everyone).

Great information and a great diagram/handout that really sums up the overall message well.

Frank Wallen at 09:19 on 25 Sep 2018

Great talk, great subject! Not only that, but Jessica also offered some excellent advice on how to talk to the feature-requester for better communication and more information.

Had this just been billed as a talk rather than a workshop I would've given this 4 "thumbs up". However, I'm rating this based on the fact that it was presented as workshop which is where I think it fell a little flat. Jessica moved very quickly through the demo and I struggled to keep my head above water as she worked through her examples. About 90 minutes in, I missed a step and could no longer follow along in code on my own machine so I gave up and just listened. I looked around at that point and realized that everyone else had given up on coding along as well. So if this is going to be presented as a workshop again I would recommend the following:

1. Organize the repository into branches for each of the "steps"
2. Cut out half of the material that you went over and allow time for people to actually reason about the problem you were
attempting to solve
3. After giving people some time to come up with their own solution to each "step" (sub problem) present your solution

Again this was a great "talk" but it was frustrating as a workshop.