Unsere Codebasis wächst seit 20 Jahren. Wir sind ungefähr 10 Entwickler und arbeiten mit 500kloc. Vor einiger Zeit begann ein kleines Team von uns (2 Entwickler, einer von sqa) an einem automatisierten Testprogramm zu arbeiten. Derzeit dauert ein Lauf 11 Stunden und ist irgendwie ein Integrationstest. Wir arbeiten daran, dieses Problem zu beheben, Fehlalarme zu reduzieren und dabei gute Fortschritte zu erzielen. Aber Details sollten keine Rolle spielen.
Es funktioniert gut und wir verbessern es weiter. Wir (das kleine Team) mögen es sehr. Wenn wir etwas zerbrechen, bemerken wir es einen Tag später und nicht zwei Monate später, wenn sqa einen Blick darauf wirft. Auch unseren Managern (dev + sqa) gefällt die Idee. Aber andere Leute im Team ignorieren einfach die Testergebnisse. Wenn die Tests nach dem Einchecken fehlschlagen, ist dies ein Problem des Tests und nicht der Codeänderung, und es ist nur unser Spielzeugprojekt. Wir haben mehrmals diskutiert, ob ein nicht bestandener Test ein echter Fehler ist. Meistens ist es so.
Wir können und wollen nichts erzwingen. Wie können wir zeigen, dass automatisiertes Testen eine Sache ist?