JavaRush /Java-Blog /Random-DE /Erste Schritte mit automatisierten Tests, Teil 1

Erste Schritte mit automatisierten Tests, Teil 1

Veröffentlicht in der Gruppe Random-DE
Wir laden Sie ein, die russische Adaption eines Artikels von Tim Ebie zu lesen, dem Gründer von https://testdemy.teachable.com/ , einer Qualitätssicherungsplattform für Online-Softwaretests, die entwickelt wurde, um diejenigen zu unterstützen, die ihre Reise in das automatisierte Testen beginnen
Erste Schritte mit automatisierten Tests, Teil 1 – 1
Wir beobachten ein steigendes Interesse und ein Wachstum der Anzahl an Webanwendungen auf dem Markt. Mit ihnen kommen immer mehr Jobs, die Programmierkenntnisse, technische Fähigkeiten und verschiedene Automatisierungsfähigkeiten erfordern. Um weiterhin gefragt zu bleiben, sehen manuelle Tester daher die Notwendigkeit, vom reinen manuellen Testen zur Qualitätssicherung (QS) überzugehen und setzen auf automatisierte Tests. Der Wechsel vom manuellen zum automatisierten Testen ist eine kluge Entscheidung, da viele QA-Positionen eine Reihe technischer Fähigkeiten im Zusammenhang mit dem Schreiben von Code erfordern. Für diejenigen, die Veränderungen nicht mögen, können solche Veränderungen unangenehm sein. Andere Entwickler hingegen sehen diese „Zeit des Wandels“ als Chance, ihre Karrieren und Fähigkeiten auf die nächste Stufe zu heben und ihre Relevanz zu steigern. Jedes Mal, wenn die Anforderungen steigen, erweitern sich die Möglichkeiten. Entwickler mit den richtigen Fähigkeiten können auf den Zug aufspringen und großartige, gut bezahlte Karrieren machen. Wenn Sie vom manuellen Testen zur Automatisierung übergehen möchten oder sogar einen Wechsel aus einem anderen Bereich der Softwareentwicklung in Betracht ziehen, ist es sinnvoll, ein paar Schritte zu unternehmen, die Ihnen zum Erfolg verhelfen.

Schritt 1: Marktbewertung

„Gewohnheit Nummer zwei“ aus Dr. Stephen A. Coveys Buch „7 Gewohnheiten hochwirksamer Menschen“ lautet : „Beginnen Sie mit dem Ende im Hinterkopf.“ Ich glaube, dass dieser Grundsatz zutrifft, wenn es darum geht, mit dem automatisierten Testen zu beginnen. Beginnen Sie mit einer Markteinschätzung der Bedürfnisse derjenigen, die Automatisierungsingenieure einstellen. Sobald Sie ein Verständnis für die technischen Bedürfnisse der Arbeitgeber gewonnen haben, können Sie sich die entsprechenden Fähigkeiten aneignen. Ein guter Ausgangspunkt ist es, sich die Stellenbeschreibungen auf einer beliebigen Website anzusehen (z. B. Indeed.com , Dice , Monster , LinkedIn usw.).
Erste Schritte mit automatisierten Tests, Teil 1–2
Hier finden Sie Beispiele für Suchbegriffe, mit denen eine Marktbewertung erstellt werden kann:
  • Testautomatisierungsingenieur;
  • Automatisierungsentwickler;
  • automatisiertes Testen/Tester (automatisiertes Testen) (Automation Testing/Automation Tester);
  • QA-Automatisierungsingenieur ;
  • Softwareentwicklungsingenieur im Test (SDET).
Um zu verstehen, wie Arbeitgeber denken und was sie wirklich von Kandidaten erwarten, sollten Sie bei Ihrer Suche die folgenden Fragen im Hinterkopf behalten:
  • Welche spezifischen Fähigkeiten und Technologien erwähnen sie?
  • Sehen Sie für diese Fähigkeiten einen separaten Satz oder „Block“ von Fähigkeiten oder Technologien?
  • Wie viele Jahre Erfahrung sind ggf. erforderlich?
  • Gibt es bestimmte Branchen, in denen tendenziell mehr Automatisierungsingenieure eingestellt werden als in anderen?
  • Mit welchem ​​Gehalt können Sie rechnen?
  • Sind die Tools oder Technologien, an denen wir interessiert sind, in erster Linie Open Access oder kommerzielle Produkte?
