Shift Left Testing
Shift Left Testing ist ein Ansatz zur Beschleunigung von Softwaretests und zur Erleichterung der Entwicklung, indem der Testprozess an einen früheren Punkt im Entwicklungszyklus verlegt wird. Das Verschieben nach links (shift left) ist ein Verweis auf das Verschieben der Tests nach links auf einer Zeitachse.
Shift Left Testing ist als Teil des Shift Left Development konzipiert. In traditionellen Testmodellen findet die Testprozesse zu einem späteren Zeitpunkt im Entwicklungszyklus statt, was zu Verzögerungen bei der Entwicklung führen kann.
Es gibt vier Arten von Shift Left Testing:
- Traditionelles Shift Left Testing konzentriert sich auf Unit- und Integrationstests mit API-Tests und modernen Testwerkzeugen.
- Inkrementelles Shift Left Testing zerlegt komplexe Entwicklungen in kleinere Teile, so dass sie in aufeinander aufbauenden Segmenten getestet werden können. Inkrementelles Shift Left Testing ist eine der häufigsten Methoden.
- Agile Software Development/DevOps führt Tests in zahlreichen Sprints durch. Das Modell ist oft auf Entwicklungstests ohne operative Tests beschränkt. Bei Agile/DevOps werden die Testtypen laufend gewechselt.
- Modellbasiertes Shift Left Testing umfasst ausführbare Anforderungen, Architektur- und Designmodelle, um 45 bis 65 Prozent der in diesen frühen Phasen eingeführten Fehler zu eliminieren. Der modellbasierte Ansatz ist der neueste Trend beim Shift Left Testing.
Durch die frühere Einbeziehung der Tester hoffen Entwickler, Probleme früher im Entwicklungszyklus zu erkennen, so dass Zeit für die Korrektur der gefundenen Probleme bleibt. Wenn Defekte und Fehler früher entdeckt werden, wird weniger Aufwand für die Arbeit mit einer fehlerhaften Implementierung verschwendet.
Die frühzeitige Erkennung von Problemen erleichtert die Fehlersuche, die mit zunehmender Vollständigkeit der Software und mit mehr und komplexer integrierten Funktionen schwieriger wird. Eine frühzeitige Einbeziehung trägt auch dazu bei, dass genügend Ressourcen für das Testen bereitgestellt werden, da die Tester stärker in die Planungsphasen einbezogen werden.