Testautomation
Das manuelle Testen einer Anwendung ist zeitintensiv und nervenaufreibend. Tests sollten daher so weit wie möglich automatisiert werden. Das erhöht nicht nur ihre Ausführungsgeschwindigkeit, sondern vermeidet auch Flüchtigkeitsfehler.
Kleine Unit Tests sollten genutzt werden, um so viel Funktionalität wie möglich einfach, schnell und isoliert zu testen. Zusätzlich sollte man so viele Systemtests schreiben wie nötig, aber so wenige wie möglich. Systemtests stellen das korrekte Verhalten sowie die Qualität der gesamten Anwendung sicher. Dazwischen stellen die mittelgroßen Integrationstests sicher, dass mehrere Code-Einheiten wie erwartet zusammenarbeiten. Das korrekte Verhalten der einzelnen Einheiten wurde allerdings in Isolation voneinander bereits durch Unit Tests sichergestellt.
Es kommt auf die richtige Balance zwischen diesen verschiedenen Tests an. Ob man eine Pyramide , einen Pokal oder eine Honigwabe als bildliche Metapher verwendet, um die unterschiedlichen Testarten zu kategorisieren, ist dabei eher nebensächlich.
In PHP -Projekten können diese unterschiedlichen Arten von Tests mit PHPUnit automatisiert werden. Um bessere Software schneller zu entwickeln, sollten Tests die Entwicklung treiben .