Kostenlose Testversion

Es gibt viele Gründe, warum automatisierte Tests vorteilhaft sind, und wenn Sie diese bewährten Verfahren in Ihren automatisierten Tests befolgen, können Sie sicher sein, dass Ihre Tests erfolgreich sind und Sie die maximale Rendite für Ihre Investitionen erzielen. Automatisierte Tests verkürzen Ihre Entwicklungszyklen, vermeiden mühsame wiederkehrende Aufgaben und helfen, die Qualität Ihrer Software zu verbessern. Aber wo fangen Sie an? Diese bewährten Verfahren bieten eine Grundlage dafür, mit der Verbesserung Ihrer Software-Qualität zu beginnen.

Gründliche Tests sind ein zentraler Aspekt für den Erfolg eines Softwareprodukts. Wenn Ihre Software nicht ordnungsgemäß funktioniert, werden die meisten Benutzer sie wohl nicht kaufen oder nutzen ……zumindest nicht lange. Aber Tests zum Auffinden von Fehlern – oder Bugs – sind zeitaufwändig, teuer, voller sich wiederholender Arbeiten und fehlerträchtig. Automatisierte Tests, in denen die Qualitätssicherungsteams mit Software-Tools detaillierte, sich wiederholende und datenintensive Tests automatisch ausführen, helfen Teams, die Qualität ihrer Software zu verbessern und ihre stets begrenzten Test-Ressourcen bestmöglich zu nutzen. Test-Automatisierungswerkzeuge helfen Teams dabei, schneller zu testen, deutlich mehr Code zu testen, die Testgenauigkeit zu verbessern, und sie befreien die QS-Techniker von lästigen Aufgaben, so dass sich diese mehr auf die Tests konzentrieren können, die manuelle Aufmerksamkeit und ihre menschlichen Fähigkeiten erfordern.

Mit diesen Top-Tipps können Sie sicherstellen, dass Ihr Softwaretest erfolgreich abläuft und Sie die maximale Rendite erzielen:

  1. Entscheiden Sie, welche Testfälle automatisiert werden
  2. Testen Sie früh und häufig
  3. Wählen Sie das richtige automatisierte Testwerkzeug
  4. Teilen Sie den Aufwand der automatisierten Tests auf
  5. Erstellen Sie gute, hochqualitative Testdaten
  6. Erstellen Sie automatisierte Tests, die gegen Änderungen der Benutzeroberfläche immun sind

Entscheiden Sie, welche Testfälle automatisiert werden

Es ist nicht möglich, alle Tests zu automatisieren, daher müssen Sie unbedingt festlegen, welche Testfälle zuerst automatisiert werden sollen.

Der Vorteil von automatisierten Tests beruht auch darauf, wie oft ein bestimmter Test wiederholt werden kann. Tests, die nur wenige Male ausgeführt werden, sollten besser im manuellen Testen verbleiben. Gute Testfälle für die Automatisierung sind solche, die häufig ausgeführt werden und große Datenmengen zum Ausführen der gleichen Aktion erfordern.

Sie profitieren am meisten von Ihren automatisierten Testaufgaben, indem Sie folgendes automatisieren:

  • Wiederkehrende Tests, die für mehrere Entwicklungsstufen ausgeführt werden.
  • Tests, die oftmals Bedienungsfehler verursachen.
  • Tests, die mehrere Datensätze benötigen.
  • Häufig genutzte Funktionen, die zu Hochrisikozuständen führen.
  • Tests, die nicht manuell ausgeführt werden können.
  • Tests, die auf unterschiedlichen Hardware- oder Softwareplattformen und -konfigurationen ausgeführt werden.
  • Tests, deren manuelle Ausführung mühselig und zeitaufwändig ist.

Erfolg bei der Automatisierung von Tests erfordert sorgfältige Planung und Design. Beginnen Sie mit dem Erstellen eines Automatisierungsplans. Damit können Sie die ersten zu automatisierenden Tests ausfindig machen und er dient als Leitlinie für zukünftige Tests. Zuerst sollten Sie festlegen, welches Ziel Sie mit Ihren automatisierten Tests verfolgen, und bestimmen, welche Arten von Tests Sie automatisieren möchten. Es gibt einige verschiedene Testtypen, jeder davon hat seinen Platz im Testprozess. Zum Beispiel wird beim Unit-Test ein kleiner Teil der geplanten Anwendung getestet. Zum Testen eines bestimmten Teils der Benutzeroberfläche einer Anwendung verwenden Sie Funktions- oder GUI-Tests.

