Jürgen Fälchle - stock.adobe.c
Was sind Testautomatisierung und automatisierte Tests?
Entwickler betrachten automatisierte Tests und Testautomatisierung oft identisch. Dabei hat Testautomatisierung typischerweise eine breitere Bedeutung.
IT-Fachleute bezeichnen automatisiertes Testen und Testautomatisierung oft synonym. In Wirklichkeit gibt es aber einige praktische Unterschiede: Testautomatisierung hat typischerweise eine breitere Bedeutung.
Automatisiertes Testen ist das wiederholbare Testen ohne manuelle Eingriffe. Einige Softwareprofis betrachten automatisierte Tests als automatisierte Regressionstests, da sie Regressionstests als grundlegende Verifikation betrachten. Die Automatisierung dieses Prozesses ermöglicht es Testern, sich auf wichtigere Qualitätssicherungsaufgaben zu konzentrieren.
In der Regel bezieht sich Testautomatisierung auch auf den Gesamtansatz, den Teams mit Skripting Tools zur Entwicklung und Ausführung von Tests verwenden, anstatt selbst manuell zu testen. Daher beinhaltet die Testautomatisierung nicht nur die Ausführung, sondern auch die übergreifende Strategie.
Ganz gleich, ob es sich um einen bestimmten zu automatisierenden Test oder eine Gesamtstrategie zur Reduzierung der manuellen Arbeit der Tester handelt, das Ziel ist eine höhere Testabdeckung und eine kürzere Testausführungsdauer durch Automatisierung.
Wie DevOps das Spiel verändert
Mit dem Aufkommen von DevOps in Softwareteams änderte sich das Verständnis von Testautomatisierung und automatisierten Tests. DevOps umfasst eine bessere Zusammenarbeit zwischen Entwicklern, Testern und IT-Betrieb, wobei der Code ohne Verzögerungen von einer Stufe zur nächsten fließen kann. Dieser Ablauf basiert in der Regel auf einer automatisierten Continuous Integration (CI)/Continuous Delivery (CD) Pipeline, wobei abgeschlossene Schritte automatisch Codetests auslösen.
In DevOps-Unternehmen bezieht sich die Testautomatisierung nicht immer auf die Tests selbst, sondern darauf, wie Softwareprofis diese automatisierten Tests in der CI/CD-Pipeline verwalten.
Obwohl diese Unterscheidung im Zusammenhang mit DevOps wichtig ist, stellt sie eine neue Herausforderung dar: Testautomatisierung versus kontinuierliches Testen. Beide Begriffe sind nicht gleichbedeutend. Stattdessen ist Testautomatisierung ein kritischer Teil kontinuierlichen Testens, der viel mehr umfasst als Automatisierung.
Mit kontinuierlichen Tests versuchen Unternehmen in erster Linie, Geschäftsrisiken zu reduzieren und ihre Teststrategien effizienter zu gestalten. Kontinuierliche Tests berücksichtigen auch die Benutzererfahrung als Teil der Feedbackschleife.
Um kontinuierlich zu sein, müssen sich Tests nahtlos in die Software Delivery Pipeline und die DevOps Toolchain integrieren lassen. Durch kontinuierliche Tests erhält die Qualitätssicherung ein verwertbares Feedback, das für jede Phase der Delivery Pipeline angemessen ist, anstatt Tests als eine separate Phase der Entwicklung und Lieferung zu betrachten.