Extreme Testing

Aus MARJORIE-WIKI
Wechseln zu: Navigation, Suche

Das Extreme Testing bzw. Extremtesten ist eine agile Methode, die das Testen vorrangig vor der Methodik der Programmierung in den Vordergrund der Softwareentwicklung stellt. Das Extreme Testing stellt somit eine Verstärkung der testgetriebenen Entwicklung dar.

Beim Extreme Testing wird die Anforderung der testgetriebenen Entwicklung, ständig lauffähige Software zu haben, zum Prinzip erklärt. Die Erfolgsquote der Unit-Tests wird bei 100 % gehalten. Die Implementierungs- und Erfolgsquote der Akzeptanztests dient als Metrik für die Geschwindigkeit des Entwicklungsvorgangs. Während die testgetriebene Entwicklung, z. B. das Extreme Programming, das Testen als Mittel zum Zweck der Programmerstellung sieht, steht beim Extreme Testing das Testen zentral im Vordergrund. Das Extreme Testing ist Bestandteil einiger agiler Prozesse.

Manchmal wird Extreme Testing auch nur scherzhaft als Bezeichnung für Testgetriebene Entwicklung oder Extreme Programming verwendet. Diese Verwendung ist jedoch nicht ganz korrekt. Eine Extreme Testing-Phase von einigen Wochen kann bei der Einführung von Extreme Programming verwendet werden, um die Software-Entwickler in testgetriebener Entwicklung zu schulen.

Hintergrund[Bearbeiten]

Ziel des Extreme Testing ist es nicht, die Fehlerzahl einer Software so niedrig wie möglich zu halten, also nahe Null: Dies ist in der Regel das grundsätzliche Ziel der Softwareentwicklung. Ziel ist es vielmehr, vorrangig den Testerfolg als Kriterium des Programmiererfolgs anzusetzen. Dazu befasst sich das Extreme Testing speziell und ausschließlich mit dem Testen als zentralem Aspekt der Softwareentwicklung.

Um das Projektziel zu erreichen, steht beim Extreme Testing nicht die Entwicklung des gewünschten Programms im Mittelpunkt der Programmierung, sondern die Entwicklung einer umfangreichen Testsammlung, die zu einem gut strukturierten Entwicklungsprozess und schnell zu einem nicht nur in der Funktion, sondern auch in der Fallunterscheidung umfassenden Entwicklungsergebnis führen soll. Anders als das Extreme Programming gestattet das Extreme Testing daher keine Testauslassungen. Auch Trivialtests müssen beim Extreme Testing programmiert und durchgeführt werden.

Kritische Betrachtung[Bearbeiten]

Auch das Vorgehensmodell des Extreme Testing kann unausgewogen eingesetzt werden und dann scheitern. Das Extreme Testing birgt die Gefahr, mehr Zeit mit dem Testen von Software zu verbringen, als sinnvoll ist. Außerdem kann das Extreme Testing zu mangelnder Flexibilität führen, da Änderungen an der Spezifikation oder dem Entwurf auch eine Änderung an einer großen Anzahl an Tests nach sich ziehen. Da letztendlich dem Kunden kontinuierlich eine gut getestete Version übergeben werden sollte, sind eventuell spät auftretende „radikale“ Änderungen der Anforderungen kritisch zu hinterfragen.

Vergleich mit anderen Ansätzen[Bearbeiten]

Im klassischen Modell der Software-Technik werden Tests parallel und unabhängig oder nachgeschaltet entwickelt. Tests werden als Mittel zur Qualitätssicherung (Erfüllungen von Kundenanforderungen, Stabilität, Zuverlässigkeit etc.), aber nicht als Mittel zur Software-Entwicklung selbst angesehen.

Bei der testgetriebenen Entwicklung wird das Testen als fester Bestandteil in die Entwicklung der Implementierung einbezogen. Tests dienen dazu, die Implementierung zu steuern und voranzutreiben. Dafür werden aus den Anforderungen (im Großen wie im Kleinen) Tests entwickelt und anschließend wird solange implementiert, bis die Tests bestätigen, dass die Anforderung erfüllt wird. Der Detaillierungsgrad der Tests hängt davon ab, für wie sinnvoll der Programmierer die Tests erachtet. Trivialtests werden auch bei der testgetriebenen Entwicklung nicht entwickelt.

Beim Extreme Testing werden für sämtliche Anforderungen und Komponenten sämtliche denkbaren Tests entwickelt, inklusive Trivialtests.

Siehe auch[Bearbeiten]


Literatur[Bearbeiten]

  • Scott Ambler: Extreme Testing. In: Dr. Dobb's Journal. 1. Juni 2003 (online [abgerufen am 22. Januar 2008]).

Wikilinks - Wikis mit Artikeln zum Thema[Bearbeiten]

(Trage hier dein Wiki mit Link zum Artikel ein, wenn du in deinem Wiki ebenfalls einen Artikel zu diesen Thema hast oder du diesen Artikel in dein Wiki exportiert hast)

Info Sign.svg Dieser Wikipedia-Artikel wurde, gemäß GFDL, CC-by-sa mit der kompletten History importiert.