Next level version control: Now in 3D!

Wenn man sie pflegen muss hat man zu viele Assertions, wenn ein Fehler durchschlüpft zu wenige. Observational Diff (auch Characterization Test, Golden Master oder Approval-Test) ist ein innovativer Testansatz um dieses Problem zu lösen.

Die Idee besteht darin das gesamte beobachtbare Verhalten der Anwendung bei Testablauf aufzuzeichnen. Bei einer Änderung werden alle Unterschiede im aufgezeichneten Verhalten der Anwendung erkannt und dargestellt. Sind diese Unterschiede gewünscht, so wird (ähnlich einem Commit bei einem VCS) das neue Verhalten zur neuen "Wahrheit" und zukünftig Unterschiede zu diesem Verhalten aufgezeigt. Statt bei Tests einzelne Prüfregeln erstellen und pflegen zu müssen, und dabei doch nie alle Details erfassen zu können, erhält man durch ein Observational Diff quasi 100% Assertions bei minimalem Pflegeaufwand. In den Beispielen wird eine GUI mit Hilfe des Open Source Projektes ReTest getestet. Der Clou dabei: mittels Monkey-Testing kann man dafür die Tests sogar generieren. Monkey-Testing findet vollautomatisch und kostengünstig Fehler bzw. zeichnet das Programmverhalten auf. Durch die Kombination mit "Observational Diff" und wenn man diesen Affen etwas trainiert, kann man seinen Testaufwand locker halbieren und dabei noch die Qualität verbessern!

Länge: normal; Slides: retest.pdf

Sponsoren

Ebay Tech
idealo
techdev Solutions
zalando
akquinet
codecentric
MoSKito Monitoring
pro!vision
NumberFour AG
Das Büro am Draht
Publicis Pixelpark
innoQ
adesso
MeteoGroup
tarent solutions



Partner

Java User Group Berlin Brandenburg
iJUG
zaunfilm
Rhino’s Energy
Sigs Dataom
Hanser
O'Reilly
dpunkt.verlag
rheinwerk