Akzeptanztests - ATDD
Das Thema Acceptance Test Driven Development (ATDD) gewinnt gerade in der agilen Welt immer stärker an Bedeutung. Der Grund hierfür liegt darin, dass durch ATDD Abstimmungsprobleme früh erkannt werden. Dieses Vorgehen führt somit zu Kosteneinsparungen, da die Behebung von Fehlern teurer wird, je später sie entdeckt werden.
Die Vorteile von ATDD manifestieren sich an zwei Stellen innerhalb eines Projekts. Zum Einen wird durch eine ausgeprägte Kommunikation der Projektbeteiligten über konkrete Akzeptanztests der Spielraum für Missverständnisse stark eingeschränkt. Dadurch sinkt die Gefahr, dass fehlerhafte Umsetzungen erst in späten Projektphasen erkannt werden. Zum Anderen stellen die automatisierten Akzeptanztests fachliche Regressionstests dar. In Kombination mit einer Continuous Integration Umgebung kann das korrekte fachliche Verhalten der Anwendung somit permanent sichergestellt werden. Das checkerberry test center bietet die technische Grundlage, um schnell und einfach Akzeptanztests zu automatisieren.
Eine klassische Webanwendung greift lesend und schreibend auf eine Datenbank zu und stellt die Ergebnisse über einen Webbrowser dar. Der Akzeptanztest kann die Datenbankinhalte durch die Verwendung von checkerberry db manipulieren und prüfen (siehe auch Integrative Datenbanktests).
Über checkerberry web kann innerhalb des Akzeptanztests das Verhalten eines Browsers ferngesteuert werden. Auf diese Art und Weise kann das Benutzerverhalten simuliert werden und das korrekte Verhalten der Webanwendung geprüft werden. Checkerberry web verwendet das Open Source Produkt Selenium für die Fernsteuerung des Browsers. Intern verwendet checkerberry web jedoch einen Modellansatz (Page Object Pattern), der die Erstellung von nachhaltigen Tests ermöglicht. Der Aufwand für die Wartung und Pflege der Tests wird dadurch im Vergleich zu Capture & Replay-Tools massiv reduziert. Die Vorteile des Modellansatzes im Überblick:
- Einfache und schnelle Erstellung, Wartung und Pflege der Tests
- Tests werden wie gewohnt in Java programmiert
- Gute Abstraktionsmöglichkeiten
- Keine proprietären Oberflächen
- Volle Integration in Build-Prozesse
- Volle IDE-Unterstützung
- Testerstellung macht Spaß
Weitere Informationen finden Sie auf der checkerberry Homepage.