Pfad QA Kämpfer

Ein kurzer Überblick über Ihre Karriereentwicklungsmöglichkeiten in der Qualitätskontrolle und Qualitätssicherung.

Wo soll ich anfangen?


Angenommen, Sie planen eine Karriere in der IT und haben zum ersten Mal von QS gehört. Jetzt wollen Sie herausfinden, was es ist.





QS ist ein Prozess zur Sicherstellung der Qualität eines Softwareprodukts in allen Phasen der Entwicklung. In der GUS wird dieser Begriff jedoch häufig für Softwaretests verwendet.

Was braucht ein Anfänger, um den Weg eines Qualitätskämpfers zu beschreiten? Jetzt lass es uns herausfinden.

Für die meisten Unternehmen und Projekte reicht es aus:

  • Eine Vorstellung vom Softwareentwicklungsprozess (eine technische Ausbildung in der Nähe des IT-Bereichs ist von Vorteil, aber wie die Erfahrung vieler Kollegen zeigt, ist dies keine Voraussetzung);
  • Kenntnis der Grundprinzipien von Softwareprodukten (mobile oder eigenständige Anwendungen, Standorte, je nach Unternehmensprofil);
  • Kenntnis der Testtheorie, ein grundlegendes Verständnis des Testdesigns, welche Art von Testdokumentation stattfindet und woher sie stammt (dies ist sehr einfach zu googeln, wenn Sie dies wünschen);
  • Die Fähigkeit, schnell mit dem TMS-System umzugehen;
    habr.com/de/post/461205
  • Der Wunsch, neue Dinge zu lernen, schnell zu verstehen, wie die Software jetzt funktioniert und wie sie funktionieren sollte.

Wenn die oben genannten Punkte machbar sind, können wir auf die Straße gehen.

OK, wohin gehen wir?

Als Nächstes werden wir darüber sprechen, in welche Richtung gepumpt werden soll und welche Ergebnisse erzielt werden können, wenn Sie Ihren Weg in der IT mit Qualitätssicherung beginnen.

Rollen in der Qualitätssicherung


Sie können eine Richtung wählen, ohne den Tätigkeitsbereich zu ändern, und sich als engerer Spezialist entwickeln. Oder kombinieren Sie mehrere Rollen. Sie müssen die Strategien und Testarten in verschiedenen Entwicklungsmethoden beherrschen , lernen , Testmanagement- Tools ( TestLink , TestRail , Test IT usw.) und Fehlerverfolgungssysteme (Jira, Redmine) zu verwenden - dieses Wissen und diese Fähigkeiten sind für alle QS-Ingenieure von grundlegender Bedeutung . Die beliebtesten Spezialisierungsoptionen sind automatisierte Tests und Lasttests.

Manuelle Prüfung


Wenn Sie mehr Ressourcen für die Entwicklung von Autotests als für das Produkt selbst aufwenden müssen, ist es einfacher / billiger / schneller, neue Funktionen mit Ihren Händen zu überprüfen.

Viele Leute denken, dass manuelles Testen etwas Einfaches ist und jeder damit umgehen kann. Tatsächlich erfordert manuelles Testen viele Fähigkeiten. Manuelle Tester lösen die Aufgaben, die andere nicht bewältigen können.

Für manuelle Tests benötigen Sie:

  • Hohe analytische Fähigkeiten. Von Ihnen werden nicht nur Fehler erwartet, sondern auch Vorschläge, wie Sie es besser machen können. Schließlich können Sie beispielsweise die Benutzerfreundlichkeit nur manuell überprüfen.
  • Kreativität In modernen Entwicklungsrealitäten sind die Anforderungen nicht immer vollständig und die Tester sehen sich mit der Tatsache konfrontiert, dass sie viele Optionen für die Verwendung der von ihnen getesteten Systeme durchdenken müssen.
  • Pflege der Testdokumentation. Ein guter Tester hat immer einen klaren Aktionsplan und Testaktivitäten, die auf Anforderungen und Fristen basieren.
  • Kenntnisse und Erfahrungen mit dem Testmanagementsystem;
  • Besitz von Tools für die Arbeit mit HTTP-Anfragen (Postman, Curl);
  • Kenntnisse in Datenbanken, die Fähigkeit, SQL-Abfragen zu schreiben.

Und vieles mehr hängt von der Branche und dem Bereich ab, für den die Entwicklung fortgesetzt wird. Dies kann mit hochspezialisierten Programmen und Hardware geschehen.

Testautomatisierung


Automatisierte Tests helfen dabei, neue Funktionen schneller freizugeben, schneller zu testen und manuelle Tests zu reduzieren.

Was kann also erforderlich sein, um die Tests zu automatisieren?

  • Es wird notwendig sein, Code beispielsweise in Java oder Python zu schreiben.
  • Master-Automatisierungswerkzeuge (Selen, Katalon);
  • Grundkenntnisse in HTML, CSS, XPath;
  • Fähigkeit zur Arbeit mit Versionskontrollsystemen und Code-Repositorys;
  • API-Kenntnisse;
  • Kenntnisse über CI / CD-Systeme (Jenkins, TeamCity usw.).

