Anbieter zum Thema
„Im Softwarebusiness marschieren alle zu ihrer eigenen Melodie“
Der menschliche Faktor ist hier ganz wichtig. Was bringen die ganze Technik und die ganzen Tools, wenn Designer und Entwickler und Tester nicht miteinander sprechen?
Es geht nicht nur darum, dass Designer und Entwickler miteinander reden. Ich nenne es „die Sprache des Tests sprechen“. Damit meine ich, der beste Weg zu definieren, was ein System tun soll und zu beweisen, dass es das auch tut, ist einen Test zu bauen, der prüft, dass das System das tut, was es soll. Nicht wahr?
Wenn Flugzeugkonstrukteure ein Flugzeug bauen, belasten sie die Flügel so stark, dass sie abbrechen. Und sie ermitteln die Kraft, die nötig ist, damit der Flügel abbricht. Das heißt, sie zerstören etwas, um zu beweisen, dass das Design schlüssig ist. Sie benutzen dafür nicht nur ein Computermodell. Dazu muss man wissen: OK, bei einer Belastung von 100 Newtonmetern pro Quadratfuß bricht der Flügel.
Das ist das Ziel, auf das man gemeinsam zuarbeitet. Der Designer entwirft die Flügelspanten so, dass sie diese Kraft aufnehmen können. Die Schweißer und Nieter bauen die Teile so zusammen, wie es der Designer entworfen hat und die Tester prüfen dann, dass es sich tatsächlich so verhält. Aber im Softwarebereich marschiert jeder zu seiner eigenen Melodie. Und der breiteste Graben liegt zwischen den Codern und der Qualitätssicherung.
Das heißt, in der realen Welt, bei der realen Produktentwicklung wendet man von vornherein so etwas wie testbasiertes Design an. Man entwickelt ein Produkt von Anfang an so, dass es in der Lage ist, bestimmte Tests zu bestehen.
Genau! Das ist ganz entscheidend. Das fehlende Glied bei der Software ist, dass niemand die Testkriterien dokumentiert. Es ist sehr einfach, einen Algorithmus zu schreiben, wenn Sie mir sagen, was er erledigen soll. Es ist noch einfacher, wenn Sie mir sagen: Das sind die Testkriterien, die er erfüllen muss.
Lassen Sie die besten Leute im Team über die Grenzfälle nachdenken und die Tests entsprechend bauen. Die Implementierung kann jeder Junior-Programmierer erledigen, wenn ich ihm sage: Hey, das sind die Tests, die das Programm bestehen muss.
Aber jetzt kommt noch etwas: Was ist mit den Millionen von Codezeilen, die draußen in der Welt sind und nicht genügend getestet wurden? Jeder Softwarehersteller hat Bestandteile in seinen Applikationen, die unzureichend getestet sind. Das ist eine große tickende Zeitbombe.
Denn wenn man bestehenden Code auf neue Weise wiederverwendet oder ihn auf eine neue Art anspricht und er plötzlich nicht mehr funktioniert und Sie nicht wissen, warum, dann wissen Sie auch nicht, was Sie letzten Endes kaputtgemacht haben.
Artikelfiles und Artikellinks
(ID:44602436)