Unit Testing Using Design by Contract and Equivalence Partitions

Extreme Programming [1] and in particular the idea of Unit Testing can improve the quality of the testing process. But still programmers need to do a lot of tiresome manual work writing test cases. If the programmers could get some automatic tool support enforcing the quality of test cases then the overall quality of the software would improve significantly.