Die Organisation, für die ich arbeite, hat kürzlich einen Testbeauftragten eingestellt, um manuelle Tests durchzuführen. Als ich jedoch darum bat, Zeit als Entwickler für das Schreiben von Komponententests zu haben, war die Antwort, dass die manuellen Tests einen größeren Gewinn bringen würden. Das fühlt sich für mich falsch an und ich suche nach einem Mittel, um manuelle und automatisierte Tests gegeneinander zu bewerten, das wissenschaftlicher ist als ein Bauchgefühl. Ich sage nicht, dass es keinen Platz für manuelle Tests gibt - aber automatisierte Tests scheinen mir zumindest einige der sich wiederholenden und langweiligeren Aufgaben zu beseitigen. Wir haben einen Build-Server, auf dem einige Komponententests und einige Selentests ausgeführt werden. Die Idee des automatisierten Testens ist also kein Problem, sondern wird nur als geringerer Return on Investment angesehen.
Ich kann verstehen, dass jemand, der einen vollständigen End-to-End-Test eines Systems durchführt, das Endprodukt testet, und das ist letztendlich alles, was den Benutzer interessiert, aber es geht langsam voran und wiederholt sich sehr oft. Manuelle Regressionstests bedeuten, dass alle vorherigen Tests wiederholt werden und bestätigt wird, dass sich nichts geändert hat. Wenn es 4 Pfade durch einen Prozess gibt, sind dies 4 manuelle Tests, die jeweils 5 Minuten dauern können.
Gibt es also überprüfbare Fakten und Zahlen, anhand derer ich die Budgetierungszeit für automatisierte Tests begründen kann? Was sind die Nachteile automatisierter Tests, die über die im Link angegebenen hinausgehen?