je používat systémy pro běhovou kontrolu platnosti podmínek:
vstupní podmínka metody (zda je volána s přípustnými parametry)
výstupní podmínka metody (zda jsou dosažené výstupy správné)
a podmínka kdekoli jinde - např. invariant cyklu...
K tomuto slouží jednak
standardní klíčové slovo (od JDK1.4) assert booleovský výraz
testovací nástroje typu JUnit (a varianty - HttpUnit,...) - s metodami assertEquals() apod.
pokročilé nástroje na běhovou kontrolu platnosti invariantů, vstupních, výstupních a dalších podmínek - např. jass (Java with ASSertions), http://csd.informatik.uni-oldenburg.de/~jass/.
Ukázka testu jednotky:Test třídy ChovatelPsu