So lernen Sie, Software zu testen

Es wird angenommen, dass Sie durch Tests problemlos in die IT einsteigen können. Wir haben unsere Testspezialisten gefragt, wie dies umgesetzt werden kann, ohne an speziellen Bildungsprogrammen an Universitäten teilzunehmen. Es stellte sich heraus, dass Sie sich auf eine Informatikbasis, ein Testbuch und die richtige Wahl beschränken können, um Ihre ersten Erfahrungen zu sammeln. Dies muss zwar mit dem eigenen Interesse und Eifer gewürzt werden.

Unter dem Strich - unsere Tipps und Antworten auf häufig gestellte Fragen von Anfängern. Es gibt wenig darüber, wohin man als nächstes gehen soll, wenn es so aussieht, als ob die Obergrenze des Wissens nahe ist.

Bild

Benötigt der Tester eine Basis in der IT?


Ehrlich gesagt wünschenswert.

Die meisten unserer Spezialisten in der einen oder anderen Form lieben IT seit ihrer Kindheit oder haben zumindest an spezialisierten Universitäten studiert, d. H. Ich hatte bereits eine Grundausbildung, bevor ich zum Testen kam. Einige von ihnen begannen als Entwickler (als Entwickler studiert) - vor 10 Jahren gab es keine separaten „Testbereiche“. Vor unseren Augen haben wir einfach kein "Anti-Beispiel" für einen solchen Weg.

In der IT gibt es wirklich viele, die eine solche Ausbildung nicht absolviert haben. Und es ist etwas schwieriger für sie, vorwärts zu kommen. Um die Aufgaben beim Testen zu bewältigen, müssen Sie mindestens in der Lage sein, das Betriebssystem zu installieren, zu verstehen, wie die Testanwendung und die erforderliche Umgebung bereitgestellt werden, wie ein Repository in Git erstellt wird, Antworten auf Ihre Fragen zu googeln und spezielle Ressourcen wie Stackoverflow zu durchsuchen. Tatsächlich bietet dies eine gemeinsame Grundlage für die Informatik.

Aber auch dieses Wissen kann durch Bücher oder Kurse im Internet beherrscht werden. An Informationsquellen mangelt es heute nicht. Die Hauptsache ist, dass es Interesse und Zeit gibt, die dafür zugewiesen werden können.

Tester oder Entwickler?


Testen Testen ist anders.

Die Anforderungen an einen manuellen Einsteigertester sind nicht sehr hoch. Vielleicht ist dies der sehr „einfache Weg zur IT“. Hier müssen Sie die Grundprinzipien des Testens kennen, über die wir etwas später sprechen werden, und die oben erwähnte Basis haben. Es stimmt, manuelle Tester entfernen sich allmählich, um Softwareprodukte schneller und effizienter zu testen. Auf die eine oder andere Weise beginnen im Laufe der Zeit alle „Handbremsen“, Code zu schreiben oder sich auf Metriken und Analysen einzulassen. Dies bedeutet jedoch nicht, dass Sie Ihre Karriere nicht im Status einer Handbremse beginnen können.

Die Testautomatisierung ist näher am Entwickler. In der Wissensdatenbank verfügt jeder Automat normalerweise über mindestens eine Programmiersprache - diejenige, in der Autotests entwickelt werden (dies ist nicht immer die Hauptentwicklungssprache eines Projekts). Bei der Automatisierung ist es auch wichtig, die Entwurfsmuster zu kennen und die allgemeinen Entwicklungsprinzipien anwenden zu können - Erweiterbarkeit, Lesbarkeit, einfache Wiederverwendung. Im Wesentlichen ist ein Autotest dasselbe Programm, das einem vorgegebenen Szenario entsprechen muss.
Um als Automat arbeiten zu können, müssen Sie neben dem Testen von Kenntnissen im Allgemeinen nur minimale Kenntnisse in objektorientierter Programmierung haben. Stellen Sie sich vor, wie Sie die einfachste „Hallo Welt!“ Schreiben.

Wenn man sich für eine Richtung entscheidet, lohnt es sich kaum, die momentane Popularität von Spezialisten auf dem Arbeitsmarkt zu betrachten. Die durchschnittlichen Indikatoren für Nachfrage und Gehälter in der IT sind sehr spezifisch und hängen unter anderem von verwandten Kenntnissen ab. Wer hätte das gedacht, aber Entwicklungsspezialisten bei einigen Delphi sind jetzt im Bankensektor gefragt, obwohl in anderen Branchen die Sprache nicht allgemein gefragt ist. Hier funktioniert alles nach den Gesetzen des Marktes: Es gibt nur wenige Spezialisten, aber die Nachfrage nach ihnen bleibt bestehen, weil jemand das Erbe unterstützen muss.
Also beim Testen. Jetzt besteht Bedarf an JS-Automatisierung. Es ist großartig, weil die geschäftlichen Anforderungen groß sind, aber diejenigen, die diesen Weg mit dem ersten Auftreten von Marktinteresse eingeschlagen haben, hatten noch keine Zeit zum Lernen. Sobald sie lernen und zur Arbeit gehen, kann sich die Situation ändern.

