Ist es 2023 im aktuellen Umfeld noch sinnvoll, auf Softwaretest umzusteigen?

Die aktuellen Rahmenbedingungen sind zwar nicht so gut wie in den Vorjahren, aber bei großen Internetkonzernen gibt es grundsätzlich Entlassungen, kleine und mittelständische Unternehmen sind von diesen Problemen nicht betroffen, aber wie heißt es so schön: „Risiken und Chancen bestehen nebeneinander“, Die Rahmenbedingungen sind zwar etwas anders, schleppend, aber es gibt noch viele Chancen. Daher gibt es noch viele Möglichkeiten, Softwaretesten zu lernen.

Einige Selbstlernpartner werden es sich zum Ziel des Selbststudiums machen, einen primären Testjob zu finden. Aber tatsächlich sind Ingenieure, die nur manuell testen können, auf dem Markt nicht sehr konkurrenzfähig. Ohne kontinuierliches Lernen nach der Arbeit kann es leicht eliminiert werden.

Es gibt zwei Technologie-Stacks in Bezug auf Mid-Level-Technologie: UI-Automatisierung und Schnittstellenleistung. Und es enthält zwei tatsächliche Kampfprojekte, es gibt WeChat-Applets und einen tatsächlichen Kampf für Finanzprojekte.

Ich bin ein autodidaktischer Softwaretester, ich bin ein wilder Weg, ohne professionellen Hintergrund. Lassen Sie mich meinen Test- und Lernweg teilen.

1. Einführungsphase der Prüfung

Wenn Sie vor einem Berufswechsel stehen oder gerade Absolventen in die Testing-Branche einsteigen möchten, müssen folgende Grundkenntnisse beherrscht werden:

  • Definition, Lebenszyklus, Workflow, Anforderungsanalyse von Softwaretests;
  • Design, Schreiben und Review von Testfällen;
  • Das Grundwissen über Fehler und die Verwendung von Zen Tao;
  • Erstellung von Prüfplänen und Prüfberichten;
  • Verwendung von SVN- und Git-Versionskontrolltools.

Nachdem Sie sich das theoretische Wissen zu den oben genannten Inhalten angeeignet haben, müssen Sie ein Projekt zum Testen finden:

  • 1. Veröffentlichen Sie das Projekt zur Projektgenehmigung und bilden Sie ein arbeitsteiliges Projektteam;
  • 2. Überprüfung der Anforderungen, lernen, wie man Anforderungsdokumente liest, Anforderungsanalysen durchführt und Testpunkte auflistet;
  • 3. Organisieren Sie Testpunkte, schreiben Sie Testfälle und führen Sie dann eine Überprüfung der Anwendungsfälle durch;
  • 4. Führen Sie Tests durch, wie z. B.: Funktion, Schnittstelle, Vorder- und Rückseite, Kompatibilität, Datenbank, und übermitteln Sie die gefundenen Fehler an Zen Tao.
  • 5. Testberichte analysieren, zusammenfassen und schreiben.

Nachdem Sie diesen Prozess gelernt haben, reicht es nicht aus, um einen Job zu finden, auch wenn es sich um einen Softwaretest für Einsteiger handelt. Was noch gelernt werden muss: Linux (Linux-Fernverbindung/Befehl/Datenbank), Datenbank, Testoberfläche, APP-Test.

2. Fortgeschrittenes Stadium

Leistung und automatisiertes Testen sind fortgeschrittene Stadien im Zusammenhang mit der Technologie. In dieser Phase müssen wir zunächst das Konzept und den Prozess der Leistungstests verstehen.

  • Analyse häufiger Probleme, beliebter Tools, Programmdesign
  • Leistungstest-Tools: die Verwendung und tatsächliche Bekämpfung von jmeter-Tools, jmeter-Multiprotokoll, Erweiterung und Anpassung, verteilte Drucktests und Aufgabenplanung;
  • Leistungsüberwachung: Leistungsüberwachungssystem und Überwachung der Datenerfassung
  • Leistungsimplementierung: Verteilte Dienstdrucktests, Szenariodesign, Szenarioausführung; Testergebnis-Korrelationsanalyse, TPS, Reaktionszeit, Thread-Korrelationsanalyse, Druck- und Ressourcennutzungs-Korrelationsanalyse
  • Leistungsanalyse und Berichterstellung: jvm-Debugging und System-Debugging, Analyse von Leistungsengpässen

