Viele Pioniere der automatisierten Akzeptanztests haben ihr Schicksal mit schwerfälligen automatisierten Testsuiten angeprangert. Ein aktueller Artikel auf InfoQ fasst den Trend ganz gut zusammen. Ich werde nicht auf diesen Zug aufspringen, aber ich werde versuchen, einen sicheren Mittelweg zwischen dem übereifrig geschaffenen Wartungsaufwand und der Anarchie zu finden. Der wichtigste Punkt ist, dass die Automatisierung von Akzeptanztests der richtige Weg ist, Sie sollten nur keine unnützen Tests automatisieren und pflegen. Der schwierige Teil besteht darin, herauszufinden, welche Tests nützlich sind und welche nicht.
Bevor ich beginne, möchte ich den Unterschied zwischen automatisierten Abnahmetests und automatisierten Integrationstests oder Unit-Tests betonen. Unit-Tests sind absolut unerlässlich. Jeder, der Ihnen etwas anderes erzählt, ist entweder unwissend, weil er es noch nicht versucht hat, oder ein Idiot. Wir können eine lange Diskussion darüber führen, wie man Unit-Tests richtig durchführt, aber das ist nicht das Thema dieses Beitrags. Automatisierte Integrationstests (in einem vernünftigen Rahmen) sind äußerst nützlich und in einigen Bereichen sogar unerlässlich. Wenn Sie mit externen Systemen oder Dingen in Berührung kommen, deren Nachahmung sonst sehr teuer wäre, sind einige der Vorbehalte vielleicht vertretbar. Automatisierte Akzeptanztests sind Tests, bei denen das Ziel darin besteht, die Interaktion des Benutzers mit dem System zu simulieren. Hier geht es darum, wann und wie dies sinnvoll ist.
Lassen Sie uns zunächst die Argumente für automatisierte Akzeptanztests auflisten:
- Je kürzer die Iteration, desto mehr müssen Sie testen. Je kürzer die Iteration, desto schneller der ROI.
- Wenn Sie ein automatisiertes Testframework verwenden, das für den Kunden verständlich ist, können Sie das Schreiben der Tests wieder an den Kunden delegieren, so dass die korrekt definierte Funktionalität sein Problem ist.
- Menschen lassen sich sehr leicht dazu verleiten, bestimmte Details zu übersehen. Automatisierte Tests sind für diese Art von Korruption unempfindlich.
- Tests sind teuer in der Wartung. Sie werden sich nie rentieren, denn je mehr Sie ändern, desto mehr müssen Sie Ihre Tests ändern, was letztendlich die Kosten des Projekts erhöht.
- Die Kunden verstehen die Testwerkzeuge nicht, so dass die Entwickler diese Tests ohnehin schreiben und pflegen müssen.
- Tests schlagen ständig fehl, wenn Sie Kleinigkeiten ändern, bei denen ein Tester seinen Kopf benutzen und Sie in Ruhe lassen würde, wenn die Änderung sinnvoll wäre.
Unsere Ideen
Weitere Blogs
Contact
Let’s discuss how we can support your journey.