Wenn Sie Ihr Ziel und die zu automatisierenden Testtypen festgelegt haben, sollten Sie entscheiden, welche Aktionen Ihre automatisierten Tests ausführen werden. Erstellen Sie nicht einfach nur Testschritte, die verschiedene Verhaltensaspekte der Anwendung einzeln testen. Große und komplexe automatisierte Tests lassen sich nur schwer ändern und debuggen. Sie sollten sie besser in mehrere kleine, logische Testeinheiten unterteilen. Dadurch wird Ihre Testumgebung stimmiger und überschaubarer und Sie können Testcodes, Testdaten und Prozesse gemeinsam nutzen. Sie erhalten mehr Gelegenheit, Ihre automatisierten Tests zu erweitern, indem Sie kleine Tests hinzufügen, die neue Funktionen behandeln. Testen Sie die Funktionalitätsteile Ihrer Anwendung bereits beim Hinzufügen, statt abzuwarten, bis eine gesamte Funktion umgesetzt wurde.

Wenn Sie Tests erstellen, versuchen Sie, diese klein und zielorientiert zu gestalten. Trennen Sie beispielsweise Tests für Funktionen ohne Schreibzugriff von denen mit Lese- und Schreibzugriff. Dadurch können Sie diese einzelnen Tests wiederholt einsetzen, ohne sie in jeden automatisierten Test eingebunden zu haben.

Wenn Sie mehrere einfache automatisierte Tests erstellt haben, können Sie Ihre Tests in einem größeren automatisierten Test vereinigen. Sie können automatisierte Test nach den Funktionsbereichen der Anwendung sortieren, nach hoher/geringerer Aufteilung in der Anwendung, nach gemeinsamen Funktionen oder einer Grundmenge der Testdaten. Wenn ein automatisierter Test auf andere Tests verweist, sollten Sie einen Testbaum erstellen, in dem Sie Tests in einer bestimmten Reihenfolge ausführen können.

Testen Sie früh und häufig

Um Ihre automatisierten Tests optimal zu nutzen, sollten Sie mit den Tests so früh wie möglich beginnen und diese so oft wie nötig ausführen. Je früher im Lebenszyklus des Projekts Tester miteingebunden werden, desto besser und je mehr Sie testen, desto mehr Bugs werden Sie finden. Automatisierte Unit-Tests können schon am ersten Tag eingebunden werden und dann können Sie nach und nach Ihre automatisierte Test-Suite entwickeln. Früh aufgedeckte Bugs sind viel kostengünstiger zu beheben als solche, die erst später während Produktion und Einsatz erkannt werden.

Wählen Sie das richtige automatisierte Testwerkzeug

Die Auswahl eines automatisierten Testwerkzeugs ist ein wesentlicher Teil der Automatisierung von Tests. Es gibt viele automatisierte Testwerkzeuge auf dem Markt und Sie sollten das automatisierte Testwerkzeug auswählen, das am besten zu Ihren Gesamtanforderungen passt.

Beachten Sie diese Punkte, wenn Sie ein automatisiertes Testwerkzeug wählen:

  • Unterstützung Ihrer Plattformen und Technologie. Testen Sie .Net-, C#- oder WPF-Anwendungen und unter welchen Betriebssystemen? Werden Sie Web-Anwendungen testen? Benötigen Sie Unterstützung für das Testen mobiler Anwendungen? Arbeiten Sie mit Android oder iOS oder nutzen Sie beide Betriebssysteme?
  • Flexibilität für Tester aller Kompetenzniveaus. Kann Ihre QS-Abteilung automatisierte Test-Skripte schreiben oder benötigen Sie Schlüsselwort-Tests?
  • Automatisierte Tests voller Funktionen, doch leicht zu erstellen. Unterstützt das automatisierte Testwerkzeug sowohl Testerstellung über Aufzeichnen-und-Abspielen als auch die manuelle Erstellung automatisierter Tests; gibt es Funktionen zum Einfügen von Kontrollstellen, um Werte, Datenbanken oder Schlüsselfunktionen Ihrer Anwendung zu überprüfen?
  • Erstellen von automatisierten Tests, die wiederverwendbar, pflegeleicht und immun gegen Änderungen an der Benutzeroberfläche der Anwendung sind. Funktioniert mein automatisierter Test nach Änderungen an der Benutzeroberfläche noch?