Zwischen Leistung und Automatisierung müssen Sie eine Programmiersprache lernen, und Python wird im Allgemeinen gewählt. Python+Selenium ist die goldene Kombination der Web-Automatisierung, und Appium ist die erste Wahl für die mobile Automatisierung. Python muss Inhalte lernen:

  • Python-Grundlagen: Python-Sprachfunktionen, Betriebsumgebung, grundlegende Grammatik, Codestil, Beispielprogramme
  • Datenstruktur: grundlegende Datenstruktur: Zahl, Zeichenfolge, Typurteil, Typumwandlung, Slice, - Zeichenfolgenformatierung, numerische Operation, Positionsparameter und Schlüsselwortparameter; kombinierte Datenstruktur: Liste, Tupel, Bereich, Wörterbuch, Menge, Nicht-Hash-Objekt , Entpacken, Adresse der Speicherdatenstruktur, unveränderliche Daten
  • Programmsteuerung: Sequenzstruktur, Schleifenstruktur, Beurteilungsstruktur, Ausnahmebehandlung, logische Operatoren
  • Funktionen: Definieren Sie Funktionen, Funktionsparameter, Rückgabewerte, Variablenbereich, anonyme Funktionen, häufig verwendete integrierte Funktionen
  • Module und Bibliotheken: Module und Pakete, Schlüsselwörter importieren, gemeinsame Standardbibliotheken, gemeinsame Bibliotheken von Drittanbietern, Paketverwaltungstool pip
  • Objektorientiert: Ursprung und Vorteile des Objektorientierten, der Zusammenhang zwischen objektorientierten Merkmalsklassen und Objekten und die speziellen Methoden von Objekten
  • Protokollierung: baseConfig, Dateiprotokolle, E-Mail-Protokolle, benutzerdefinierte Formate, integrierte Platzhalter, Ebenenfilterung, Ebenenweitergabe, Konfigurationsdateien
  • Testframework: unitest, pytest usw.
  • Nebenläufige Programmierung: Multi-Prozess, Multi-Thread, Coroutine, Thread-Pool, Synchronisationskontrolle, Thread-Kommunikation, verteilt, Monkey-Patch, asynchrone Syntax, Generator
  • Netzwerkprogrammierung: Grundlagen der Socket-Programmierung, TCP-Server und -Client, Parallele Request-Verarbeitung, HTTP-Server und -Client

Bildbeschreibung hier einfügen 

Leistungstests zum Erlernen von Inhalten:

Die technischen Anforderungen an Leistungstests sind sehr hoch, es ist nicht nur ein tiefes Verständnis von Leistungstestindikatoren, Testklassifizierung und Testdesign erforderlich. Sie müssen sich auch mit Systemgeschäft und -architektur vertraut machen, damit Sie Leistungsszenarien besser entwerfen können.

  • Grundlegende Leistungskonzepte: Bedeutung von Leistungstests, Verständnis allgemeiner Leistungsindikatoren, Klassifizierung von Leistungstests
  • Leistungstestprozess: Analyse der Leistungsanforderungen, Entwurf von Leistungsszenarien, Schreiben von Testskripten, Überwachung der Testausführungsressourcen, Leistungsoptimierung, Regressionstests
  • Verwendung von Jmeter und Loadrunner
  • Ausgabe des Leistungstestberichts
     

 Bildbeschreibung hier einfügen

Die zu lernenden Inhalte im automatisierten Schnittstellentest sind:

Das Wesen des Interface-Tests stellt auch eine Art Funktionstest dar. Durch Skripte oder Tools ruft der simulierte Client die Server-Schnittstelle auf. Da es von der Schnittstellenschicht aus getestet wird, können Probleme früher gefunden werden, wodurch die Testeffizienz verbessert und die Reparaturkosten gesenkt werden.

  • Lernen des http/httpst-Protokolls
  • Lernen gemeinsamer Anfragemethoden: GET, POST
  • Cookie- und Sitzungslernen
  • Grundlegende Konzepte von Schnittstellen
  • Verständnis von Schnittstellendokumenten
  • Schreiben von Schnittstellentestfällen
  • Verwendung von Interface-Testing-Tools: Postman, Jmeter, SoapUl

 Bildbeschreibung hier einfügen

