Testautomatisierung und testgetriebene Entwicklung
摘要
Tests müssen sich automatisiert aufrufen lassen, und insbesondere die Evaluierung von Tests muss automatisiert ablaufen, um keinen Interpretationsspielraum zu lassen. Die meiste Software, die im wissenschaftlichen Kontext entwickelt wird, ist nur sehr schwer testbar, weil ihr die notwendige Modularität fehlt und sie nie mit Blick auf Testbarkeit geschrieben wurde. Ein Ausweg ist die testgetriebene Entwicklung, die die Reihenfolge von Test- und Produktivcode auf den Kopf stellt und für eine hohe Testabdeckung sorgt. Die hohe Testabdeckung durch automatisierte Tests erhöht das Vertrauen in Software und macht auch größere Veränderungen an der Software möglich. Entscheidend für die testgetriebene Entwicklung ist, dass der Zyklus nicht mit einem durchlaufenden Test endet, sondern dass vollständig durchlaufende Tests die notwendige Voraussetzung für den dritten, essentiellen Schritt sind: Refactoring, also die Verbesserung der internen Qualität des Codes ohne Einfluss auf dessen Funktionalität.