Agiles Testen - Tester im Team

Agile Development ist teamorientiert und Entwickler und Tester nehmen an allen Projekt- und Entwicklungsaktivitäten teil. Die Teamarbeit maximiert den Erfolg von Tests in agilen Projekten.

Ein Tester in Agile-Team muss an allen Projektaktivitäten teilnehmen und dazu beitragen und gleichzeitig das Know-how beim Testen nutzen.

Ein agiler Tester sollte über traditionelle Testfähigkeiten verfügen. Darüber hinaus benötigt Agile Tester -

  • Gute zwischenmenschliche Fähigkeiten.

  • Fähigkeit, mit Teammitgliedern und Stakeholdern positiv und lösungsorientiert zu handeln.

  • Fähigkeit, kritisches, qualitätsorientiertes und skeptisches Denken über das Produkt zu zeigen.

  • Fähigkeit, proaktiv zu sein, um aktiv Informationen von den Stakeholdern zu erhalten.

  • Fähigkeiten zur effektiven Zusammenarbeit mit Kunden und Stakeholdern bei der Definition testbarer User Stories, den Akzeptanzkriterien.

  • Talent, ein gutes Teammitglied zu sein, das mit Entwicklern bei der Erstellung von Qualitätscode zusammenarbeitet.

  • Verwendbarkeit von Testfähigkeiten, um die richtigen Testfälle zur richtigen Zeit und auf dem richtigen Niveau zu haben und sie innerhalb der Sprintdauer gut auszuführen.

  • Fähigkeit, Testergebnisse, Testfortschritte und die Produktqualität zu bewerten und zu melden.

  • Offenheit, schnell auf Änderungen zu reagieren, einschließlich Ändern, Hinzufügen oder Verbessern von Testfällen.

  • Potenzial zur Selbstorganisation der Arbeit.

  • Begeisterung für kontinuierliches Kompetenzwachstum.

  • Kompetenz in Testautomatisierung, testgetriebener Entwicklung (TDD), akzeptanztestgetriebener Entwicklung (ATDD), verhaltensgetriebener Entwicklung (BDD) und erfahrungsbasiertem Testen.

Rolle des Testers im agilen Team

Das Tester in Agile Team nimmt an allen Projekt- und Entwicklungsaktivitäten teil, um das Beste aus der Testkompetenz herauszuholen.

Agile Tester Aktivitäten umfassen -

  • Sicherstellen, dass die Testwerkzeuge ordnungsgemäß verwendet werden.

  • Konfigurieren, Verwenden und Verwalten der Testumgebungen und der Testdaten.

  • Mentoring anderer Teammitglieder in relevanten Aspekten des Testens.

  • Sicherstellen, dass während der Release- und Sprint-Planung geeignete Testaufgaben geplant werden.

  • Teststrategie verstehen, implementieren und aktualisieren.

  • Zusammenarbeit mit Entwicklern, Kunden und Stakeholdern bei der Klärung von Anforderungen in Bezug auf Testbarkeit, Konsistenz und Vollständigkeit.

  • Durchführen der richtigen Tests zur richtigen Zeit und auf den richtigen Teststufen.

  • Fehler melden und mit dem Team zusammenarbeiten, um sie zu beheben.

  • Messen und Berichten der Testabdeckung über alle anwendbaren Abdeckungsdimensionen.

  • Teilnahme an Sprint-Retrospektiven, proaktives Vorschlagen und Implementieren von Verbesserungen.

Im agilen Lebenszyklus spielt ein Tester eine wichtige Rolle in -

  • Teamwork
  • Testplanung
  • Sprint Zero
  • Integration
  • Agile Testpraktiken

Zusammenarbeit