Schauen wir uns nun einige Stellenbeschreibungen genauer an, um ein Gefühl dafür zu bekommen, wonach der Markt sucht. Bitte beachten Sie, dass die betreffenden Stellen in den Vereinigten Staaten angesiedelt sind. Wenn Sie nicht in den Vereinigten Staaten leben, sehen Sie sich bitte die Tools zur Jobsuche in Ihrem Land an. Softwareautomatisierungsentwickler I:
  • verfügt über ein klares Verständnis objektorientierter Programmiersprachen ;
  • vertraut mit Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Arbeitet eng mit Entwicklern, Geschäftsanalysten und anderen Testern zusammen, um Testautomatisierungskomponenten zu identifizieren , die zur Überprüfung der Anforderungen an die entwickelte Software verwendet werden.
Erste Schritte mit automatisierten Tests, Teil 1–3
QA-Tester (automatisiertes Testen):
  • speichert automatisierte Tests in den entsprechenden Versionskontrollsystemen – TFS, GitHub usw.;
  • befolgt vordefinierte Automatisierungsstandards und DevOps- Standards für die Automatisierung sowie kontinuierliche Integrations- und Bereitstellungsprozesse;
  • Erfahrung mit ALM-Tools (TFS, Jira, HP QC) und Testautomatisierungstools (vorzugsweise Selenium WebDriver) .
Qualitätssicherungs-Automatisierungsingenieur - QA ( Qualitätssicherungs-Automatisierungsingenieur ):
  • Erfahrung mit Selenium WebDriver ;
  • Programmierkenntnisse in Python, Java oder ähnlichen Sprachen;
  • Mobile Testerfahrung / Appium .
Testsoftwareentwickler:
  • Aktualisierung und Erweiterung der Testumgebung und Testtools in C#, TypeScript, JavaScript ...;
  • Starke Programmierkenntnisse in C# oder Java und/oder JavaScript sowie ein klares Verständnis objektorientierter Programmierkonzepte ;
  • Erfahrung mit Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Erste Schritte mit automatisierten Tests, Teil 1–4
Hier sind einige wichtige Erkenntnisse aus diesen Stellenbeschreibungen. Hybride/gemischte Rollen: Achten Sie genau auf die Berufsbezeichnungen und darauf, wie diese Unternehmen automatisierte Softwaretests sehen. Dies lässt sich an den Namen der Rollen erkennen, die sie auflisten (Softwareautomatisierungsentwickler, Softwareentwickler im Test usw.). Fällt Ihnen ein Muster auf? Diese Unternehmen bezeichnen QA-Ingenieure mehr oder weniger als Entwickler. Software: Für manuelle Tester bedeutet dies, dass es an der Zeit ist Erfahren Sie, wie Sie Code schreiben, um manuelle Testfälle in automatisierte Testskripte umzuwandeln. Für Entwickler, die auf automatisierte Tests umsteigen möchten, bedeutet dies, dass Sie mehr über Softwaretestmethoden und den Testlebenszyklus von Software erfahren und lernen sollten, wie man automatisierte Testfälle zur Unterstützung erstellt Diese Lebenszyklen. Verpassen Sie diesen entscheidenden Wandel nicht, sonst geraten Sie ins Hintertreffen. Mit dem Aufkommen agiler Methoden und agiler Projekte vermischen immer mehr Unternehmen Qualitätssicherung und Entwickler. Es ist also an der Zeit, dass Sie sich auf Ihre Anforderungen vorbereiten neue Verantwortlichkeiten. Personen, die über eine Grundausbildung in der Welt des Softwaretests verfügen und gleichzeitig ein gutes Verständnis für die Fähigkeiten eines Softwareentwicklers haben, sind Gold wert. Open-Source-Technologien/Programmiersprachen: Bitte beachten Sie die in den Beschreibungen fett hervorgehobenen Technologien und Programmiersprachen . Diese Technologien und Sprachen sind zielgerichtet, man muss sie erlernen, um auf dem Markt gefragt zu sein. Wählen Sie eine Technologie mit hoher Nachfrage aus und beginnen Sie mit dem Ausbau Ihrer Fähigkeiten, indem Sie sie üben und an realen, praktischen Anwendungen und Projekten teilnehmen. Dies wird Ihr Lernen beschleunigen. Wenn Sie nicht sicher sind, mit welcher Programmiersprache Sie beginnen sollen , grenzen wir das Feld etwas ein.