Was Sie beim Testen der Webautomatisierung lernen sollten, ist:

Verstehen Sie den Zweck der Automatisierung, beherrschen Sie das TestNG&unittest-Automatisierungsframework sowie die Assertions- und Protokollverarbeitung; Studenten, die Tests durchführen, wissen, dass wir hauptsächlich Selenium oder QTP für die Webautomatisierung verwenden, hier müssen wir die Konstruktion der Webautomatisierungsumgebung von Selenium beherrschen und die Browserkonfiguration korrigieren.

Bildbeschreibung hier einfügen

Der Lerninhalt des App Automation Testing umfasst folgende Wissenspunkte:

Immer mehr Projekte und Systeme bieten Dienste über das mobile Endgerät an, und die Softwarequalität des mobilen Endgeräts wird immer wichtiger.Automatisiertes Testen von Apps ist zu einem wichtigen Bestandteil des automatisierten Testens geworden. Mit Hilfe von Appium gibt es viele Ähnlichkeiten zwischen dem Testen der App-Automatisierung und dem Testen der Web-Automatisierung, aber als Testingenieur müssen Sie dennoch die Tools und Funktionen mobiler Anwendungen beherrschen.

  • Aufbau der mobilen Appium-Testumgebung: Appium ServerAppium und Desktop, Aufbau der Android-Betriebsumgebung, Installation und Verbindung des Emulators, Debugging-Modus für echte Geräte, adb, weditor, UiAutomator22, Monkey
  • Positionierung von Appium-Elementen: Positionierung von nativen Anwendungselementen, Positionierung von reinen Webanwendungselementen, Positionierung von hybriden Anwendungselementen
  • Interaktion mit Appium-Elementen: Warten auf das Laden von Elementen, grundlegende Eigenschaften und Methoden von Elementen, Schieben, Ziehen, Zoomen, Dropdown-Auswahlvorgänge, Toast-Nachrichtenverarbeitung, gemeinsame Steuerungsanalyse, gemeinsame Layoutanalyse
  • Pakettest-Framework: Integration von Appium, adb und anderen Tools, vordefinierte Ausnahmebehandlung, Aufzeichnung von Appium-Protokollen, Screenshots, Erstellung eines Mehrzweck-Testframeworks
     

 Bildbeschreibung hier einfügen

3. Zwei echte Software, die echte Projekte testet

Der Test spricht nur über das Niveau und das Niveau der technischen Fähigkeiten.Was kann am besten beweisen, in welchem ​​​​Stadium sich das technische Niveau befindet, dh im Prozess der Arbeit am Projekt, der Qualität des geschriebenen Codes und der Fähigkeit zur Fehlerbehebung des Brunnens -entwickelte Internet-Produkte, wie wäre es mit der Fähigkeit, Fehler zu finden, wie wäre es mit der Fähigkeit, das Gesamtlayout von Funktionsmodulen zu konzipieren, und so weiter. Wenn Sie als Anfänger die Einstiegsebene erreichen möchten, müssen Sie über die Programmierkenntnisse einiger einfacher Projekte verfügen. Das Wichtigste für Anfänger ist, Ihr eigenes Testdenken zu kultivieren. Jedes Programm ist anders und Sie können sich nicht alle merken. , Es ist kein Auswendiglernen, man kann sich nur beschäftigen, wenn man selbstständig etwas schreiben kann.

Daher kann die Fähigkeit, Projekte zu machen, verwendet werden, um den Stand eines Lernniveaus zu messen, und oft haben diejenigen, die sagen, „ich werde“, oft nicht viel Code geschrieben, und ein Projekt kann nicht durchgeführt werden Ich weiß nicht, was ich lernen soll, nachdem ich den Test gelernt habe, und ich weiß nicht, wohin ich gehen soll.

