Automatisieren oder nicht? Das ist hier die Frage

Funktionstests sind ein wichtiger Bestandteil jeder Entwicklung. Daher gibt es in jedem Projekt einen Punkt, an dem folgende Fragen beantwortet werden müssen: Welche Art von Test soll gewählt werden? In welcher Entwicklungsstufe sollte das Testing beginnen? Wie intensiv soll es durchgeführt werden? Welchen Zeitrahmen sollte man für das Testing einplanen? Die Antworten hängen größtenteils von den spezifischen Anforderungen des Projekts ab (funktionale Anforderungen, Teamgröße, Deadlines, Risiken, Budget). Doch eine Tendenz bleibt unverändert: Der falsche Ansatz beim Testing garantiert Probleme im Entwicklungszyklus und kann schwerwiegende Konsequenzen haben.

Und natürlich helfen wir Ihnen gerne dabei, den richtigen Ansatz für Ihre Testanforderungen zu finden. Kontaktieren Sie uns!

Die geringfügigsten Folgen sind verpasste Deadlines oder Überschreitung des Budgets. Im schlimmsten Fall kann falsches Testing dazu führen, dass das Produkt seine Aufgaben nicht erfüllt und der Kunde kein Produkt erhält, das seinen Bedürfnissen entspricht. In diesem Artikel werden wir die Faktoren diskutieren, die Ihnen helfen, den optimalen Typ von Funktionstests auszuwählen.

Vorteile der Test-Automatisierung

Derzeit gibt es einen Trend zur Automatisierung, da diese die Ausführungszeit bestimmter Aufgaben reduziert, Menschen von monotoner Arbeit befreit und manchmal effizienter arbeitet als ein Mensch. Es ist daher nicht verwunderlich, dass in der Informationstechnologie automatisiertes Testing eine feste Position eingenommen hat. Hier sind einige Vorteile dieser Testart:


  • Automatisierte Tests arbeiten viel schneller als manuell durchgeführte Tests.
  • Solche Tests lassen sich viel einfacher mehrmals ausführen.
  • Tests können für verschiedene Softwareversionen wiederholt verwendet werden, wodurch Regressionstests einfach durchgeführt werden können.
  • Automatisierte Tests vermeiden Fehler, die durch Unaufmerksamkeit entstehen, z. B. kann eine Person falsche Daten für den Test eingeben, was bei einem automatisierten Test unmöglich ist, da dieser genau das tut, was in seinem Code steht.
  • Die Automatisierung befreit Ressourcen (Zeit), um andere wichtige Aufgaben im Projekt zu erledigen, die nicht automatisiert werden können.
  • Langfristig reduzieren automatisierte Tests die Projektkosten.
  • Schließlich helfen automatisierte Tests, den Projektverlauf besser zu planen, da die Zeit für die Durchführung von automatisierten Tests meist festgelegt ist.


Wann manuelle Tests besser geeignet sind

Trotz der offensichtlichen Vorteile der Automatisierung gibt es Software, bei der die Anwendung dieser Testart schwierig oder sogar unmöglich ist. Folgende Punkte deuten darauf hin, dass manuelle Tests besser geeignet sind:

  • Die Tests erfordern subjektive Validierung. In einigen Anwendungen muss z. B. die Bildqualität oder der Klang überprüft werden. Dazu gehören Skype, Netflix, FaceTime und viele andere Anwendungen, bei denen Bild und Ton entscheidend für die Funktionalität sind. In diesem Fall kann manuelles Testing die einzige Möglichkeit sein.
  • Der Inhalt der Anwendung ändert sich ständig. Dies ist ein häufiges Phänomen in Telekommunikationsanwendungen. Diese Art von Geschäft ist beliebt und hat eine hohe Nachfrage bei den Nutzern. Daher wächst die Anzahl solcher Programme. Da der Kunde regelmäßig neuen Content erhält, müsste auch der Code für automatisierte Tests ständig aktualisiert werden, damit die Tests für jeden Content relevant sind. Dies ist zwar möglich, aber es besteht das Risiko, dass die Kosten für die Pflege des Codes die tatsächlichen Vorteile automatisierter Tests für das Projekt übersteigen.
  • Die Funktionen befinden sich noch in der Entwicklung. Dieser Punkt ähnelt dem vorherigen: Die Funktionalität der Anwendung verändert sich, und die Tests müssen entsprechend angepasst werden. Wenn bekannt ist, dass die Funktion noch nicht fertiggestellt ist, ist die Erstellung von Tests eine Verschwendung von Zeit.
  • Die Funktionalität der Anwendung ist komplex (ein hervorragendes Beispiel ist das E-Health-System). Bei solchen Anwendungen ist es wichtig, die richtigen Tests durchzuführen und sie korrekt zu priorisieren. Wenn die Funktionalität der Anwendung umfangreich und komplex ist, können die Kosten und die Zeit für die Erstellung von Tests den Nutzen übersteigen.
  • Die Anwendung ist sehr klein mit einer sehr begrenzten Funktionalität. In diesem Fall erfordert das Schreiben automatisierter Tests unangemessen hohe Kosten.

Wie trifft man die richtige Wahl?

Zusammenfassend lässt sich sagen, dass Automatisierung ein mächtiges Werkzeug mit weitreichenden Möglichkeiten ist. Trotz dieser Tatsache gibt es keine universelle Strategie für effektives Testing. Daher muss für jede Software ein individueller Testplan entwickelt werden und die Methoden ausgewählt werden, die zu diesem Projekt passen. Man sollte weder von automatisierten noch von manuellen Testmethoden unrealistische Erwartungen haben. Oft ist die vorteilhafteste Option eine Kombination aus beiden. So können Sie die Stärken jeder Methode nutzen und gleichzeitig ihre Schwächen vermeiden. Analysieren Sie die Anforderungen und Möglichkeiten Ihres Projekts ohne Illusionen und Vorurteile gegenüber einer der beiden Testarten.

Und natürlich helfen wir Ihnen gerne dabei, den richtigen Ansatz für Ihre Testanforderungen zu finden. Kontaktieren Sie uns!