-
Notifications
You must be signed in to change notification settings - Fork 5
Home
Q.E.D. is a test framework supporting Literate Driven Development (LDD)*. Literate Driven Development is essentially the same as Test Driven Development (TDD) and Behavior Driven Development (BDD). But, unlike TDD which begins with executable tests to verify behavior, and BDD which goes a step further by providing a domain specific language suitable to specifying behaviors, LDD takes the ultimate step of having the developer write actual documentation describing systems behavior.
Literate Driven Development is more commonly referred to as Documentation Driven Development (DDD). But I have chosen to use the term “Literate” in place of “Documentation” to help differentiate it from Domain Driven Design (DDD), and furthermore to drive home that it is a form of Literate Programming.
LDD has several big advantages over other programming strategies, especially:
- Keeps you from over-designing/complicating things (If you can’t explain them, don’t use them)
- Gives you the chance to get your ideas peer-reviewed since it helps people to understand what you are trying to do.
- Good Documentation – If you use LDD your project will always be very well documented.
- Helps Planning – If Users know how things are going to work in future they can fine tune their projects to be future-safe.
- Creates user-friendly software – If the developer writes the documentation for the user he’ll think more like him and make software that is user-oriented.
- Keeps up motivation – Believe it or not, writing the documentation for things you did and that you will do can be a motivational and rewarding experience.
It is possible to use code coverage tools with QED. For instance to use rcov see Using rcov with QED.