In dieser volatilen Welt ist es das Grundwissen - zu verstehen, was und wie im Prinzip zu testen ist, welche Ansätze verfügbar sind - sowie die Fähigkeit, Informationen schnell zu absorbieren, hilft Ihnen, sich schnell an einem benachbarten Technologie-Stack neu zu orientieren.

Was zu lesen?


Testen und IT im Allgemeinen sind eine boomende Branche, daher kann man häufig Skepsis gegenüber Büchern finden. Sie haben zu viel "Produktionszyklus". Schreiben, veröffentlichen, verteilen - für eine lange Zeit. Es ist mehr als verdoppelt, wenn wir über übersetzte Literatur sprechen.

Unsere Testabteilung empfahl jedoch fast einstimmig ein Buch - "Testing Dot Com" von Roman Savin. Dies ist das bekannteste Buch zu diesem Thema, in dem die grundlegenden Konzepte und Prozesse des manuellen Testens einfach und leicht vorgestellt werden. Und obwohl es vor langer Zeit veröffentlicht wurde, ist das darin dargelegte Grundwissen immer noch relevant. Vielleicht wurde es von 80 Prozent aller Tester in den GUS-Ländern gelesen.

Weitere Empfehlungen finden Sie leicht in den "Listen mit N Büchern für Anfänger" im Internet. Im Allgemeinen glaubt unser Testteam jedoch, dass die Basis aus dem Buch Roman Savin ausreichen wird, um den weiteren Prozess der Selbstbildung in Gang zu setzen.

Lohnt es sich, Kurse zu besuchen, umso mehr bezahlt?


Die Meinung unserer Spezialisten zu den Kursen ist gemischt.

Trainingsprogramme sind insofern nützlich, als sie strukturiert viele Informationen gleichzeitig liefern. Informationen werden in Fragmenten gesammelt, die für die Entwicklung geeignet sind und in Stufen unterteilt sind. Level für Level können Sie wie in einem Spiel dem Lehrplan folgen und nützliche Kenntnisse erwerben.

Sie können die Kurse mit einem von zwei Zielen besuchen - entweder um Wissenslücken zu schließen oder um bereits bekannte Informationen zu konsolidieren. Abhängig von den Zielen wird alles auf unterschiedliche Weise assimiliert. Aufgrund der Fülle an neuem Wissen werden jedoch nicht 100% der erhaltenen Informationen abgerechnet. Unter diesem Gesichtspunkt ist das Selbststudium bei einem bestimmten Projekt nützlicher. Die gesammelten Informationen oder die gefundene Antwort werden definitiv in Ihrem Kopf verweilen. Das wird zwar etwas länger dauern.
Nicht alle Wände sind es wert, mit der Stirn geschlagen zu werden. Und die richtige Balance, wo es sich lohnt, dem Dozenten in den Kursen zuzuhören, und wo - um selbst etwas zu lernen, entscheidet jeder für sich. Dieses Gleichgewicht besteht in jedem anderen Bereich: Sie wissen wahrscheinlich bereits, dass es für Sie einfacher ist, unabhängig zu lernen oder einem Lehrer zuzuhören.

Kommen wir zu den Einzelheiten. In Gesprächen mit unseren Testspezialisten tauchten die Kurse von Alexey Barantsev mehrmals auf, beispielsweise zu Funktionstests für manuelle Tester oder zur Automatisierung. Es ist jedoch klar, dass das Spektrum der Lernmöglichkeiten nicht auf diese beschränkt ist.

Die negativ erwähnten Kurse werden wir hier nicht geben. Jeder verdient so viel wie er kann, und Berufsausbildung ist das gleiche Geschäft wie alles andere. Bevor Sie jemandem Geld für die Entwicklung eines Berufs bezahlen, lohnt es sich daher, Zeit mit der Erforschung des Marktes zu verbringen.

Lehrpläne werden am besten anhand von Referenzen ausgewählt. Gleichzeitig sollten Sie keine Bewertungen auf den Websites der Kurse selbst oder in Bildungseinrichtungen sehen, die für sie werben. Es ist besser, in sozialen Netzwerken nach negativen Kommentaren zu suchen. Positives Feedback hinterlassen oft diejenigen, die noch studieren - die nicht alles ausdrücken können, was sie über den Lernprozess denken. Die Wahrheit wird offenbart, wenn sie freigelassen werden und anfangen zu überdenken, was mit ihnen passiert ist. Übrigens werden Sie wahrscheinlich ein Negativ über jede Bildungseinrichtung finden. Die einzige Frage ist, wie viel es sein wird und was sein Inhalt sein wird.

