top 10 test automation strategies
Dies ist der letzte Artikel in der Testautomatisierungsserie . Dieser Artikel fasst die Best Practices und Strategien für die Testautomatisierung zusammen.
Obwohl unsere vorherigen Artikel Best Practices erwähnen (und einige davon können hier wiederholt werden), hatte ich das starke Gefühl, die wenigen aufzulisten, aber Die wichtigsten Best Practices der Automatisierung finden Sie hier in einem Artikel als Referenz .
Diese Strategien stammen aus meiner eigenen Erfahrung und aus der Literatur zum Testen von Gurus wie Michael Bolton, James Bach und Cem Kaner. Diese Praktiken sollten bei jedem Automatisierungsprojekt befolgt werden.
Was du lernen wirst:
- 10 besten Strategien und Praktiken für die Testautomatisierung
- # 1. Stellen Sie einen engagierten Automatisierungsingenieur oder ein Team ein
- # 2. Ein Automatisierungstool ist wichtig, aber nicht die Lösung für alles
- #3. Wählen Sie das Automatisierungstool aus, das Ihren Ressourcen vertraut ist
- # 4. Kennen Sie die getestete Anwendung
- # 5. Gute Automatisierung bedeutet guten manuellen Testfall
- # 6. Identifizieren Sie Chancen mit Automatisierung
- # 7. Sie können nicht alles automatisieren
- # 8. Vermeiden Sie die GUI-Automatisierung, wenn eine andere vorhanden ist
- # 9. Verwenden Sie die Automatisierung auch für andere nützliche Zwecke
- # 10. Automatisierung ist Softwareentwicklung
- Fazit
- Literatur-Empfehlungen
10 besten Strategien und Praktiken für die Testautomatisierung
Auf geht's..
# 1. Stellen Sie einen engagierten Automatisierungsingenieur oder ein Team ein
Dies ist eine grundlegende Sache zu tun. Bitten Sie Ihre manuellen Tester nicht, sich der Testautomatisierung hinzugeben. Wenn Sie möchten, dass sie Testautomatisierung durchführen, befreien Sie sie von manuellen Testarbeiten. Testautomatisierung ist ein Vollzeitjob. Dafür benötigen Sie dedizierte Ressourcen.
Ich empfehle, ein Testautomatisierungsteam aufzubauen, das aus mindestens einem Automatisierungsarchitekten besteht. Sie können mehrere Automatisierungsingenieure einstellen, um unter Anleitung des Testautomatisierungsarchitekten zu arbeiten. Die Anzahl der Automatisierungsingenieure hängt von der Anzahl und Größe Ihrer Produkte ab.
welches vr funktioniert mit xbox eins
# 2. Ein Automatisierungstool ist wichtig, aber nicht die Lösung für alles
Wir haben über die Werkzeugauswahl gesprochen . Die Auswahl des richtigen Werkzeugs ist jedoch nur der Anfang. Einige Manager haben die falsche Vorstellung, dass sie bei der Auswahl des richtigen Tools alles problemlos automatisieren können. Achtung, Automatisierungstools bieten Ihnen nicht alles. Sie erleichtern den Prozess. Sie benötigen jedoch qualifizierte Ressourcen, um den Prozess abzuschließen.
Oft sind Automatisierungstools fehlerhaft und können komplexe Objekte in der Anwendung nicht identifizieren. Die Ressourcen, die Sie einstellen, wenn sie qualifiziert sind, bieten eine Problemumgehung, die den Prozess vorantreibt. Andernfalls kann Tool allein keine erfolgreiche Automatisierung garantieren, wenn Sie keine guten Ressourcen einstellen.
#3. Wählen Sie das Automatisierungstool aus, das Ihren Ressourcen vertraut ist
Wenn Ihre Ressourcen mit C # vertraut sind und Ihre zu testende Anwendung auch in C # entwickelt wurde, macht es keinen Sinn, das Tool auszuwählen, das kein C # zum Schreiben von Skripten bietet.
Das Erlernen von Sprachen ist ein zeitaufwändiger Prozess. Vermeiden Sie diese Lernkurve, indem Sie ein Tool kaufen, das eine minimale Lernkurve bietet.
# 4. Kennen Sie die getestete Anwendung
Die Werkzeugauswahl hängt stark von den in Ihrem Produkt verwendeten Technologien ab. Kennen Sie Ihr Produkt genau, bevor Sie mit der Automatisierung beginnen.
Wenn es sich um eine Webanwendung handelt, kennen Sie die von ihr unterstützten Browser. Kennen Sie die darin verwendeten Technologien. Wenn es sich um eine Desktop-Anwendung handelt, wissen Sie, auf welcher Sprache aufgebaut ist. Welche Steuerelemente von Drittanbietern werden in der Anwendung verwendet? Dies erleichtert Ihnen die Werkzeugauswahl und die zukünftige Automatisierung.
# 5. Gute Automatisierung bedeutet guten manuellen Testfall
Schön geschriebene starke manuelle Testfälle Bewahren Sie uns vor der Automatisierung von Testfällen, die einfach zu automatisieren sind, aber keine Fehler finden.
Hier ist das Zitat aus dem Buch Lessons Learned in Software Testing:
„Automatisierung ohne gutes Testdesign kann zu viel Aktivität, aber wenig Wert führen.“
Es ist immer ratsam, den Testfall zuerst in manueller Form zu schreiben. Identifizieren Sie alle Voraussetzungen und Testdaten . Schreiben Sie die Schritte klar und deutlich und schreiben Sie die erwarteten Ergebnisse vor jeden Schritt. Das Ziel eines Testfalls sollte klar sein und weniger von den anderen Testfällen abhängig sein. Automatisierungsingenieure sollten diesen Testfall mindestens einmal manuell ausführen, um klar zu entscheiden, welche Objekte identifiziert werden müssen und wie der Navigationsfluss aussehen wird. Stellen Sie Fragen mit manuellen Testern.
Diese Aktivität hilft manchmal dabei, Fehler zu identifizieren, noch bevor das Automatisierungsskript geschrieben wird. Experten sagen, dass die meisten Fehler eher in der Entwicklungsphase der Testautomatisierung als in der eigentlichen Ausführungsphase identifiziert werden.
# 6. Identifizieren Sie Chancen mit Automatisierung
Wenn Sie mit einem übergeben werden manueller Testfall zur Automatisierung Automatisieren Sie diesen Testfall nicht einfach so wie er ist. Finden Sie stattdessen weitere Möglichkeiten in Ihrer Automatisierung, um den Umfang dieses Testfalls zu erweitern.
Wie finde ich meinen Netzwerksicherheitscode?
Zum BeispielWenn die manuelle Testfallanforderung besteht, müssen Sie sich auf einer Webseite anmelden. Sie können diesen Testfall erweitern, indem Sie ihn datengesteuert machen. Listen Sie alle möglichen Anmeldeszenarien wie ungültiges Passwort, leeres Passwort, ungültiger Benutzername, ungültige E-Mail, leerer Benutzername, erinnern Sie sich an mich überprüft, nicht überprüft usw. auf. Listen Sie die möglichen Szenarien zusammen mit dem erwarteten Ergebnis in einer Excel-Datei auf und fügen Sie diese Excel-Datei ein als Datenquelle für Ihren Testfall. Jetzt kann dieser eine manuelle Testfall nach seiner Automatisierung alle möglichen Szenarien auf einmal testen.
Suchen Sie immer nach Möglichkeiten, die mit der Automatisierung möglich, aber manuell schwierig sind. B. Lasttestszenarien, Leistungsbenchmarks, gleiche Tests in verschiedenen Umgebungen mit unterschiedlichen Konfigurationen, Speicherlecks, hochpräzise Tests usw. Dies sind alles schwierige Szenarien für manuelle Tester.
# 7. Sie können nicht alles automatisieren
Automatisierung bedeutet, dass weniger Tests häufiger ausgeführt werden. Sie müssen klein anfangen, indem Sie zuerst Ihre Rauchtests angreifen. Dann decken Sie Ihre Akzeptanztests erstellen . Fahren Sie dann mit Ihren häufig durchgeführten Tests fort und gehen Sie dann mit Ihrer Zeit für Tests fort. Stellen Sie jedoch sicher, dass jeder Test, den Sie automatisieren, Zeit spart, damit sich ein manueller Tester auf wichtigere Dinge konzentrieren kann.
Die Automatisierung ersetzt nicht manuelle Tester. Das kann es auch nicht. Es ist hier, um den manuellen Testern die wiederholte Arbeit zu nehmen, damit sie ihren vollen Fokus und ihre Stärke nutzen können, um neue Testszenarien und Fehler zu finden. (Lesen Sie meinen Artikel Missverständnisse der Testautomatisierung)
Automatisieren Sie einige Tests wertvoll und Zeitersparnis oder schwer zu tun für manuelle Tester. Wenn Sie das getan haben, ist die Aufgabe der Automatisierung erledigt.
# 8. Vermeiden Sie die GUI-Automatisierung, wenn eine andere vorhanden ist
Die GUI-Automatisierung ist immer schwieriger als andere Arten von automatisierten Tests. Wenn es also eine Situation gibt, in der Sie Ihr Ziel erreichen können, indem Sie die GUI nicht automatisieren, sondern durch einige andere Methoden wie Befehlszeileneingaben, ist es die beste Strategie, die GUI-Automatisierung zu vermeiden.
Zum Beispielmöchten Sie die Installation der Anwendung testen. Ziel ist es zu überprüfen, ob die Anwendung in einer bestimmten Umgebung installiert ist oder nicht. Ein Ansatz besteht darin, die Installation zu starten und auf „ Nächster ”Mehrmals über Ihr Automatisierungstool drücken. Es kann schwierig und zeitaufwändig sein und muss gewartet werden, wenn sich die Benutzeroberfläche ändert. Der andere Ansatz besteht darin, die Anwendungsinstallation mit einer Batchdatei zu starten, die stille Argumente enthält. Die Anwendung wird unbeaufsichtigt installiert und zeigt keine grafische Benutzeroberfläche an. Das Ziel wird in kürzerer Zeit und zuverlässiger erreicht.
# 9. Verwenden Sie die Automatisierung auch für andere nützliche Zwecke
Automatisierung ist so eine fantastische Sache. Sie können solche Dinge erreichen, an die Sie normalerweise nicht denken. Bei der Automatisierung geht es nicht nur darum, einen manuellen Testfall zu programmieren. Stattdessen, Sie können die Automatisierung verwenden, um verschiedene Vorgänge in Ihrer Organisation zu vereinfachen.
Zum BeispielMit der Automatisierung können Sie Stammdaten erstellen und Konfigurationen für manuelle Tester automatisch einrichten. Damit sie so früh wie möglich mit dem Testen beginnen können.
Java, wie man ein Element aus einem Array entfernt
Ich kann ein Beispiel aus meiner eigenen Firma geben. Wir wollten von unserem Testfall-Management-Tool wechseln. Wir verwendeten 'Test Director' (jetzt HP ALM) und wollten zu wechseln TFS (Team Foundation Server). Wir hatten ungefähr 4000 manuelle Testfälle und Fehler in Test Director. Die manuelle Übertragung an TFS kann etwa einen Monat dauern. Also bat mich mein Manager, etwas Automatisierung zu versuchen.
Ich habe diese Tools ausgegraben und festgestellt, dass Test Director SQL Server als Repository verwendet. Für TFS habe ich ein Tool gefunden, das Testfälle und Fehler aus einer Excel-Datei lesen kann, wenn sie in einem bestimmten Format geschrieben sind, und sie in TFS einfügen kann. Der Rest der Geschichte ist einfach. Ich habe eine SQL-Abfrage geschrieben, um alle Testfälle und Fehler abzurufen, und sie in eine Excel-Datei im jeweiligen Format exportiert. Ich habe dann dieses Tool verwendet, das alle Testfälle und Fehler aus der Excel-Datei liest und in TFS einfügt. Der gesamte Vorgang dauerte nur 3 Stunden. Mein Manager war sehr glücklich. Ich hoffe du verstehst auch meinen Standpunkt.
# 10. Automatisierung ist Softwareentwicklung
Wenn Sie hochwertige Software entwickeln, sind Best Practices erforderlich. Zum Schreiben von Qualitätscode sind Codeüberprüfungen erforderlich. Es muss ein Framework oder ein Entwurfsmuster befolgt werden. Es muss ständig gewartet werden.
Automatisierung ist im Grunde Softwareentwicklung. Daher sollten bei der Automatisierung alle Best Practices befolgt werden, die Sie bei der Entwicklung von Software befolgen. Automation Framework sollte da sein. Codeüberprüfungen sollten durchgeführt werden. Automatisierungsfehler sollten im Fehlerrepository gemeldet werden. Der Quellcode der Automatisierung sollte unter die Quellcodeverwaltung usw. gestellt werden. Je mehr Sie ihn wie Softwareentwicklung behandeln, desto erfolgreicher wird die Automatisierung.
Fazit
Dies fasst den Artikel sowie die Reihe der Testautomatisierung zusammen. Ich habe beim Schreiben dieser Tutorials viele Dinge gelernt und hoffe, dass Sie auch durch Lesen lernen. Testautomatisierung ist eine interessante und lohnende Karriere. Richtig zu machen ist nicht nur für Sie, sondern auch für die Organisation von Vorteil.
Während ich jeden Tag an der Testautomatisierung und ihren Techniken arbeite, finde ich neue und interessante Herausforderungen zu lösen. Diese Serie war ein Versuch hervorzuheben, was auf einer Reise der Testautomatisierung passieren könnte. Ich hoffe, ich habe es richtig und auf einfache Weise geliefert.
Wie immer warte ich auf Ihre Kommentare und Vorschläge. Fühlen Sie sich frei, Ihr Feedback in den Kommentaren zu schreiben. Ich freue mich, von Ihnen zu hören und Ihnen bei Bedarf zu helfen. Danke fürs Lesen.
PREV Tutorial # 6
Literatur-Empfehlungen
- Sind Sie ein Experte für manuelle oder Automatisierungstests? Teilzeit für uns arbeiten!
- Herausforderungen beim manuellen und automatischen Testen
- Top 10+ Best Software Testing Books (Handbuch und Handbuch für Automatisierungstests)
- Sikuli GUI Automation Testing Tool - Anfängerhandbuch Teil 2
- Schritt-für-Schritt-Anleitung zur Implementierung von Proof of Concept (POC) in Automatisierungstests
- 10-stufiger Automatisierungstestprozess: So starten Sie den Automatisierungstest in Ihrer Organisation
- Wie kann man entscheiden, welche Art von Test für ein Projekt erforderlich ist? - Manuell oder Automatisierung
- Wie führe ich manuelle Leistungstests durch?