A method of naming UnitTest''''s that allows the test class to be read as descriptive documentation of the class under test. Invented by ChrisStevenson. A unit test class is named after the class under test. E.g. a test for the Sheep class would be called Sheep''''''Test or Sheep''''''Tests. The methods of the test class are named to complete a sentence that begins with "A ''class-under-test''...". E.g. the methods of Sheep''''''Test would be named to continue the sentence "A Sheep...". For example, in Java: public class Sheep''''Test { @Test public void eatsGrass() { ... } @Test public void bleatsWhenFrightened() { ... } @Test public void producesDeliciousMilk() { ... } @Test public void movesAwayFromSheepdogs() { ... } } This can be read as: * A Sheep eats grass * A Sheep bleats when frightened * A Sheep produces delicious milk * A Sheep moves away from sheepdogs There are tools that generate documentation from tests written with this convention. For example, TestDox ---- More expressive languages do not need this convention, because tests can be implemented as blocks associated with string descriptions of what is being tested.