Agiles Testen - Quadranten

Wie beim herkömmlichen Testen müssen auch beim agilen Testen alle Teststufen abgedeckt werden.

  • Unit Testing
  • Integrationstests
  • Systemtests
  • User Acceptance Testing

Unit Testing

  • Zusammen mit der Codierung vom Entwickler erledigt
  • Unterstützt von Tester, der Testfälle schreibt, die eine 100% ige Designabdeckung gewährleisten
  • Unit Test Cases und Unit Testing Ergebnisse müssen überprüft werden
  • Ungelöste größere Mängel (nach Priorität und Schweregrad) bleiben nicht bestehen
  • Alle Unit Tests sind automatisiert

Integrationstests

  • Geschehen zu Continuous Integration im Verlauf der Sprints
  • Fertig am Ende, nachdem alle Sprints abgeschlossen sind
  • Alle funktionalen Anforderungen werden getestet
  • Alle Schnittstellen zwischen Einheiten werden getestet
  • Alle Mängel werden gemeldet
  • Tests werden nach Möglichkeit automatisiert

Systemtests

  • Fertig im Verlauf der Entwicklung
  • Benutzergeschichten, Features und Funktionen werden getestet
  • Tests in der Produktionsumgebung durchgeführt
  • Qualitätstests werden durchgeführt (Leistung, Zuverlässigkeit usw.)
  • Mängel werden gemeldet
  • Tests werden nach Möglichkeit automatisiert

User Acceptance Testing

  • Fertig am Ende jedes Sprints und am Ende des Projekts

  • Vom Kunden erledigt. Das Feedback wird vom Team entgegengenommen

  • Feedback ist eine Eingabe für nachfolgende Sprints

  • User Stories in einem Sprint sind vorab als testbar verifiziert und haben definierte Akzeptanzkriterien

Testtypen

  • Komponententests (Unit Tests)
  • Funktionstests (User Stories Tests)
  • Nichtfunktionale Tests (Leistung, Belastung, Belastung usw.)
  • Akzeptanztests

Tests können vollständig manuell, vollständig automatisiert, in Kombination von manuell und automatisiert oder manuell von Tools unterstützt werden.

Unterstützung bei der Programmierung und bei kritischen Produkttests

Tests können sein für -

  • Supporting Development (Support Programming) - Support-Programmiertests werden von den Programmierern verwendet.

    • Um zu entscheiden, welchen Code sie schreiben müssen, um ein bestimmtes Verhalten eines Systems zu erreichen

    • Welche Tests müssen nach dem Codieren ausgeführt werden, um sicherzustellen, dass der neue Code den Rest des Verhaltens des Systems nicht beeinträchtigt?

  • Verification only (Critique Product) - Kritische Produkttests werden verwendet, um Unzulänglichkeiten im fertigen Produkt festzustellen

Business Facing und Technology Facing Tests

Um zu entscheiden, welche Tests wann durchgeführt werden sollen, müssen Sie feststellen, ob ein Test -

  • Business Facing oder
  • Technologie-Facing

Business Facing Tests

Ein Test ist ein geschäftlicher Test, wenn er die Fragen beantwortet, die mit Wörtern aus dem Geschäftsbereich umrahmt sind. Diese werden von den Geschäftsexperten verstanden und würden sie interessieren, damit das Verhalten des Systems im Echtzeitszenario erklärt werden kann.

Technologie-Facing-Tests

Ein Test ist ein technologiebezogener Test, wenn er die Fragen beantwortet, die mit Worten aus dem Technologiebereich umrahmt sind. Die Programmierer verstehen anhand der technologischen Klarstellungen, was implementiert werden muss.

Diese beiden Aspekte von Testtypen können mithilfe der von Brian Marick definierten Agile Testing Quadrants betrachtet werden.

Agile Testquadranten

Die folgenden Agile Testing Quadrants kombinieren die beiden Aspekte der Testtypen und werden von Brian Marick abgeleitet:

Die Agile Testing Quadrants bieten eine hilfreiche Taxonomie, mit der Teams die erforderlichen Tests identifizieren, planen und ausführen können.

  • Quadrant Q1- Unit Level, Technology Facing und unterstützt die Entwickler. Unit-Tests gehören zu diesem Quadranten. Diese Tests können automatisierte Tests sein.

  • Quadrant Q2- Systemebene, Geschäftsausrichtung und konformes Produktverhalten. Zu diesem Quadranten gehören Funktionstests. Diese Tests sind entweder manuell oder automatisiert.

  • Quadrant Q3- System- oder Benutzerakzeptanzstufe, Business Facing und Fokus auf Echtzeitszenarien. Benutzerakzeptanztests gehören zu diesem Quadranten. Diese Tests sind manuell.

  • Quadrant Q4- System- oder Betriebsakzeptanzniveau, technologische Ausrichtung und Fokus auf Leistung, Belastung, Belastung, Wartbarkeit, Skalierbarkeitstests. Für diese Tests können spezielle Werkzeuge zusammen mit Automatisierungstests verwendet werden.

Kombinieren Sie diese, die agilen Testquadranten, die sich widerspiegeln What-Testing-When kann wie folgt visualisiert werden -