Tester's Way: Wo fange ich an, Automatisierung zu lernen?

Vor sechs Jahren belegte Roman Pechersky aus Ischewsk Kurse für Funktionstester und begann als QS-Ingenieur zu arbeiten. Einige Monate später stieß er erstmals auf Testautomatisierung und erkannte, dass er sich in diese Richtung entwickeln wollte.

Jetzt leitet Roman ein Team von Automatisierungsexperten sowie ein Schulungszentrum für automatisierte Tests in Ischewsk EPAM. Er erzählte, wie er anfing, Automatisierung zu studieren, wie er sich entwickelte, mit welchen Problemen er sich befasste und welche Life-Hacks er benutzte.



Wie ich die Automatisierung kennengelernt habe


Ich bin zum ersten Mal auf Automatisierung gestoßen, als der technische Leiter unseres Projekts vorschlug, die Selbsttests mit Überprüfungen abzudecken, damit sie nach jeder Änderung ausgeführt werden und schnell Feedback erhalten. Zu diesem Zeitpunkt hatte ich ein Jahr lang nicht im Testen gearbeitet, daher fühlte ich mich nicht sehr wohl. Trotzdem schien mir die Aufgabe interessant zu sein und ich beschloss, sie abzuschließen - obwohl ich nicht einmal wusste, wo ich anfangen sollte.

Jemand von den Projektkollegen erzählte mir von der Selenium IDE, einem Tool zur Automatisierung der Aktionen eines Firefox-Browsers. Ich erinnere mich, wie ich meinen ersten Autotest mit der Record and Play-Methode geschrieben habe: Ich habe die Aufnahme eingeschaltet, Tasten gedrückt, Text in die Suchleiste eingegeben und auf die Links geklickt. Das Ergebnis war eine Reihe gespeicherter Aktionen, die Sie ausführen und sofort anzeigen konnten.

Dann habe ich drei Vorträge des Automatisierungstrainers Mikhail Polyarush gesehen:

Was ist Testautomatisierung?
Wie schreibe ich den ersten Test auf Selen
So schreiben Sie Locators in Selenium WebDriver

Die Bekanntschaft mit der Selenium IDE und diesen Vorlesungen genügte mir, um diese Projektaufgabe zu lösen und die ersten Schritte zur Seite in der Automatisierung zu gehen.

Wie ich Automatisierung studiert habe


Bald lernte ich selbst Java - eine der beliebtesten Sprachen zum Testen der Automatisierung - und versuchte, einfache Selbsttests in Eclipse zu schreiben, um beispielsweise die Anmeldeform von Anwendungen zu testen.



Einmal diskutierten mein Manager und ich über meine zukünftige Entwicklung. Ich sagte, dass ich vorhabe, auf Automatisierung umzusteigen, und bat um Kurse zu automatisierten Tests für Mitarbeiter.

Die nächsten sechs Monate habe ich gearbeitet und studiert - abends, am Wochenende, an Feiertagen. Alles wurde durch die Tatsache kompliziert, dass ich in den ersten drei Monaten auf Geschäftsreise mit einem neuen Projekt war. Nach der Arbeit kehrte ich mit dem Gedanken ins Hotel zurück, dass ich Schulden akkumulieren würde, für die ich ausgewiesen werden könnte, wenn ich meine Hausaufgaben nicht rechtzeitig abgeben würde. Für mich war es schrecklicher Stress und ich verlor sogar ein paar Pfund.

Folgendes hat mir geholfen, Schwierigkeiten zu überwinden:

• Verstehen, warum dies notwendig ist

Trotz der Tatsache, dass das Studium schwierig und manchmal sogar langweilig war, wurde mir klar, welche Möglichkeiten es für mich eröffnen würde. Deshalb habe ich meine ganze Freizeit der Automatisierung gewidmet. Anstatt durch die Stadt zu laufen - Automatisierung, statt Treffen in einer Bar mit Kollegen - Automatisierung, statt der Abendserie - Automatisierung.

• Unterstützung für Kollegen

Es ist immer schön, wenn dich jemand aufmuntert - besonders Leute, die schon den gleichen Weg gegangen sind.

• Wettbewerbsgefühl