Wenn Sie glauben, bereit zu sein, können Sie das einfachste Testskript, das tausendmal wiederholt wurde, verwenden und versuchen, es zu automatisieren - es wird Ihnen sicherlich gefallen

Lasttest


Die Bedeutung von Stresstests besteht darin, die Qualität eines Systems zu messen, das unter einer bestimmten Last arbeitet. Durch Leistungstests können Sie die Skalierbarkeit, Fehlertoleranz und Stabilität des Softwareprodukts bestimmen.

Die Arbeit von Spezialisten in diesem Profil umfasst das Sammeln von Daten zur Anwendungsleistung, Antwortzeit und Fehlerlokalisierung unter einer Last, die die normalen Systemnutzungsszenarien übersteigt.

Die wichtigsten Fähigkeiten für diejenigen, die Stresstests durchführen möchten:

  • Kenntnis der Architektur des zu testenden Systems. Um in Leistungstests eintauchen zu können, müssen Sie die Entwicklungssprachen und Frameworks lernen, die zum Erstellen des Produkts verwendet werden.
  • Fähigkeit zur Entwicklung und Analyse von Lastprofilen;
  • Wieder programmieren. Für Lasttestskripte wie Java, Python, JavaScript, C ++, C # und spezielle Frameworks, z. B. Gatling;
  • Kenntnisse der Hardware- und Netzwerkarchitektur. Oft kann Hardware die Ursache für eine Verringerung der Anwendungsleistung sein. Sie müssen in Konzepten wie Speicher, Prozessor, Netzwerkbandbreite navigieren und Daten darüber analysieren können.

Testanalyst


Testanalyst ist eine Person, deren Aufgabe es ist, Testartefakte basierend auf den Anforderungen zu erstellen. In kleinen Teams werden diese Aufgaben von einem normalen Tester gelöst, während in großen Teams die Funktionen des Testens und des Testdesigns häufig klar zwischen Personen aufgeteilt sind.

Eine ideale Kette von Interaktionen würde folgendermaßen aussehen:

  • Der Analyst priorisiert die Tests und erstellt eine logische Karte des Projekts.
  • Der Testanalyst beginnt auf der Grundlage dieser Informationen mit der Entwicklung von Tests.
  • Der Tester testet die beschriebenen Testfälle (ja, hier ist ein Satz).



Alternative Karrierewege. Gibt es ein Leben nach der Qualitätssicherung?


Systemanalytiker


Haben Sie während Ihrer Karriere mit schlecht beschriebenen Anforderungen zu kämpfen? Sie haben die Möglichkeit, das Problem zu beheben. Sie kommunizieren mit Benutzern des Systems, erfassen und analysieren Anforderungen und zeichnen sie dann in der Dokumentation auf. Die enge Interaktion mit Entwicklern und die Erfahrung eines Qualitätssicherungsingenieurs tragen dazu bei, dass die Anforderungen vollständig und ausgearbeitet sind. Darüber hinaus sind die Teilnahme an der Implementierung, die Schulung der Benutzer und das Sammeln von Rückmeldungen zur Wirksamkeit des Systems möglich.

Business Analyst


Der Hauptvorteil, den Tester gegenüber Entwicklern haben, besteht darin, dass sie Kenntnisse im Fachgebiet und im Geschäftsbereich erwerben. Eine häufige Option für einen Tester, sich auf einem Karriereweg zu bewegen, ist der Wechsel zu Business Analytics. Als Business Analyst beteiligen Sie sich an der Erstellung von Produktanforderungen für das Unternehmen.

Manager


Angenommen, es ist für Sie einfacher, mit Personen als mit Datenbanken zu kommunizieren. Dann können Sie die Rolle eines Managers ausprobieren. Fachleute für Qualitätssicherung haben ein tiefes Verständnis dafür, wie Software besser gemacht werden kann. Wenn Sie bereit sind, schwierige Entscheidungen zu treffen und die volle Verantwortung dafür zu tragen, gibt es keine Probleme. Auch hier gibt es eine Niederlassung, zum Beispiel: Projektmanager, Ressourcenmanager, Testmanager usw. Es hängt alles von den Prozessen ab, die im Unternehmen aufgebaut sind.

Entwickler


Oft gehen Tester kopfüber in die Entwicklung, wie Neben Programmierern ist es viel einfacher, ihr Handwerk zu erlernen, als eine spezielle Ausbildung zu erhalten. Darüber hinaus werden sie Ihnen sagen, prompt und helfen. Dies ist ein guter Weg, um eine Karriere zu beginnen und sich von innen mit dem Entwicklungsprozess vertraut zu machen. Vor allem, wenn Sie bereits Programmiersprachen kennen und sich mit Testautomatisierung beschäftigen. Die Hauptsache ist das Verlangen.

Wenn Sie etwas verpasst haben, freue ich mich, es in den Kommentaren zu diskutieren!

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


All Articles