Im gesamten Lernprozess muss ein Anfänger zwei Projekte haben, die erhalten und in den Lebenslauf geschrieben werden können, als Kapital für die Jobsuche, und er muss die Besonderheiten dieser beiden Projekte gut verstehen, bevor er es endlich kann Wenn das Interview erfolgreich ist, wenn ein Anfänger nach dem Erlernen aller Inhalte nicht das Niveau erreichen kann, einfache Projekte zu machen, dann ist sein gesamter Lernprozess immer noch umsonst.Wenn das ultimative Lernziel nicht erreicht ist, ist die Lernqualität nicht gut genug. Daher hoffe ich, dass sich alle über die Wichtigkeit des Projekts im Klaren sind, denn es gibt zu viele Anfänger, die nicht wissen, was der Zweck des Abschlussstudiums ist, und schließlich Zeit umsonst verschwenden.

Eine Web-Test-Praxis
 

 

Bildbeschreibung hier einfügen
Eine Schnittstellentestpraxis

Bildbeschreibung hier einfügen

 

Das Erlernen jeder Fähigkeit basiert auf Praxis, und die IT-Branche legt besonderen Wert auf Projekterfahrung. Wenn du nicht übst, ist es, als würdest du einen halben Tag lang die Theorie des Schießens lernen, aber du hast überhaupt keine Gelegenheit, die Waffe anzufassen. Glaubst du, du kannst genau schießen? Wenn Sie das Softwaretesten gut lernen und ein tieferes Verständnis für Technologie haben möchten, müssen Sie mehr praktische Operationen durchführen. Ohne den Kompetenzbonus ist es egal, wie viel Sie lernen, es ist nur auf dem Papier. Sobald Sie vor echten Problemen stehen, werden Sie es tun habe keine Möglichkeit anzufangen.

Zusammenfassen

Wenn Sie wirklich in Erwägung ziehen, in die Testbranche einzusteigen, ist das systematische Erlernen der Technologie der Testentwicklung der einzige Ausweg. Nur so können wir das über mehrere Jahre angesammelte Können eines Junior-Testers aufholen

Der größte Vorteil der Anmeldung zum Lernen ist, dass es effizient und schnell ist. Es gibt Lehrer, die jederzeit anleiten und Probleme lösen können.

Das größte Problem beim Selbststudium ist, dass wenn man beim Selbststudium auf Probleme stößt und Fehler meldet, man diese nur lösen kann, indem man überall sucht und fragt. Wenn Sie auf ein Problem oder einen technischen Punkt stoßen, suchen Sie im Internet nach einigen Artikeln und finden Sie technische Foren, um Fragen zu stellen und mehr darüber zu erfahren. Obwohl fragmentiertes Lernen weniger Zeit in Anspruch nimmt, ist der Effekt schwer zu garantieren.

Erstens ist die Lernbasis für einen Berufswechsel 0, und es ist unmöglich, im Selbststudium auf alle Probleme einer bestimmten Technologie zu stoßen, zweitens kennt man auf diese Weise nur die verstreuten technischen Punkte ein, aber nicht wissen, die technischen Punkte zwischen diesen technischen Punkten. Am Beispiel HTTP-Cache können Sie, wenn Sie einfach nach „HTTP Cache-Control“ suchen, die Bedeutung von Begriffen wie No-Cache und No-Store kennen. Aber Sie können die technischen Aspekte des gesamten HTTP-Cache-Protokolls, der Browser-Verarbeitungslogik und des Server-Verarbeitungsmechanismus nicht lernen, und sie müssen gemeistert werden, wenn Sie Probleme mit der HTTP-Leistung analysieren oder Webseiten optimieren.

Es gibt niemanden, der unterrichtet, anleitet, Zweifel löst und Fragen zum Selbststudium beantwortet. Als würde man im Dunkeln tappen. Ich bestreite nicht, dass Sie nicht selbst lernen dürfen. Es ist nur so, dass dieser Prozess einen enormen Zeitaufwand kostet. Aber das ist der Widerspruch der Leute, sie wollen nicht zu viel Zeit kosten, aber auch nicht zu viel Geld bezahlen. Dann müssen Sie die entsprechenden Risikokosten tragen. Das heißt, ein paar Monate Selbststudium und feststellen, dass es völlig wirkungslos ist, sich dann für ein paar Monate in einen Kurs einschreiben und schließlich um ein halbes Jahr oder sogar ein Jahr hinauszögern.