Das Gefühl, der am weitesten zurückliegende Schüler in der Gruppe zu werden, ermutigte mich auch, weiterzumachen.

Als die Kurse beendet waren, begann ich an dem Projekt zu arbeiten und wechselte die Aufgaben eines Funktionstesters und eines Automatisierungstechnikers ab. Einige Monate später trat er dem neuen Projekt bei - bereits als Teamleiter. Das QS-Team bestand nur aus zwei Personen - mir und einem Funktionstester, dem ich die Grundlagen der Automatisierung erklärte.

Wie ich anfing, Automatisierung zu unterrichten


Mein Projektkollege ist die erste Person, die angefangen hat, Automatisierung zu unterrichten. Anfangs reichte mein Wissen nicht immer aus, um seine Fragen zu beantworten und Designprobleme zu lösen. Aber als ich ihm nichts erklären konnte, stellte ich fest, dass ich mich in diesem Thema nicht genug entwickelt hatte und erweiterte mein Wissen. Normalerweise suchte ich bei Stack Overflow nach Antworten oder wandte mich an Entwickler, um Hilfe zu erhalten.

Allmählich wuchs mein Team auf 10 Automatisierung. Zu diesem Zeitpunkt habe ich mich vollständig vom manuellen Testen entfernt und mich mit komplexen systemweiten Selbsttests von Webanwendungen befasst. Dann half er dem Team bei der Erstellung von Architekturlösungen für Tests und wurde Projektkoordinator.

Vor sechs Monaten organisierten meine Kollegen und ich ein eigenes Schulungszentrum für Selbsttests im Büro. Sie begannen, Studenten der letzten Kurse und Leute aufzunehmen, die beschlossen, den Tätigkeitsbereich für die Ausbildung zu ändern.

Kürzlich habe ich selbst einen kurzen Kurs in JavaScript belegt und mich mit einem neuen Projekt verbunden. Ich bin noch nie auf JS gestoßen. Ich brauchte ungefähr einen Monat, um mich mehr oder weniger sicher zu fühlen, mit der neuen Sprache zu arbeiten.



Zusammenfassend kann ich Anfängern, die ihre ersten Schritte in der Automatisierung unternehmen, einige Ratschläge geben.

• Beginnen Sie mit dem Üben - erstellen Sie Ihren eigenen Autotest

Viele Leute denken, bevor Sie Autotests schreiben, müssen Sie zuerst die Theorie des Testens verstehen und Java oder eine andere Programmiersprache lernen. Normalerweise hält die Begeisterung solcher Menschen nicht lange an, da es sich um einen langen und komplizierten Prozess handelt.

Ich glaube, dass Sie mit einfachen Dingen beginnen müssen. Erstellen Sie selbst einen einfachen Autotest. Um es interessanter zu machen, versuchen Sie, eine Lebensaufgabe zu lösen. Schreiben Sie beispielsweise ein Skript, das die Übertragung von Wasserzählerständen an den Standort eines Wasserversorgers automatisiert. Heute ist dies mit Katalon Studio möglich , das die Selenium IDE ersetzte. Solche Aufgaben wecken das Interesse am Studium der Automatisierung. Anschließend können Sie mit dem Studium der Theorie und der Besonderheiten der Automatisierung fortfahren und die Programmiersprache in Verbindung mit Selenium WebDriver beherrschen.

• Priorisieren

Angenommen, Sie verstehen, dass Sie sich als Tester-Automatisierungsingenieur weiterentwickeln möchten und bereit sind, Zeit mit dem Lernen zu verbringen. Wenn Sie vorhaben, vollständig in das Training einzutauchen und es viele Monate lang nicht zu dehnen, müssen Sie entweder Ihren aktuellen Job verlassen oder Ihren Chef um einen langen Urlaub bitten.

Sie können meinem Beispiel folgen und versuchen, Studium mit Arbeit zu verbinden. Sie sparen also Ihr Gehalt, vergessen aber für einige Monate die Existenz von Freizeit.

• Beginnen Sie alleine oder nehmen Sie an Kursen teil