Schritt 2: Beherrschen Sie eine objektorientierte Programmiersprache (OOP)

Seien wir ehrlich: Die meisten manuellen Tester haben Angst vor dem Programmieren. Der bloße Gedanke, unter die Haube zu gehen und zu sehen, wie Systeme und Anwendungen tatsächlich funktionieren, macht vielen manuellen Testern Angst. Diese Angst ist hauptsächlich der Grund, warum sie zu manuellen Testern wurden.
Erste Schritte mit automatisierten Tests, Teil 1–5
Die Programmierung ist die Grundlage des automatisierten Testens. Wenn Sie sich mit Automatisierungstests befassen möchten, müssen Sie in der Lage sein, zu programmieren. Je besser Sie im Programmieren sind, desto erfolgreicher werden Sie bei Automatisierungstests oder der Automatisierungsentwicklung sein. Wenn Sie in dieser sich ständig verändernden Welt der Entwicklung und Technologie wettbewerbsfähig bleiben wollen, müssen Sie sich daher entschließen, diese Angst zu überwinden und ein gefragter Entwickler automatisierter Tests zu werden. Das Gute daran ist, dass Sie Ihre Programmierkenntnisse mit minimaler Anleitung durch einen erfahreneren Kollegen, Beharrlichkeit und Beharrlichkeit und ständigem Üben (wie wir es bei JavaRush tun) definitiv verbessern können. Die nächste logische Frage ist: Welche Programmiersprache soll ich lernen? Aufgrund unserer Markteinschätzung wissen wir, dass Arbeitgeber Menschen einstellen möchten, „die über ein ausgeprägtes Verständnis für objektorientierte Programmiersprachen verfügen“. Und unserer Analyse zufolge können wir mehrere objektorientierte Programmiersprachen erkennen, auf die sie sich beziehen. Zum Beispiel Java, C#, JavaScript und Python. Sie können mit jedem von ihnen beginnen. Wenn Sie anfangen, eine OOP-Sprache zu lernen, finden Sie hier einige Konzepte, mit denen Sie sich gut vertraut machen können, um sich besser mit automatisierten Tests vertraut zu machen:
  • objektorientierte Programmierung (Klassen, Objekte, Instanzen, Vererbung, Attribut usw.);
  • Module, Standardbibliotheken (in der von Ihnen gewählten Sprache);
  • Datenstrukturen (Wörterbücher, Listen, Tupel usw.);
  • Datentypen (Strings, Zeichen, Ganzzahlen, Gleitkomma, logische oder boolesche Typen, NoneType usw.);
  • Variablen;
  • Fehler-/Ausnahmebehandlung;
  • Arithmetische Operatoren/Rangfolge;
  • Vergleich, logische boolesche Operatoren;
  • Prozeduren/Funktionen/Methoden;
  • Kontrollfluss: If-Anweisungen, for-Schleifen, while-Schleifen usw.
  • Dateien lesen/schreiben;
Die Programmierung ist die Grundlage des automatisierten Testens. Lernen Sie zu programmieren und Sie werden lernen zu automatisieren.

Schritt 3: Automatisierungstools beherrschen

