Hi Tim,
It's good you here you are practicing TDD. BDD is an evolution of the concept of TDD as described by Kent Beck, and at the coding level, TDD can be practiced in a very similar way to BDD. However the emphasis is a little different, and the BDD vocabulary and approach changes the way you think about designing the code. BDD tends to be easier to learn than TDD. BDD strongly encourages developers to think about what their code should do, and why, with regards to the underlying business requirements, and even to provoke questions and clarifications about the requirements ("Sales tax of zero should not be allowed" - shouldn't it?). BDD has a stronger emphasis on living documentation, executable specifications and worked examples of code: while this is present in TDD, it is not always practiced as well as it could be. In BDD, you actively structure your tests (or "executable specifications") to read like a low-level specifications document. The most obvious change with regards to TDD is a change in vocabulary, e.g. using the
word "should" instead of "test", which places the emphasis on the expected outcomes, rather than the method under test (shouldTransferFundsIntoDestinationAccount() instead of testTransfer()).
BDD embodies many core Agile principles like a strong emphasis on collaboration and communication, and getting fast feedback. But the BDD approach adds a few techniques and tools that make these principles easier to apply - many of these techniques are also used elsewhere, and are not exclusive to BDD.