Weitere Informationen über ausgewählte automatisierte Testwerkzeuge für automatisierte Tests finden Sie unter Auswahl von automatischen Testwerkzeugen.

Erstellen Sie jetzt einen automatisierten Test mit TestComplete

Kostenlose Testversion starten

Teilen Sie den Aufwand der automatisierten Tests auf

Normalerweise beruht die Erstellung unterschiedlicher Tests auf den Fähigkeiten der QS-Techniker. Es ist wichtig, dass Sie genau wissen, welche Erfahrung und welche Kenntnisse welches Teammitglied mitbringt und dann die Arbeiten an den automatisierten Tests entsprechend aufteilen. Zum Beispiel braucht man Fachkenntnisse in Skriptsprachen, um automatisierte Testskripte zu schreiben. Um also solche Aufgaben auszuführen, sollten die QS-Techniker die Skriptsprache des automatisierten Testwerkzeugs beherrschen.

Einige Teammitglieder sind vielleicht nicht versiert im Schreiben automatisierter Testskripte. Diese QS-Techniker werden dann vielleicht besser zum Schreiben von Testfällen eingesetzt. Es ist besser, wenn ein automatisiertes Testwerkzeug eine Möglichkeit bietet, ohne tiefgreifende Kenntnisse von Skriptsprachen automatisierte Tests zu erstellen, wie z. B. TestCompletes Schlüsselworttestfunktion. Ein Schlüsselworttest (oder auch schlüsselwortgetriebener Test) besteht aus einer Reihe von Schlüsselwörtern mit jeweils einer bestimmten Aktion. Mit Schlüsselworttests können Sie Tastaturanschläge simulieren, auf Schaltflächen klicken, Menüelemente auswählen, Objektmethoden und Eigenschaften aufrufen und vieles mehr. Schlüsselworttests werden oft als Alternative zu automatisierten Testskripten angesehen. Im Gegensatz zu Skripten können sie von Benutzern mit oder ohne technische Kenntnisse eingesetzt werden, um stabile und leistungsstarke automatisierte Tests zu erzeugen.

In Ihrem Projekt zur Automatisierung von Tests sollten Sie auch mit anderen QS-Technikern in Ihrer Abteilung zusammenarbeiten. Von Teams ausgeführte Tests sind oft wirksamer beim Auffinden von Fehlern und das passende automatisierte Testwerkzeug ermöglicht Ihnen, das Projekt mit vielen Testern gemeinsam zu bearbeiten.

Erstellen Sie gute, hochqualitative Testdaten

Gute Testdaten sind äußert nützlich bei datengetriebenen Tests. Die Daten, die während eines automatisierten Tests in die Eingabefelder eingegeben werden, sind normalerweise in einer externen Datei gespeichert. Diese Daten können aus einer Datenbank oder einer anderen Datenquelle eingelesen werden, z. B. aus Text- oder XML-Dateien, Excel-Arbeitsblättern und Datenbanktabellen. Ein gutes automatisiertes Testwerkzeug ist in der Lage, den Inhalt der Datendateien zu verstehen und während des automatisierten Tests ihre Inhalte auszulesen. Die Verwendung externer Daten macht Ihre automatisierten Tests wiederverwendbar und pflegeleichter. Um unterschiedliche Testszenarien hinzuzufügen, können die Datendateien einfach mit neuen Daten erweitert werden, ohne dass Sie den eigentlichen automatisierten Test verändern müssen.

Normalerweise erstellen Sie die Testdaten manuell und speichern Sie dann im gewünschten Datenspeicher ab. TestComplete bietet Ihnen jedoch mit dem Data Generator ein Werkzeug, das Ihnen hilft, die Tabellenvariablen und Exceldateien mit den Testdaten zu erstellen. Mit diesem Ansatz können Sie Daten des gewünschten Typs erstellen (Ganzzahlen, Zeichenketten, Boole‘sche Werte usw.) und diese Daten automatisch in einer bestimmten Variable oder Datei speichern. Mit dieser Funktion verringern Sie den Zeitaufwand bei der Vorbereitung der Testdaten für datengetriebene Tests. Weitere Informationen zum Erstellen von Testdaten mit TestComplete finden Sie im Abschnitt „Using Data Generators“ in der TestComplete-Hilfe.

