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.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Testautomatisierung und testgetriebene Entwicklung

  • Till Biskup

摘要

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.