Ich sage immer wieder: Je besser man programmieren kann, desto besser kann man automatisieren. Sobald Sie mit dem Erlernen einer Programmiersprache begonnen haben, besteht der nächste Schritt darin, den Umgang mit Automatisierungstools zu erlernen. Denn die meisten Unternehmen tendieren aus Kostengründen eher zu Open-Source-Automatisierungstools (oder freier Software) als zu kommerziell lizenzierten Produkten.
Erste Schritte mit automatisierten Tests, Teil 1–6
Ein hervorragendes Tool, das gemeinfrei verfügbar ist, ist Selenium WebDriver. Selenium verfügt über mehrere Sprachbindungen (Python, Java, C#, Ruby, PHP, JavaScript usw.), sodass das Erlernen einer dieser Programmiersprachen eine hervorragende Grundlage für den Aufbau einer soliden Karriere in der Automatisierung darstellt. Einige Schlüsselkonzepte, die Sie beherrschen müssen, um zuverlässige, funktionale und effiziente automatisierte Testfälle zu erstellen:
  • Entwurfsmuster: Seitenobjektmodell;
  • Suche nach Webseitenelementen mithilfe verschiedener Locators (CSS-Selektor, XPATH, ID, Name usw.);
  • Windows/iFrames wechseln;
  • Refactoring;
  • Unit-Tests;
  • Cloud-Tests/parallele Tests;
  • Datenprüfung;
  • Testen auf verschiedenen Webbrowsern (Firefox, Internet Explorer, Chrome, Safari, Opera usw.);
  • implizite und explizite Erwartungen;
  • Handlungsketten
Wenn Sie sich für eine objektorientierte Programmiersprache entschieden haben und bei der Bewertung des Marktes auf Automatisierungstools setzen, ist der nächste logische Schritt... Was würden Sie denken?...

Schritt 4: Üben, üben, üben

Was auch immer Sie tun, geben Sie niemals auf. Etwas Neues zu lernen ist immer eine Herausforderung. Aber jede Herausforderung kann mit genügend Übung und Hingabe gemeistert werden. Wie lange es dauert, neue Fähigkeiten und Technologien zu erlernen, liegt ganz bei Ihnen und wie viel Übung und Hingabe Sie in die Beherrschung dieser Fähigkeiten investieren.
Erste Schritte mit automatisierten Tests, Teil 1–7
Jeder Profisportler wird sagen, dass er oder sie durch die Arbeit und den Einsatz seines Trainings den Höhepunkt seiner Reise erreicht hat. Man sagt, Michael Jordan habe hart gespielt, aber noch härter trainiert. Dieser Ansatz sollte von jedem übernommen werden, der automatisieren möchte – üben, üben, üben Sie Ihre neuen Fähigkeiten, bis sie zur zweiten Natur werden. Nur so können Sie Ihre Fähigkeiten verbessern und als Tester gefragt sein. Eine gute Möglichkeit zum Trainieren besteht darin, gleichzeitig aktiv eine Programmiersprache und Automatisierungstools zu erlernen und damit zu „spielen“. Mit anderen Worten: Schreiben Sie kleine Programme oder automatisierte Testskripte, brechen Sie sie ab, ändern Sie sie und sehen Sie, wie es jetzt funktioniert. Lernen Sie aus dem, was Sie getan haben, und versuchen Sie es erneut. Üben Sie durch Spielen, Tun und Lernen. Wenn Sie dies tun, wird Ihre Lernkurve steigen.

Zeit anzufangen

Das Wichtigste in einem neuen Unternehmen ist der Start. Immer wenn wir zögern oder es nicht schaffen anzufangen, liegt das daran, dass wir keinen Fahrplan oder Spielplan haben, der uns dabei hilft, unseren Kurs festzulegen.
Erste Schritte mit automatisierten Tests, Teil 1–8
Auch wenn der Versuch, die Richtung Ihrer Karriere radikal zu ändern, entmutigend erscheinen mag, ist es wichtig, wertgeschätzt und marktfähig zu sein. Sie müssen sich neue Fähigkeiten aneignen, um in der sich ständig verändernden Welt der Softwareentwicklung auf dem Laufenden zu bleiben und das zu sein, wonach Arbeitgeber tatsächlich suchen. Fangen Sie klein an: Bewerten Sie die Marktanforderungen, lernen Sie objektorientierte Programmier- und Automatisierungstools und üben Sie ständig. Und Sie sind im Handumdrehen auf neue Jobmöglichkeiten vorbereitet. Quelle: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION