Manuelle Tester werden nicht benötigt oder es ist Zeit für die Automatisierung



Nein, natürlich wird eine Handbremse benötigt. Aber jedes Jahr werden sie immer weniger gebraucht. Das Gehaltsniveau wird schnell die Decke erreichen und von monotonen Aufgaben wird es sich übergeben. Wenn Sie den Wunsch haben, in der Qualitätssicherung zu bleiben und sich zu einem Automatisierungstechniker (Entwickler?) Zu entwickeln, ist der folgende Text genau das Richtige für Sie.

Wer ich bin?


Lass uns dich zuerst kennenlernen. Mein Name ist Alexander und ich arbeite seit 15 Jahren im Testen. Er begann mit der Entwicklung, begann zu testen, war eine Handbremse, jetzt ein Automatisierungswerkzeug. Ich habe Desktop, Benutzeroberfläche, mobile Anwendungen, APIs getestet, Lasttests durchgeführt und viele interessante Dinge im Zusammenhang mit der Qualitätssicherung. Ich werde Ihnen kurz erklären, wie ich meine Karriere im Selbsttest aufbauen kann, was ich studieren würde und wo ich anfangen soll. Ja, mir fehlt etwas, aber mein Rat spiegelt meine Erfahrung wider und nicht die ultimative Wahrheit.

Was waren manuelle Tester vorher


Früher war es besser. Vor ungefähr 15 Jahren wurde der Beruf gerade erst. Die Unternehmen erkannten die Bedeutung des Testens und stellten Tester ein. Die wichtigsten (nicht immer!) Anforderungen an einen Tester sind ein leichter Programmierer oder ein Spezialist, der sich nicht mit Programmierern befasst hat, sowie Kenntnisse der Testgrundlagen. Vielleicht verwirrt Sie der vorherige Satz, aber ich werde es später erklären.

Die Tester selbst wurden in Handbremse und Automatisierung unterteilt. Produkte von HP waren für die Automatisierung verfügbar, Selen, Skriptsprachen wurden eingeführt. Handbremsen wurden mit den Händen getestet, sie schrieben Testdokumentation.

Die Zeit verging und die Handbremse verschmolz mit der Automatisierung zu einem Zweig. Darüber hinaus ist meiner Meinung nach die Automatisierung dominant geworden. Und jetzt werde ich Ihnen sagen, wie Sie AQE (Automation Quality Engineer) werden können.

Was müssen Sie wissen, um zu beginnen?


Testtheorie. Das ist notwendig. Testarten, Testdokumentation, kennen und können Testdesign-Techniken anwenden. Und erkunden Sie auch die Testpyramide. Vielleicht wird nicht alles klar sein, aber im Laufe der Zeit wird es sich in seiner ganzen Pracht offenbaren.

Grundsätzlich eignen sich Savins Buch "Testing Dot Kom" und 20 Stunden auf YouTube zum Starten.



Bücher werden gelesen, YouTube wird überprüft, es gibt Erfahrung im manuellen Testen. Versuchen wir nun, uns der Automatisierung zuzuwenden. Dort ist es interessanter.

Mythen


„Die Arbeit der Qualitätssicherung als einer der relativ einfachen Einstiegspunkte in die IT.“
„Autotests werden bald aussterben. In der Regel sind dies solche Unterprogrammierer. "
" Wir sind Tester, keine Entwickler, wir müssen nicht wissen / nicht angenommen / nicht unbedingt. "

Die ersten beiden Aussagen, die ich im Internet gefunden habe. Ich habe den dritten live gehört. Wenn Sie ein hohes Maß an Automatisierung erreichen möchten, stimmen Sie diesen Mythen nicht zu. Es wird schwer, lang, aber interessant sein. Ihr Wissen sollte auf der Ebene der Programmierer sein. Und in den meisten Fällen und mehr müssen Sie die Testtheorie noch kennen und anwenden.
Woher kommen solche Mythen? Ich denke ab dem obigen Punkt - Was manuelle Tester früher waren. Tester sind Lichtprogrammierer (NO).

Ich denke, ich kann es beweisen. Kennen Sie Tester / Manager / Entwickler? Fragen Sie sie, wie viele Autotests (stark) sie in einem Jahr gefunden haben? Ich denke, dass nur wenige Einheiten. Unser Unternehmen hat 20 Kandidaten pro Jahr gescannt und einen eingestellt. Mitte.

Sie können versuchen, ein Interview bei Signora AQE zu bekommen. Dort funktioniert bereits "Wir sind Tester, keine Entwickler, das müssen wir nicht wissen" nicht. Und die Entwickler werden Sie nach der Testtheorie interviewen. Denn ein modernes, leistungsfähiges Automatisierungssystem ist ein vollwertiger Entwickler.

Programmiersprache auswählen


Nicht wirklich wichtig. Weltweit sind Programmiersprachen ähnlich und während Ihrer Karriere werden Sie einige kennen. Wenn Sie die Grundlagen verstehen, erfolgt der Übergang zu einer neuen Sprache schnell.
Beginnen Sie mit der Erforschung grundlegender Konzepte: Datentypen, Klassen, Arrays, Schleifen, String-Manipulation, Funktionen, OOP. Nachdem Sie zu einer bestimmten Sprache gegangen sind.

Für die Entwicklung von Autotests im Jahr 2020 würde ich mir diese Sprachen ansehen (ich erinnere mich, dass dies auf meiner Erfahrung basiert und keine Handlungsanweisung):

JavaScript eignet sich hervorragend zum Testen der Benutzeroberfläche. Entwickelt sich schnell beim Testen. JS-Frameworks ersetzen aktiv Selenium

Java, die beliebteste Sprache für die Automatisierung in Russland. Historisch gesehen also viele offene Stellen.

PythonSprache mit dem schnellsten Eintrag. Die Sprache ist „einfach“, leicht zu lesen und zu lernen.

Und man muss verstehen, dass dies eine lange Zeit ist, man muss geduldig sein. Je nach Trainingsintensität von 4 Monaten bis zu einem Jahr.

Designmuster


Entwurfsmuster beschreiben typische Möglichkeiten zur Lösung häufiger Probleme beim Entwerfen von Programmen.

Folgendes habe ich kürzlich gehört:

„Wir brauchen starke Mitten, die unsere Tests harken und verstehen. Wir verstehen sie schon ein wenig. “

Wenn Sie eine Website mit 3 bis 2 Seiten haben, ist alles einfach, schnell und schön. Wenn Sie jedoch ein Projekt haben, in dem ui / api / mobile / e2e-Tests gleichzeitig durchgeführt werden und dies alles ohne Muster geschrieben ist, wird dies in 90% der Fälle zu Müll (sorry).

Das Wissen um das Seitenobjekt ist gut, aber es gibt weltweit viele weitere nützliche Vorlagen, die die Entwicklung erleichtern können. Je früher Sie dieses Problem lösen, desto weniger Probleme wird es in Zukunft geben (so können Sie einen Fehler frühzeitig finden, dann ist es billiger, ihn zu beheben).

Hier ist ein Link zum Lesen .

Wenn Sie sich immer noch nicht mit diesem Thema befassen können, bitten Sie Ihre Entwickler um Hilfe. Wir haben das Projekt daher in mehreren Iterationen verbessert, nachdem wir es mit dem Entwickler geklärt hatten.

Ich empfehle auch, das Buch Head First zu lesen. Designmuster. Freeman Eric, Robson Elizabeth.

Welches Betriebssystem soll ich wählen?


Nicht wichtig. Nun ist dies eine Gewohnheitssache, verwenden Sie, was für Sie bequem ist. Wenn ich jetzt eine solche Wahl hätte, würde ich ein UNIX-ähnliches System wählen. Die Erfahrung mit ihr wird auf dem Arbeitsmarkt geschätzt und es gibt weniger Probleme.

Frameworks testen


Framework (deu, Framework - Struktur, Framework) - eine Reihe von Entscheidungen über Architektur, Struktur und Methoden zum Kombinieren von Systemkomponenten, die für einige ähnliche Aufgaben angewendet werden können.

Jetzt nähern wir uns dem Testen. Es gibt großartige Rahmenbedingungen für jede Sprache. Für JS sind es Cypress, Nightwatch, Puppenspieler und andere. Java hat Selenide, Python hat den Pytest-Standard. Studiere sie, wenn es soweit ist. Die Dokumentation auf ihnen ist Meer.

Die Zeit wird kommen und Sie werden Ihren Rahmen natürlich vorher selbst entwickeln und ein gutes Verständnis für das Thema Muster haben.

Git und Bewertung


Git (ausgesprochen "git") ist ein verteiltes Versionskontrollsystem.
Ihr Code muss irgendwo gespeichert werden. Dafür gibt es Schwachsinn. Git ist der De-facto-Standard.
Hier kann der Lernprozess folgendermaßen aufgebaut werden:
git installieren
Registrieren Sie sich auf github.com
Lesen Sie die Dokumentation
Öffnen Sie YouTube, finden Sie Lektionen und arbeiten Sie daran.

Um sich anzumelden, müssen Sie eine kleine Anzahl von Git-Befehlen lernen:
Klonen, Hinzufügen, Push, Pull, Stash, Commit, Status, Rebase, Checkout. In einer Woche wirst du es lernen und meistern. Die Hauptpraxis.

Der Überprüfungscode ist ein leistungsstarkes Tool zum Teilen von Wissen, zum Auffinden von Fehlern und „dummen“ Fehlern sowie zum Überprüfen Ihres Codes. Zuerst werden sie häufiger als Sie prüfen, aber mit der Zeit werden Sie beginnen, andere zu überprüfen. Versuchen Sie, die Bewertung als Hilfe und Entwicklung für sich selbst wahrzunehmen. Jeder hat Fehler und Tippfehler.

Lesen

Was gibt es sonst noch zu lernen?


CI / CD Continuous Integration / Continuous Deployment.

Die Hauptziele von CI / CD sind die Minimierung von Fehlern, die Beschleunigung der Montage und die Verbesserung der Qualität des Endprodukts:



Read

Docker ist eine Plattform zum Entwickeln, Bereitstellen und Ausführen von Anwendungen in Containern.

Read

HTTP ist ein Protokoll zum Datenaustausch in einem Netzwerk. Vielleicht können Sie UI-Tests schreiben, ohne HTTP zu kennen, aber es gibt keine zu testende API. Und die Lokalisierung des Problems wird mit diesem Wissen schneller sein.

Read

xpath ist eine Sprache zum Abfragen von Elementen eines XML-Dokuments.

Link zum Spickzettel

SQL ist eine Standardcomputersprache zum Verwalten relationaler Datenbanken und zum Verarbeiten von Daten. SQL wird zum Abfragen, Einfügen, Aktualisieren und Ändern von Daten verwendet.

Lesen Sie

diese Liste geht weiter, aber ich werde hier aufhören.

Wo kann man Wissen bekommen?


Youtube
Thematische Foren
Bücher
Kurse zur Programmierung
Kurse zur Testautomatisierung

Ich habe Kurse zur Programmierung und Kurse zur Testautomatisierung speziell unterteilt. Beginnen Sie besser mit dem ersten. In den zweiten Kursen wird Ihnen Automatisierung beigebracht und Sie werden die „Korrektheit“ der Entwicklung ignorieren. Es ist besser, den Grundstein zu legen und dann in die Automatisierung einzusteigen.

Lohnt es sich, Unterricht zu sparen? Kann ich ein Buch nehmen / einen Artikel lesen / YouTube ansehen und keine bezahlten Kurse wählen? Nein. Wenn möglich natürlich. Es gibt Mentoren in den Kursen, dies wird das Lernen erheblich beschleunigen. Es wurden viele Aufgaben für Sie erfunden, die Ihre Fähigkeiten verbessern sollten. Das Einzige ist, sich der Wahl der Lehrer mit Bedacht zu nähern. Bewertungen lesen.

PS Ich habe alles durchgesehen: Bücher, YouTube, Artikel, Kurse. Und die Kurse waren die besten für mich, es war ein Entwicklungssprung. Vielleicht haben Sie einen anderen Weg.

Verweise


Forum für Autotests (fast alles ist vorhanden) automatisiert-testing.info
js zum Testen von t.me/js_for_testing
QA - t.me/qa_automation Automatisierungstool
Serious t.me/serious_tester tester
Wenn Sie dies noch nicht getan haben, fügen Sie Lesezeichen hinzu, dies ist ein Muss . stackoverflow.com

Warum ich das geschrieben habe


Vor kurzem war ich auf einem Meeting, bei dem einer der Redner über seine Erfahrungen mit der Verwendung von Testautomatisierung sprach. Und sein Unternehmen kam zu dem Schluss, dass es einfacher ist, Entwickler zu finden und daraus AQE zu erstellen, als nach Autotestern zu suchen, die nicht die von ihnen erwarteten Vorteile über große Entfernungen bringen. Und die Gründe waren, dass Autotests nicht genügend Kenntnisse in der Entwicklung hatten (Muster, Kenntnisse der Bibliotheken). In gewisser Hinsicht stimme ich ihnen zu. Ich bin sicher, jemand wird denken, dass ich die Anforderungen für einen Supertester oder für einen Entwickler beim Testen (Software Developer In Test) beschrieben habe. Mit der Entwicklung von Scrum werden wir zu Ingenieuren und gleichberechtigten Mitgliedern eines Teams, dessen Ziel es ist, ein Produkt zu veröffentlichen / ein Feature für einen Sprint zu erstellen, wenn so etwas wie ein Entwickler / Analyst / Tester verschwindet.Unter diesen Bedingungen werden die Anforderungen an Autotests steigen und T-förmige Spezialisten werden auf dem Markt geschätzt (Artikel auf vc.ru ). Solche Leute können das Problem nicht nur klar lokalisieren, sondern auch beheben (zum Beispiel vorne). Und das ist die Zukunft.

das Ende


Wie ich bereits geschrieben habe, wird der Lernprozess nicht einfach sein. Um in den Beruf einzusteigen, muss AQE + - ein Jahr ausgeben. Es wurden viele Artikel darüber geschrieben, wie man ein Training aufbaut, aber ich werde zwei Punkte beachten:

  1. Wissen, wie man sich entspannt und Pausen macht.
  2. Trainieren. Wählen Sie Websites, Projekte. Schreiben Sie Tests auf sie, testen Sie die API. Halten Sie Ihren Code auf Github, rufen Sie Freunde und Kollegen zur Überprüfung an.

Viel Glück

All Articles