Gute Kurse sollten mehr beinhalten als nur Videos zu posten und dann Hausaufgaben zu sammeln. Es ist ein normales Feedback mit dem Lehrer oder Mentor erforderlich, der erklärt, was der Fehler ist und in welche Richtung es sich lohnt, sich zu bewegen, um das Problem richtig zu lösen. Und Sie können kostenlos Videos ansehen (und dann Probleme aus dem Internet lösen).

Die Community rund um das Lernen dürfte für einige wichtig sein. Gemeinsame Entscheidungen bringen das Team zusammen und entwickeln gleichzeitig die für die anschließende Teamarbeit erforderlichen Soft Skills.

Soll ich zur Konferenz gehen?


Konferenzen sind ein sehr nützliches Element der IT-Welt. Dies ist vor allem eine Plattform für den Erfahrungsaustausch. Hier finden Sie selten einen Bericht, der eine momentane private Frage in einer bestimmten Situation beantwortet. Sie können jedoch auf Ansätze zur Lösung ähnlicher Probleme stoßen, die für Ihre Situation durchaus zutreffend sind.

Bei einigen Konferenzen kann man auf „grundlegende“ Berichte stoßen, mit denen man erste Kenntnisse in einem neuen Segment sammeln kann, beispielsweise in der Automatisierung. Aber häufiger sind dies natürlich Informationen für erfahrene Fachleute. Im Allgemeinen ist eine Konferenz eher ein Ort für Networking und verwandtes Wissen (neben Ihrer aktuellen Spezialisierung, beispielsweise in einer anderen Sprache).

Es ist erwähnenswert, dass die meisten auf Konferenzen diskutierten Themen im Internet behandelt werden. Einzelne Ereignisse können zu einer wirklich nicht offensichtlichen Erfahrung führen.

Viele Konferenzbeiträge finden Sie in Online-Aufzeichnungen. Die Hauptsache ist, sich nicht darauf zu konzentrieren, sie anzusehen. Wenn Sie viele Videos ansehen, aber ein wenig üben, funktioniert eine vernünftige Selbstentwicklung nicht. Alles braucht ein Gleichgewicht. Im Gegensatz zum Anzeigen von Berichten besteht eine persönliche Präsenz bei Konferenzen in der Regel auch aus Bekanntschaften und der Kommunikation mit Personen, mit denen Sie aktuelle Probleme und Probleme besprechen können.

Wo kann man die ersten Erfahrungen machen?


Echte Testerfahrung kann nur bei der Arbeit in einem realen Projekt gesammelt werden. Je mehr Code Sie mit Ihren eigenen Händen schreiben, desto effizienter lösen Sie die folgenden Probleme, da die Theorie, die Sie ohne Übung lesen, schnell vergessen wird.
In einem realen Projekt wird das Training viel effektiver sein. Konkrete Probleme entstehen, deren Lösungen bei Google oder in den Foren zu finden sind. Ein eigenständiger Weg wird in Zukunft sehr hilfreich sein. Natürlich sollte dieser Weg nicht von Grund auf neu beschritten werden - daher haben wir bereits darüber gesprochen, wo nach ersten Kenntnissen gesucht werden soll.

Zusammen mit einer gemeinsamen Basis wird jedes Projekt einen gewissen Grad an Spezialisierung aufweisen. Möglicherweise werden Produkte für verschiedene Betriebssysteme, Client-Server-Anwendungen oder Tools für Server getestet. All dies erfordert die dazugehörigen Fähigkeiten.

Wertvoll, wenn Kollegen Sie auf Ihrem Weg begleiten. Daher ist es für Anfänger sehr wichtig, das richtige Unternehmen auszuwählen. Für einen Neuling ist es besser, eine große Organisation zu gründen, in der bereits Technologie-Stacks für jeden Produkttyp definiert sind, alle Prozesse erstellt werden, Testdokumentationen vorhanden sind und viele Teams nach einer Lösung suchen oder um Rat fragen können. Ein systematischer Testansatz und die Ideologie des internen Erfahrungsaustauschs sind zunächst viel wichtiger als das versprochene Gehalt. Wir werden auch offen sagen, dass in großen Unternehmen die Verantwortung für falsche strategische Entscheidungen eher verschwommen ist, sodass Sie sicher Erfahrungen sammeln können, ohne das gesamte Geschäft Ihres Arbeitgebers zu gefährden.