Kurse sind eine gute Option für diejenigen, die überhaupt keine Ahnung haben, wo sie anfangen sollen, oder die ihr Wissen organisieren möchten. Online-Kurse finden Sie bei Otus , Stepik , GeekBrains , Lynda , JavaRush . Wenn wir über Offline-Schulungen sprechen, können diese von verschiedenen IT-Unternehmen in Ihrer Stadt organisiert werden: Das EPAM-Schulungszentrum ist beispielsweise in sechs russischen Städten tätig.

Normalerweise ist das Programm eines Automatisierungskurses in drei Module unterteilt:

1. Einführung in die Automatisierungstheorie;
2. Erlernen der Grundlagen einer Programmiersprache (z. B. Java);
3. Schreiben Sie Ihre eigenen Autotests.

Dies ist meiner Meinung nach ein universeller Algorithmus zum Studium der Testautomatisierung. Sie können es auch als Grundlage nehmen, wenn Sie einen technischen Hintergrund haben und sich dazu entschließen, die Grundlagen der Automatisierung unabhängig zu verstehen.

Hier ist das Mindestmaß an Wissen, das Sie beherrschen müssen, um an realen Projekten arbeiten zu können:

• Grundlegende Konzepte des Testens verstehen: Testfälle, Fehler usw.;
• Verstehen, was automatisiert werden kann und was nicht;
• Kenntnisse der Grundlagen einer Programmiersprache (Java, JavaScript, Python, C #);
• Fähigkeit, mit Selenium WebDriver zu arbeiten ;
• Fähigkeit, Locators für Elemente zu schreiben;
• Kenntnis von einem oder zwei Einheiten-Frameworks.



• Seien Sie so interessiert wie möglich

Anfänger in der Automatisierung haben am häufigsten Angst vor Fehlern im Code. Sie führen den Code aus, sehen, wie etwas schief geht, und geraten in eine Betäubung. Was tun in einer solchen Situation? Versuchen Sie, im Internet eine Lösung zu finden, z. B. für denselben Stapelüberlauf . Eine andere Möglichkeit besteht darin, erfahrene Kollegen um Hilfe zu bitten. Sie waren auch einmal an Ihrer Stelle und haben die gleichen Fehler gemacht. Wenn Sie eine Aufgabe mit erfahrenen Automatisierungsingenieuren besprechen, erweitern Sie Ihren beruflichen Horizont.

• Stehen Sie nicht still

Um fit zu bleiben, müssen Sie ständig auf dem neuesten Stand sein. Führen Sie neue Frameworks und Bibliotheken ein, verstehen Sie Continuous Integration, vertiefen Sie Ihre Kenntnisse der Programmiersprache oder beherrschen Sie eine neue, lesen Sie thematische Artikel und Blogs:

Ein Artikel darüber, wer so ein gutes Automatisierungstool ist
Automator-Hinweise (Best Practices zum Testen der Automatisierung)
Community-Automatoren
Portal über Tests und Softwarequalität
QA-Community Comaqa.by

In den fünfeinhalb Jahren, in denen ich mit Automatisierung gearbeitet habe, habe ich es nie bereut, diese Richtung gewählt zu haben. Ich führte gerne manuelle Testaufgaben durch, aber mir wurde klar, dass ich früher oder später an die Decke stoßen würde. Die Obergrenze für den Manager ergibt sich, wenn er verschiedene Arten von Anwendungen - Web, Desktop, Mobile - so professionell testet, dass die Arbeit keine neuen Herausforderungen mehr aufwirft und zur Routine wird. Um nicht still zu stehen und sich weiterzuentwickeln, müssen Sie neue Fähigkeiten erwerben. Sie können Funktions- oder Lasttests automatisieren, zu Sicherheitstests wechseln oder beispielsweise Datenbanken sortieren. Sie können auch in Richtung DevOps, Geschäftsanalyse oder Projektmanagement schauen.

Als manueller Tester habe ich es nicht geschafft, meine Decke zu erreichen - die Automatisierung hat mich früher fasziniert. Gleichzeitig hilft mir der Hintergrund des Handbuchs in all den Jahren bei meiner Arbeit sehr. Ich implementiere nicht nur Testfälle, sondern schreibe normalerweise selbst Skripte für sie. Ich verstehe also, was ich teste, welche Art von Funktionalität ich abdecke und auf welches Ergebnis ich warte.

Source: https://habr.com/ru/post/de421899/


All Articles