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 -