Extreme Unit Testing

eXtreme programming is an Agile software development methodologies. It involves extremely short incremental release cycles, early and frequent testing, heavy use of design refactoring, and pair programming. This article proposes a process model called “ordered incremental testing” where guidance on test order is provided. Testing is conducted iteratively with very short iteration cycles as a single class is developed. Although early and frequent testing is very important, there is little guidance about specifics of the testing process.