Test-First-Ansatz
Dieser Ansatz ist zuerst in der Softwareentwicklung entstanden und wird dort mit Unittests abgedeckt. Das "Test-First" erleichtert das Programmieren, weil man automatisch gezeigt bekommt, wann man fertig ist. Als erstes aber bewirkt das Formulieren der Tests, dass man sich vorher darüber Gedanken macht, was die Berechnung anhand von Beispielen im Einzelnen bewirken soll. Während der Implementierung kann der Unittest ein guter Testtreiber sein, der speziell diese Funktion testet - im Gegenzug wird die Funktion so auch testbar! Vor allem aber wird ein einmal geschriebener Unittest immer wieder ausgeführt, so dass eine spätere fehlerhafte Korrektur sofort auffällt - schließlich denkt man beim Programmieren nicht direkt an die Seiteneffekte, wenn man grade eine Korrektur ausknobelt.
Im wörtlichen Sinne trifft dieser Ansatz auch dann auf,
- wenn man gegen eine Schnittstelle testet, die eine Validierung vornimmt (z.B. XSD)
- wenn man gegen einen Testautomaten während der Entwicklung das Programm laufen lässt
- wenn man eine Testreihe eines zu ersetzenden Systems nutzen kann