In kleinen Unternehmen und Startups ist die Einstellung zum Testen oft anders. Jemand testet irgendwo etwas - und das gut. Wie man richtig testet, werden sie nicht sagen. Im Gegenteil, wenn alle Verfahren am Freitagabend umgangen werden, werden neue Releases in die Produktion hochgeladen und später getestet.

Es ist besser, zu solchen "wilden Tänzen" für besser ausgebildete Spezialisten zu gehen, die verstehen, was die Abweichung von den klassischen Prozessen ist. Für eine Person ohne Erfahrung erzeugt die Arbeit in diesem Modus nur Brei im Kopf. Höchstwahrscheinlich wird er hier nichts Gutes lernen.

Wenn Sie mit Ihrem Arbeitsplatz kein Glück haben, ist es im Allgemeinen nicht erforderlich, dringend Dinge zu sammeln. Die Hauptsache ist, einen Spezialisten zu finden, auf den Sie sich bei der Suche nach den richtigen Lösungen verlassen können - eine Art Mentor und Berater. Der Mentor muss übrigens nicht unter Kollegen gesucht werden. Dies kann ein Außenseiter sein, der Ihnen sagt, was Sie studieren und wo Sie suchen müssen. Es ist wahr, dass ein Außenstehender wahrscheinlich nicht in den Gegenstand des Projekts eintaucht. Die Kommunikation mit ihnen muss wahrscheinlich über die NDA in Erinnerung bleiben.

Juni, Mitte, Senior. Gibt es einen Weg weiter?


Bei seinem Projekt ist der Tester normalerweise gezwungen, sich auf den vorhandenen Stapel von Technologien zu beschränken. Das Wechseln des Stapels sowie mutige Experimente sind normalerweise recht teuer oder mit einem Wechsel des Arbeitsplatzes verbunden. Im Rahmen des Stacks haben Sie jedoch bis zur höheren Ebene genügend Probleme - dies ist kein Jahr harter Arbeit und Selbstbildung.

Wenn es so aussieht, als hätten Sie die Obergrenze erreicht, können Sie sich zu Managern entwickeln oder „in die Breite gehen“ - um neue Rahmenbedingungen und Werkzeuge zu studieren und Ihren Preis auf dem Arbeitsmarkt zu erhöhen. Es ist wichtig, dass Sie beim Studium verschiedener Ansätze die sehr integrierte Vision haben, die Ihnen hilft, scheinbar unlösbare Probleme auch innerhalb Ihres Stapels besser zu lösen.

Wie in der Entwicklung gibt es beim Testen einen kleinen Teil der Aufgaben, die tiefere Kenntnisse beinhalten, beispielsweise Mathematik. Das Gespräch darüber beginnt dort, wo Mathematik auftaucht und in der Entwicklung selbst - bei hohen Belastungen usw. Dies ist ein weiterer Bereich mit potenziellem Wachstum für diejenigen, die wirklich große logische Strukturen in ihren Kopf einbauen können (und die sich mit Standardtestaufgaben langweilen). Es gibt nur sehr wenige solcher Aufgaben auf dem Markt. Aufgrund dieser Möglichkeiten bleibt jedoch die Möglichkeit einer weiteren Selbstentwicklung für diejenigen bestehen, die den Managementpfad der Entwicklung nicht beschreiten möchten.

Sitelinks


Testmaterialien sind unter http://www.protesting.ru/ verfügbar . Es gibt viel Theorie und ein wenig Praxis. Hier finden Sie grundlegende Informationen zu Testarten, Testfällen, Testplänen usw. Diese Ressource wurde zwar seit den 2000er Jahren entwickelt, sodass einige Informationen veraltet waren. Aber auf der Basis hier finden Sie wertvolle Beispiele.

Das Forum auf der Ressource https://software-testing.ru/forum/ ist eine Art Analogon von Habr für Tester (größtenteils für Automatisten). Genau auf der Anfangsebene gibt es viele nützliche Informationen - auf Habré im Testbereich gibt es fortgeschrittenere Artikel, und Texte für Anfänger erscheinen immer weniger und das Publikum akzeptiert schlechtere.

Zwei weitere gute Informationsquellen:https://tproger.ru/digest/free-software-testing-books/ und https://automation-remarks.com/ .

Vielen Dank an die Testspezialisten unseres Unternehmens für ihre Hilfe bei der Vorbereitung des Artikels!

PS Wir veröffentlichen unsere Artikel auf mehreren Websites der Runet. Abonnieren Sie unsere Seiten auf VK , FB , Instagram oder dem Telegrammkanal , um mehr über alle unsere Veröffentlichungen und andere Maxilect-Nachrichten zu erfahren.

All Articles