Donnerstag, 21. Juli 2016

20.000 mal automatisch getestet

Bild: Wikimedia Commons/Library of Congress - Public Domain
Die Geschichte die in den letzten Tagen durch die Medien ging war in vieler Hinsicht bemerkenswert: Nachdem die Comdirekt-Bank Anfang der Woche eine neue Version ihrer Banking-Software deployed hatte war es zeitweise möglich sich in die Accounts anderer Kunden einzuloggen, die Kontenstände einzusehen und Änderungen der Einstellungen vorzunehmen. Ein massives Versagen der Qualitätssicherung also, das den Ruf dieses Instituts schwer beschädigt hat. Ein interessantes Detail war in diesem Zusammenhang das Statement einer Unternehmenssprecherin, die gegenüber der FAZ erklärte, dass alle IT-Updates mehr als 20.000 Mal automatisch getestet würden, weshalb solche Fehlfunktionen die absolute Ausnahme wären.

Ganz abgesehen davon, dass diese Aussage für die Betroffenen nicht besonders tröstlich sein dürfte - sie steht symptomatisch für ein Problem an dem viele Firmen leiden: den Glauben, dass Risiken sich minimieren lassen indem einfach mehr Tests durchgeführt werden. Das ist zwar nicht völlig falsch, viele, in kurzen Abständen durchgeführte Tests können einen hohen Mehrwert bringen. Zu glauben, dass hier eine Kausalität bestehen würde ist allerdings hochgradig riskant. Die Anzahl der Tests ist bestenfalls ein Indikator, mehr nicht.

Ich habe es über die Jahre immer wieder erlebt, dass ein Management "ambitionierte Ziele" formuliert hat, die erfüllt werden mussten. Pro Woche wurde eine bestimmte Anzahl von Tests vorgegeben die zu schreiben waren, und zwar sowohl bei den manuellen Tests als auch bei Unit Tests, automatisierten GUI-Tests und in anderen Bereichen. Um nicht an die Wand gestellt zu werden taten die Entwickler und Tester alles dafür diese Vorgaben zu erfüllen. Am Ende wurde die Planzahl erfüllt, allerdings durch sinnloses Aufblähen: Unit Tests für Getter und Setter, eigene End to End Tests für praktisch identische Testdaten-Sets und Ähnliches mehr kam so zu stande.

Wesentlich wichtiger als die Anzahl der Tests ist aber ihre Qualität: decken sie auch negative Validierungen ab? Überprüfen sie Grenzwerte? Basieren sie auf Überlegungen wo eine Fehlfunktion besonders großen Schaden anrichten würde? Solche Sachen. Das Problem dabei - lässt man sich darauf ein kann man als Manager nicht mehr so einfach an irgendwelchen Stellschrauben drehen um die (Illusion von) Sicherheit zu erhöhen. Auf der anderen Seite produzieren solche Tests dann tatsächlich einen Mehrwert und nicht bloß eine imposant klingende Zahl. Wenn es darauf ankommt ist die nämlich weder tröstlich noch nützlich. Siehe oben.

Related Articles