shift left testing secret mantra
Das neue Shift Left Testing, ein DevOps-Mantra in der Softwareentwicklung:
Ein schnelles Zusammenfassung aller Video-Tutorials in DevOps wurde in unserem früheren Tutorial erklärt. Jetzt werden wir sehen, wie Shift links getestet wird.
Wenn ich den Begriff 'Nach links verschieben' verwende, fragen Sie sich möglicherweise, worauf ich mich in einer Software auf 'Nach links verschieben' beziehe.
Vor mehr als zwei Jahrzehnten, als ich meine Karriere als Software-Tester begann, gab es keine separate „Testphase“ für die Softwareentwicklung, und die Rolle der Tester gab es nie. Entwickler haben die Software entwickelt, sich selbst getestet und eine Softwareversion erstellt.
Weiterführende Literatur => Informative DevOps Tutorial-Reihe
Das Konzept von Softwaretest wurde nach und nach eingeführt, als Defekte aus der Produktion das Budget des Projekts belasteten und daher „Funktionstests“ mit einem sehr schlanken Team von Testern in Kraft traten. Zu diesem Zeitpunkt waren wir nur zwei Tester gegen ein Team von 20 Entwicklern.
Die IT-Branche folgte dem Wasserfallmodell für die Softwareentwicklung, bei dem, wie wir alle wissen, der Lebenszyklus der Softwareentwicklung nacheinander in der Reihenfolge von abläuft Anforderungen => Design => Codierung => Testen .
Wenn Sie also von links nach rechts beginnen, befindet sich die Testphase ganz rechts im Lebenszyklus der Softwareentwicklung.
Was du lernen wirst:
- Einführung in das Konzept der Verschiebung nach links
- Was ist Shift Left Testing?
- Wie beeinflusst Shift Left die Softwareentwicklung?
- Was sollten Tester bei Linksverschiebung anders machen?
- Vorteile von Linksverschiebungstests
- Fazit
- Literatur-Empfehlungen
Einführung in das Konzept der Verschiebung nach links
Im Laufe der Zeit erkannten die Menschen die Bedeutung von Softwaretest und die Auswirkungen der Aufrechterhaltung der „Testphase“ ganz rechts oder am Ende des Softwareentwicklungslebenszyklus. Diese Erkenntnis geschah, weil die Kosten des nach rechts gerichteten Fehlers und am Ende sehr hoch waren und ein enormer Aufwand und zu viel Zeit erforderlich waren, um sie zu beheben.
Es gab Fälle, in denen die unternehmenskritische Software nach so viel Zeit und Mühe für eine Software aufgrund des am Ende festgestellten entscheidenden Fehlers nicht auf den Markt gebracht werden konnte, was zu einem enormen Verlust führte.
Daher wegen Identifizierung des Fehlers während der letzten Phase Entweder verzögerte sich die Veröffentlichung oder zeitweise wurde die Software verschrottet, indem der Aufwand berücksichtigt wurde, der erforderlich war, um sie zu beheben, was wirklich nicht wert war.
'Defekte sind weniger kostspielig, wenn sie frühzeitig erkannt werden'.
Diese Erkenntnis und die große Lektion führten zu einer großen Revolution in der Softwareindustrie und brachten ein neues Konzept hervor 'Nach links verschieben' Dies bedeutet, dass Sie die „Testphase“ von rechts nach links verschieben oder in jeder Phase testen und die Tester durchgehend einbeziehen.
Shift Left-Test bedeutet auch, dass Sie am Ende nicht testen, sondern kontinuierlich testen.
Was ist Shift Left Testing?
Erstens unterstützt das Prinzip der „Verschiebung nach links“ die Testteam, um frühzeitig mit allen Stakeholdern zusammenzuarbeiten in der Softwareentwicklungsphase. Somit können sie die Anforderungen klar verstehen und Entwerfen Sie die Testfälle um der Software 'Fail Fast' zu helfen und dem Team zu ermöglichen, alle Fehler frühestens zu beheben.
App, mit der Sie andere Telefone ausspionieren können
Der Shift-Left-Ansatz ist nichts anderes, als die Tester viel früher in den Softwareentwicklungszyklus einzubeziehen, was es ihnen wiederum ermöglicht, die Anforderungen, das Software-Design, die Architektur, die Codierung und deren Funktionalität zu verstehen und Kunden, Geschäftsanalysten und Entwicklern schwierige Fragen zu stellen , um Klarstellungen bitten und wo immer möglich Feedback geben, um das Team zu unterstützen.
Diese Einbeziehung und dieses Verständnis führen dazu, dass die Tester umfassendes Wissen über das Produkt erlangen, verschiedene Szenarien durchdenken und Echtzeitszenarien basierend auf dem Softwareverhalten entwerfen, die dem Team helfen würden, die Fehler zu identifizieren, noch bevor die Codierung abgeschlossen ist.
Wie beeinflusst Shift Left die Softwareentwicklung?
Der Shift-Lift-Ansatz beeinflusst die Softwareentwicklung auf verschiedene Weise.
Im Folgenden sind einige wichtige Punkte zu Shift Left aufgeführt:
- Der Ansatz von Shift Left konzentriert sich auf Einbeziehung der Tester in alle und vor allem in die kritischen Phasen des Programms . Dies ermöglicht es den Testern, ihren Fokus von der Fehlererkennung auf die Fehlervermeidung zu lenken und die Geschäftsziele des Programms voranzutreiben.
- Shift Left Ansatz bietet, hohe Bedeutung für das Testen womit die Rollen und die Verantwortung der Tester immens zunehmen.
- Da die Verantwortung für das Testteam erhöht wird, konzentriert sich das Team einfach nicht darauf ‘Testen der Software, um die Fehler zu identifizieren’ Wir arbeiten jedoch von Anfang an proaktiv mit dem Team zusammen, um eine robuste und effektive Teststrategie zu planen und aufzubauen, indem wir dem Team eine hervorragende Testführung und -führung bieten, indem wir uns auf die langfristige Vision des Produkts konzentrieren, anstatt nur die zu übernehmen Verantwortung für die Testarbeiten.
- Shift Left Ansatz gibt die Gelegenheit für die Tester, die Tests zuerst zu entwerfen Hier konzentrieren sich die Tests vollständig auf das Kundenerlebnis und ihre Erwartungen, was es den Entwicklern wiederum ermöglicht, die Software basierend auf diesen Tests zu entwickeln und damit die Kundenanforderungen zu erfüllen.
- Der Ansatz von Shift Left endet nicht nur bei den Testern. Ein Umzug in die Vermietung und die kontinuierliche Durchführung der Testaktivitäten werden ebenfalls erfolgen Ermöglichen Sie den Entwicklern, mehr Eigenverantwortung zu übernehmen ihres Codes und erhöhen ihre Verantwortlichkeiten beim Testen.
- Shift Left Ansatz ermutigt auch Tester zu adoptieren Verhaltensorientierte Entwicklung BDD und testgetriebene Entwicklung TDD Dies hilft bei der Verhinderung der Fehlerinduktion in die Software.
- Shift Left Testing in Agile: Shift Left Approach unterstützt das Formen Agiles Scrum Teams, zu denen obligatorisch Tester gehören zusammen mit den anderen Rollen und schließt Tester in regelmäßige Stand-up-Anrufe, andere Interaktionen und Überprüfungsbesprechungen ein, die es den Testern ermöglicht haben, mehr Informationen über das Programm zu erhalten, und es ihnen somit ermöglicht haben, sich der detaillierten Analyse der Software zu widmen und diese bereitzustellen Schnelle Rückmeldung, um die in der Software begründeten Fehler zu vermeiden.
Insgesamt Shift Left-Tests fordern die Tester auf ‘Frühzeitig mitmachen’ Nehmen Sie so früh wie möglich an der Diskussion teil und arbeiten Sie an Ideen und Anforderungen in jeder Phase zusammen, in der das Ergebnis der Phase einen Einfluss auf den Wert des endgültigen Ergebnisses hat. Außerdem helfen Sie dem Projekt, die Risiken zu identifizieren und im Voraus zu mindern.
Was sollten Tester bei Linksverschiebung anders machen?
Im Folgenden sind einige Schlüsselfaktoren aufgeführt, die zu beachten sind, was die Tester anders machen Strategie nach links verschieben:
# 1) Testteam muss Schon ab Projektbeginn frühzeitig in das System einsteigen um die Integration mit dem Rest des Teams und dem Unternehmen zu entwickeln Stellen Sie in jeder Phase nützliche Eingaben bereit der Softwareentwicklung.
#zwei) Das Testteam sollte mit dem Business & Operations-Team zusammenarbeiten und Klarheit über das Programm gewinnen und bieten einen klaren Überblick über die Nachfrage und helfen bei der effizienten Planung des Ressourcenanlaufbedarfs, des Schulungsbedarfs und der Anforderungen an Testwerkzeuge für das Programm frühzeitig.
#3) Testteams müssen zu Beginn der Softwareentwicklung mit allen Geschäftsinteressenten interagieren Erhalten Sie eine klare Sichtbarkeit des Produkts & Entwerfen Sie eine einheitliche Teststrategie Planen Sie einen optimierten Testaufwand, analysieren Sie die Abhängigkeit von Testumgebungen, Drittanbietern, Stubs usw., erstellen Sie eine robuste Automatisierungsstrategie und ein Framework und erstellen Sie einen effektiven Plan für das Testdatenmanagement.
# 4) Das Testteam muss bei der Bereitstellung mit dem Rest des Teams zusammenarbeiten Eine großartige Testführung und Anleitung für das Team Dabei wird die langfristige Produktvision im Auge behalten und nicht nur die Verantwortung für Testaktivitäten übernommen.
# 5) Anforderungen sind der Schlüssel und die Grundlage für den Erfolg eines Programms, und genau definierte Anforderungen bestimmen den Erfolg des Projekts. Während der Anforderungsplanungsphase Tester müssen die Anforderungen überprüfen und analysieren für Unklarheiten, bessere Klarheit, Vollständigkeit, Testbarkeit, Definition der Akzeptanzkriterien usw.
Sie müssen auch die fehlenden Anforderungen (falls vorhanden) identifizieren, die Abhängigkeiten und Implementierungsstrategien verstehen. Durch das Löschen von Anforderungen kann die Software schnell ausfallen und alle Fehler frühestens beheben.
# 6) Bringen Sie genügend Klarheit und Präzision in die Anforderungen, indem Sie die echte Beispiele die die verwendeten Funktionen veranschaulichen.
# 7) Tester müssen Nehmen Sie an Design Review Meetings teil Regelmäßig und verstehen Sie das Produktdesign und die Architektur und identifizieren Sie die Designfehler, schlagen Sie alternative Designoptionen vor, identifizieren Sie die Lücken und erstellen Sie entsprechende Testszenarien, um die Designs zu brechen.
# 8) Tester müssen durchführen Statische Prüfung (Bewertungen) frühzeitig und geben Sie Feedback zu wichtigen Projektdokumenten, damit verhindert wird, dass Fehler in der Software verankert werden und deren Wirkung später erweitert wird.
# 9) Das Testteam sollte mit dem Design- und Entwicklungsteam zusammenarbeiten bei der Bereitstellung von Testszenarien im Voraus zur Entwicklung des Codes und alle möglichen Echtzeitszenarien und Geschäftsabläufe ansprechen.
# 10) Testteam muss entwerfen starke und robuste Testszenarien so dass während des Testens nur wenige Fehler identifiziert werden und größere Fehler beim Eintritt in die Testphase verhindert werden.
#elf) Tester müssen Testen Sie so früh wie möglich , sei es auf einem eigenständigen oder lokalen System, damit der Defekt nicht in spätere Stadien gelangt.
Der springende Punkt des Konzepts „Shift Left“ für Tester besteht darin, die Fehler mit allen Mitteln so früh wie möglich zu finden.
Vorteile von Linksverschiebungstests
Der Shift-Left-Ansatz basiert auf dem agilen Manifest und hat auch mehrere Vorteile.
Sie sind:
- Individuen und Interaktionen über Prozesse und Werkzeuge.
- Arbeitssoftware über umfassende Dokumentation.
- Kundenzusammenarbeit über Vertragsverhandlungen.
- Auf Veränderungen reagieren über einen Plan folgen.
Wir können sehen, dass, während der Wert in den Elementen auf der rechten Seite vorhanden ist, wir mehr Wert für die Elemente auf der linken Seite haben.
Bei Shift Left geht es darum, die Idee des Testens früher in den Prozess einzubringen, was zu einem besseren und effizienteren Testen und einer Verbesserung der Qualität der Software führt.
Kurz gesagt, der Testprozess nach links verschieben ist:
- Das frühzeitige Erkennen der Mängel reduziert die Projektkosten.
- Immer wieder testen, um am Ende Fehler zu reduzieren.
- Alles automatisieren und die Markteinführungszeit verkürzen.
- Konzentration auf Kundenanforderungen und Verbesserung des Kundenerlebnisses.
Fazit
'Nach links verschieben' Das Konzept brachte eine enorme Veränderung für die gesamte Rolle des „Testens“ mit sich. Bis dahin lag der einzige Schwerpunkt des Testens nur auf der „Fehlererkennung“, und jetzt ist das Ziel der „Verschiebung nach links“ aus der Testperspektive eine Reise von „Früherkennung von Fehlern bei Fehlervermeidung ' .
Somit ist Shift Left ein großer Sprung in der Softwareindustrie in Bezug auf die Softwareentwicklungsmethode in Richtung Marktgeschwindigkeit, Verbesserung der Softwarequalität und Verkürzung der Markteinführungszeit.
Über den Autor: Dieser Artikel wurde von STH-Teammitglied Gayathri Subrahmanyam verfasst. Sie ist seit den 90er Jahren im Bereich Softwaretests tätig, als die Rolle des Testers in der Branche eingeführt wurde. Während ihrer Testkarriere hat sie neben der Abwicklung von Testlieferungen viele TMMI-Bewertungen, Testindustrialisierungsarbeiten und TCOE-Setups durchgeführt und die DevOps-Praxis für ein großes Engagement implementiert. Aber laut ihr hört das Lernen nie auf ...
Teilen Sie uns Ihre Gedanken / Vorschläge im Kommentarbereich unten mit.
Was ist die Implementierungsphase in der SDLC
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Software Testing QA Assistant Job
- Linksverschiebung der Qualität: Wie wichtig ist es beim Testen genauso wichtig wie Linksverschiebung?
- Softwaretestkurs: An welchem Softwaretestinstitut soll ich teilnehmen?
- Wählen Sie Software-Tests als Ihre Karriere
- Software Testing Technical Content Writer Freiberufler Job
- Einige interessante Fragen zu Softwaretests
- Feedback und Bewertungen zum Softwaretestkurs