Getting Started with Behavior Driven Development

December 21, 2017    Development UnitTesting DevOps BDD AutomatedTesting

Getting Started with Behavior Driven Development

Note: Originally posted on on June 11, 2013. These thoughts are still with me and valid today.

In this post, I wanted to share some thoughts and resources that I’ve collected since learning about Behavior Driven Development (BDD) (as of June 2013). Thinking in BDD terms has really helped me in improving my software development and thinking through problems. I remember a day when it clicked. It was an exciting time for me and I don’t planning on going back to the old approach. My tendency is to dive into the code before thinking through things and that gets me into trouble. I’m also an optimistic developer and don’t always spend enough time testing the UI. BDD specification tests (Jasmine or in C#) let me write re-runnable tests and I spend less time clicking through complex scenarios, and slows me down and forces me to think. I still need to spend time in the UI, but not every time I change code. I’m also able to squash bugs found once and for awhile and be confident that they won’t return.

There is a lot to BDD (it’s an extension of Test Driven Development and describes who we can communicate with users, tests, managers, developers using the Given… When… Then (GWT) or When x, it should do y). You can see my BDD posts which I hope to add to in the future.I first learned about BDD at the Heartland Developer’s Conference in Omaha, NE from Lee Brandt. Check out his blog for good information about BDD.

It’s definitely a learning process. You’ll have to learn how to write testable code (I highly recommend Roy Osherove’s The Art of Unit Testing as a starting place, then look into Dependency Injection, FakeItEasy, Jasmine for JavaScript tests, and just start doing it. You’ll get better as you practice more.), how to think through problems with the GWT syntax, how to communicate with less technical people and get it to work, how to get others (managers, project owners, other developers, testers) to start using BDD in their thought process as well.

an intro video to BDD

I plan on adding more posts on more benefits of BDD, how I’ve been using it and what I’ve been learning.

EDIT: Here’s a post about what I see as the Benefits of Behavior Driven Development .

Watch the Story for Good News
I gladly accept BTC Lightning Network tips at [email protected]

Please consider using Brave and adding me to your BAT payment ledger. Then you won't have to see ads! (when I get to $100 in Google Ads for a payout, I pledge to turn off ads)

Use Brave

Also check out my Resources Page for referrals that would help me.

Swan logo
Use Swan Bitcoin to onramp with low fees and automatic daily cost averaging and get $10 in BTC when you sign up.