In der agilen Entwicklung ist Teamwork von grundlegender Bedeutung und erfordert daher Folgendes:

  • Collaborative Approach- Zusammenarbeit mit funktionsübergreifenden Teammitgliedern in Bezug auf Teststrategie, Testplanung, Testspezifikation, Testdurchführung, Testauswertung und Berichterstattung über Testergebnisse. Einbringen der Testkompetenz in Verbindung mit anderen Teamaktivitäten.

  • Self-organizing - Planen und organisieren Sie sich gut innerhalb der Sprints, um die Testziele zu erreichen, indem Sie das Fachwissen anderer Teammitglieder zusammenführen.

  • Empowerment - Treffen geeigneter technischer Entscheidungen zur Erreichung der Teamziele.

  • Commitment - Verpflichtung, das Verhalten und die Eigenschaften des Produkts gemäß den Anforderungen der Kunden und Stakeholder zu verstehen und zu bewerten.

  • Transparent - Offen, kommunizierend und rechenschaftspflichtig.

  • Credibility- Gewährleistung der Glaubwürdigkeit der Teststrategie, ihrer Implementierung und Ausführung. Halten Sie die Kunden und Stakeholder über die Teststrategie auf dem Laufenden.

  • Open to Feedback- Teilnahme an Sprint-Retrospektiven, um aus Erfolgen und Misserfolgen zu lernen. Ich suche Kundenfeedback und handle schnell und angemessen, um qualitativ hochwertige Ergebnisse zu erzielen.

  • Resilient - Auf Änderungen reagieren.

Testplanung

Die Testplanung sollte während der Release-Planung beginnen und während jedes Sprints aktualisiert werden. Die Testplanung sollte die folgenden Aufgaben abdecken:

  • Definieren des Testumfangs, des Testumfangs, der Test- und Sprintziele.

  • Festlegen der Testumgebung, Testtools, Testdaten und Konfigurationen.

  • Zuweisen von Tests von Merkmalen und Eigenschaften.

  • Planen von Testaufgaben und Definieren der Häufigkeit von Tests.

  • Identifizierung von Testmethoden, -techniken, -werkzeugen und -testdaten.

  • Feststellen von Voraussetzungen wie Vorgängeraufgaben, Fachwissen und Schulung.

  • Identifizieren von Abhängigkeiten wie Funktionen, Code, Systemkomponenten, Anbieter, Technologie, Tools, Aktivitäten, Aufgaben, Teams, Testtypen, Teststufen und Einschränkungen.

  • Festlegen von Prioritäten unter Berücksichtigung der Kunden- / Benutzerbedeutung und -abhängigkeiten.

  • Ankunft zu der Zeitdauer und dem Aufwand, die zum Testen erforderlich sind.

  • Identifizieren von Aufgaben bei jeder Sprintplanung.

Sprint Zero

Sprint Zero beinhaltet Vorbereitungsaktivitäten vor dem ersten Sprint. Ein Tester muss bei den folgenden Aktivitäten mit dem Team zusammenarbeiten:

  • Umfang identifizieren
  • Teilen von User Stories in Sprints
  • Systemarchitektur erstellen
  • Planen, Erwerben und Installieren von Tools (einschließlich Testtools)
  • Erstellen der ersten Teststrategie für alle Teststufen
  • Testmetriken definieren
  • Angabe der Akzeptanzkriterien, auch Definition von „Fertig“ genannt
  • Ausstiegskriterien definieren
  • Scrum Board erstellen
  • Festlegen der Testrichtung während der Sprints

Integration

In Agile sollte ein qualitativ hochwertiges Arbeitsprodukt zu jedem Zeitpunkt im Entwicklungslebenszyklus zur Veröffentlichung bereit sein. Dies impliziert eine kontinuierliche Integration als Teil der Entwicklung. Ein agiler Tester muss die kontinuierliche Integration mit kontinuierlichen Tests unterstützen.

Um dies zu erreichen, muss ein Tester -

  • Verstehen Sie die Integrationsstrategie.
  • Identifizieren Sie alle Abhängigkeiten zwischen Funktionen und Merkmalen.

Agile Testpraktiken

Ein agiler Tester muss die agilen Praktiken für das Testen in einem agilen Projekt anpassen.

  • Pairing- Zwei Teammitglieder arbeiten an derselben Tastatur zusammen. Während einer von ihnen testet, überprüft / analysiert der andere Test. Die beiden Teammitglieder können sein

    • Ein Tester und ein Entwickler

    • Ein Tester und ein Business Analyst

    • Zwei Tester

  • Incremental Test Design - Testfälle werden aus User Stories erstellt, angefangen bei einfachen Tests bis hin zu komplexeren Tests.

  • Mind Mapping- Eine Mind Map ist ein Diagramm, um die Informationen visuell zu organisieren. Mind Mapping kann als effektives Werkzeug für agile Tests verwendet werden, mit denen Informationen zu den erforderlichen Testsitzungen, Teststrategien und Testdaten organisiert werden können.