Most people would agree that testing your code is a good thing. And there is little doubt that modern Test-Driven development practices, when applied well, can produce high quality software that is reliable, flexible and easy to maintain. However, one of the big problems that often happens when developers adopt Test-Driven Development is that they concentrate so much on the tests that they lose focus on what they are actually meant to be testing. This results in writing large numbers of superficial and inefficient tests, without testing the underlying user requirements in any real depth.
Behaviour-Driven Development, or BDD, is considered by many to be a natural extention of Test-Driven Development (or TDD). Test-Driven Development is about designing software with the tests in mind.This tends to make the detailed design of your classes cleaner, more modular and more flexible. In practice, it involves writing your tests at the same time as your code - before, simultaneously or slightly after. As a bonus, if you do it well, you get a high degree of test coverage and a good set of regression tests into the bargin.
Behavior-Driven Development, or BDD, is an excellent development strategy that can help bridge the traditional gap between requirements and implementation. This talk will go discuss the basic principles of Behavior Driven Development, and look at how it builds on and differs from “traditional” Test-Driven Development.
I don't unit test my classes. I don't even unit-test my methods. You'll be hard-put to find the word "test" in my source code. And I never, ever create a new JUnit Test Case Eclipse.

I prefer to test how my application behaves. And I find it makes a huge difference.
Recently I had the pleasure of giving a talk at the Canberra Java Users Group on the topic 'Real Developers Don't Need Unit Tests':
"Unit testing, and Test-Driven Development in particular, is a vital but neglected art. Proper TDD don't just test code: your tests are executable requirements that tell the story of your application, clarify your design, document your code and help track your progress. They help you find bugs fast, and fix them with confidence. If Real programmers don't need unit tests, they sure make life easier for the rest of us!"
I've posed the slides for this presentation in this article.
There are 7 items tagged with EasyB. You can view all our tags in the Tag Cloud