Das Erstellen von Testdaten für Ihre automatisierten Tests ist langweilig, doch Sie sollten Zeit und Aufwand in das Erstellen von gut strukturierten Daten investieren. Mit guten Testdaten wird das Schreiben von automatisierten Tests viel einfacher. Je früher Sie hochqualitative Daten erstellen, desto einfacher ist es, vorhandene automatisierte Tests im Zuge der Anwendungsentwicklung zu erweitern.

Erstellen Sie automatisierte Tests, die gegen Änderungen der Benutzeroberfläche immun sind

Mit Skripten oder Schlüsselworttests erstellte automatisierte Tests hängen von der zu testenden Anwendung ab. Die Benutzeroberfläche der Anwendung kann sich von einer Entwicklungsstufe zur nächsten ändern, insbesondere in der Frühphase. Diese Änderungen können sich auf die Testergebnisse auswirken, oder Ihr automatisierter Test funktioniert möglicherweise mit zukünftigen Versionen der Anwendung nicht mehr. Das Problem liegt darin, dass automatisierte Testwerkzeuge ein Objekt mithilfe einer Reihe von Eigenschaften identifizieren und ausfindig machen. Manchmal verlässt sich ein Testwerkzeug auf die Ortskoordinaten eines Objekts. Wird dann beispielsweise die Beschriftung des Steuerelements oder sein Ort geändert, kann der automatisierte Test das Objekt beim Ausführen nicht mehr auffinden und schlägt fehl. Um den automatisierten Test erfolgreich auszuführen, müssen Sie möglicherweise im gesamten Projekt alte Namen durch neue ersetzen, bevor Sie den Test mit der neuen Version der Anwendung ausführen. Wenn Sie jedoch Ihren Steuerelementen eindeutige Namen zuweisen, wird Ihr automatisierter Test immun gegen GUI-Änderungen und es ist sichergestellt, dass Ihr automatisierter Test funktioniert, ohne dass Sie den Test selbst bearbeiten müssen. So muss sich das automatisierte Testwerkzeug auch nicht mehr auf Ortskoordinaten verlassen, um ein Steuerelement aufzufinden, was weniger stabil und fehleranfälliger ist.

Fazit

Die in diesem Artikel beschriebenen bewährten Verfahren sind der Weg zum Erfolg bei der Automatisierung von Tests. TestComplete enthält eine Reihe von Funktionen, mit denen Sie diese bewährten Verfahren einfacher befolgen können:

  • Mit TestComplete können Sie verschiedene Arten von Softwaretests ausführen:
  • Mit TestComplete können Sie Ihren Test in einzelne Testteile unterteilen, die als Testelemente bezeichnet werden und diese in einer baumähnlichen Struktur organisieren. Dadurch können Sie einzelne Tests wiederholt verwenden und sie in einer bestimmten Reihenfolge ausführen.
  • TestComplete unterstützt schlüsselwortgetriebene Tests. Diese automatisierten Tests können auch von unerfahrenen TestComplete-Benutzern leicht erstellt werden. Oder Sie erstellen damit schnell einen einfachen Test.
  • TestComplete unterstützt fünf Skriptsprachen, mit denen automatisierte Testskripte erstellt werden können: VBScript, JScript, DelphiScript, C++Script und C#Script.
  • Mit TestComplete können QS-Techniker ein Testprojekt mit ihrem Team teilen.
  • TestComplete bietet eine Funktion namens Name Mapping, mit der Sie eindeutige Namen für Prozesse, Fenster, Steuerelemente und andere Objekte vergeben können. Dadurch werden Ihre Objektnamen und Tests klarer und verständlicher sowie unabhängig von allen Objekteigenschaften und weniger fehleranfällig, falls die Benutzeroberfläche geändert wird. Mit dieser Funktion können Sie Ihre Anwendung schon in der Frühphase ihres Lebenszyklus erfolgreich testen, wenn Änderungen an der Benutzeroberfläche noch häufig auftreten.
  • Es gibt noch viele andere Funktionen, mit denen TestComplete Ihnen den Einstieg in Ihre automatisierten Tests vereinfacht und beschleunigt.

Wenn Sie diese empfohlenen bewährten Verfahren übernehmen und die Funktionen von TestComplete verwenden, können Sie häufige Fehler vermeiden und Ihren automatisierten Testprozess verbessern. Damit testen Sie schneller, sparen Geld und können Ihre Produkte pünktlich veröffentlichen. Wenn Sie TestComplete noch nicht getestet haben, laden Sie es jetzt herunter und probieren Sie es 30 Tage lang aus.