Unit testing
A unit testing means test a single “unit of code” – usually a function in an object or module.
Test-Driven Development
TDD (Test-Driven Development) is a process for when you write and run your tests. It gives an opportunity to have a very high test-coverage.
Behavior-Driven Development
BDD (Behavior-Driven Development) – A set of best practices for writing great tests.
i.e.
Unit Testing gives you the what.
Test-Driven Development gives you the when.
Behavior Driven-Development gives you the how.
Use them for best results as they complement each other very nicely.