Sprechen Sie dann über die Mädchen, die den Test machen

Gender-Fragen dürften häufig gestellt werden, so lässt sich sagen, dass unter allen technischen Positionen im Internet der Anteil der Tester unter den Testern am größten ist. fast 50 % des Anteils. Es gab einen Fehler im Code des R&D-Teams, und nachdem die Mädchen Feedback gegeben hatten, konnten die Jungs in R&D nichts sagen, sie änderten ihn einfach stillschweigend, was gut für die Teamarbeit war. Ein weiterer Grund ist, dass Mädchen vorsichtiger sind und die Testarbeit im Allgemeinen intermittierend und intensiv ist, nicht so häufig wie F&E-Überstunden. Im Allgemeinen werden die Obergrenze von Versionsfreigaben und neuen Produkten nur dann Überstunden machen, wenn die Testarbeiten schnell abgeschlossen sind. Viele Studierende, die seit vielen Jahren Prüfungen absolvieren, können sich daher um Familie und Beruf kümmern.

Der Einstieg in die IT-Branche als technischer Beruf findet immer noch Möglichkeiten, die persönliche Wettbewerbsfähigkeit zu verbessern. Jeder wünscht sich mehr Geld und weniger Arbeit in Wohnortnähe, Angebote gibt es viele, Jobs sind frei wählbar. Die Prämisse ist, dass Sie über dieses technische Kapital verfügen. Die Verbesserung der persönlichen technischen Fähigkeiten in der Industrie ist ein Marathon. Es gibt Nachteile für Quereinsteiger, aber es gibt auch viele Quereinsteiger. Manuelles Funktionstesten, Es gibt viele Menschen, die kurz davor stehen, eliminiert zu werden und ihre Arbeit zu verlieren.

Funktionsprüfungen sind derzeit schwer zu finden, da die Nachfrage gesättigt ist. Wenn Sie sich jetzt die Rekrutierung großer Unternehmen ansehen, müssen sie alle getestet und Code geschrieben werden. In der Ausbildung ist nur Testentwicklung Code zu lernen.

Es ist einfach, einmal exzellent zu sein, aber es ist schwierig, dauerhaft gut zu sein.

Wenn Sie außerdem eine Organisation suchen, um sich in einen Kurs einzuschreiben, müssen Sie eine zuverlässige finden. Hier sage ich Ihnen, worauf Sie achten müssen. Es gibt in der Tat viele Dinge, auf die Sie achten müssen. Denn auf dem aktuellen Berufsbildungsmarkt gibt es in der Tat viele schlechte Institutionen und skrupellose Institutionen. In der Branche herrscht viel Chaos.

Die Abgrenzung lässt sich an mehreren Aspekten ablesen: Professionalität, Kursleistungen, Anstellung, kurstechnische Goldinhalte, Projektset

Wenn Sie wirklich in das Softwaretesten einsteigen wollen, schlage ich vor, dass Sie sich auf das CTI-Bildungsstudium beziehen, für das sich Ihr Mitbewohner damals angemeldet hat.Er hat seit fast 2 Jahren den Beruf gewechselt, und ich rate Ihnen, nicht zig zu verbringen Tausende von Gebühren, um Fehler zu machen und Zeit zu verschwenden.

Die oben genannten sind alle Ratschläge von einer Schraube.

 

Abschließend möchte ich allen danken, die meinen Artikel aufmerksam gelesen haben. Gegenseitigkeit ist immer notwendig. Obwohl es keine sehr wertvolle Sache ist, können Sie es sich nehmen, wenn Sie es brauchen:

Diese Materialien sollten das umfassendste und vollständigste Vorbereitungslager für [Softwaretest]-Freunde sein. Dieses Lager hat auch Zehntausende von Testingenieuren durch die schwierigste Reise begleitet, und ich hoffe, es kann Ihnen helfen! Partner können auf die kleine Karte unten klicken bekommen  

Supongo que te gusta

Origin blog.csdn.net/kk_lzvvkpj/article/details/130169856
Recomendado
Clasificación