Liste von Modultest-Software

Liste von Modultest-Software

Modultestsoftware (meist aber "Test-Frameworks" von engl. "Unit test frameworks" genannt) bezeichnet Software-Frameworks zur Durchführung von Modultests (oft auch Komponententests genannt). Sie dienen dem Nachweis von Fehlern in einzelnen Komponenten (Modulen) einer Software, beispielsweise einzelnen Klassen. Als Voraussetzung für Refactoring kommt ihm besondere Bedeutung zu. Nach jeder Änderung sollte durch Ablauf aller Testfälle nach Programmfehlern gesucht werden.

Modultestsoftware bzw Test-Frameworks gibt es mittlerweile für fast jede Programmiersprache. Oft haben die Namen dieser Frameworks die Form xyzUnit (z. B. JUnit für Java, siehe unten). Testrahmen dienen dazu, den Quelltext besser und automatisch testen zu können. Damit kann nach Modifikationen am Quelltext relativ schnell festgestellt werden, ob die vorher erstellten Tests immer noch dieselben Ergebnisse haben.

ABAP

ABAP Unit ist die Implementierung des Frameworks für ABAP und steht ab SAP NetWeaver Release 2004 zur Verfügung.

C

Für die Programmiersprache C gibt es verschiedene Implementationen, die sich hauptsächlich in ihrem Funktionsumfang, Lizenzen und Einsatzgebieten unterscheiden:

  • CUnit:[1] Umfangreiche Implementation. Lizenziert unter der GNU General Public License (GPL). Das Projekt wird unter SourceForge gehostet.
  • cfix:[2] Spezialisiert für Win32 und Windows NT kernel mode-Entwicklung. Lizenziert unter der GNU Lesser General Public License (LGPL). Basierend auf cfix existiert mit Visual Assert[3] ein Add-In, welches Visual Studio um Unit Testing-Funktionalität erweitert.
  • Embedded Unit: Spezielles Framework für Embedded Systems. Lizenziert unter der MIT-Lizenz. Das Projekt wird ebenfalls unter SourceForge gehostet.
  • uCUnit: Spezielles Framework für kleine Mikrocontrollersysteme. Lizenziert unter der Common Public License (CPL) v1.0
  • MinUnit: Demonstration eines minimalistischen Frameworks, lizenziert als Public Domain.
  • Tessy (Software): Professionelles Werkzeug für Modul-/Unit-Tests, speziell von Embedded Software.
  • Testwell ctc++ Test Coverage Analyser für Modul-/Unit-Tests für alle embedded Systeme
  • Time Partition Testing: Modellbasiertes Testen eingebetteter Steuerungs- und Regelungssysteme.

C++

  • CppUnit ist die Portierung von JUnit auf C++. Ursprünglich wurde es von Michael Feathers geschrieben, ist jetzt aber ein offenes Projekt unter SourceForge. Da er allerdings den Eindruck hatte, dass CppUnit mittlerweile zu kompliziert zu installieren war, entschied sich Feathers, die abgespeckte Variante CppUnitLite zu schreiben.
  • cfix:[2] Spezialisiert für Win32 und Windows NT kernel mode-Entwicklung. Lizenziert unter der GNU Lesser General Public License (LGPL). Basierend auf cfix existiert mit Visual Assert[3] ein Add-In, welches Visual Studio um Unit Testing-Funktionalität erweitert.
  • CxxTest, CppTest (beides ebenfalls offene Projekte unter SourceForge)
  • Boost (C++-Bibliothek) Test Library
  • Tessy (Software): Professionelles Werkzeug für Modul-/Unit-Tests, speziell von Embedded Software.
  • Testwell CTA++ C++ Test Aider / Testwell ctc++ Test Coverage Analyser
  • Time Partition Testing: Modellbasiertes Testen eingebetteter Steuerungs- und Regelungssysteme.
  • Qt unterstützt Modultests (QTestLib).
  • Google Mock von Google entwickeltes C++ Test Framework.

Cobol

  • CobolUnit ist ein zu XUnit kompatibles Framework.
  • savvytest[4] ist ein auf Eclipse basierendes (kommerzielles) Testtool zur Erfassung und Durchführung von Komponententests, das vorwiegend zum Testen von Mainframe-Komponenten (insbesondere COBOL unter z/OS) konzipiert wurde. Zudem wird die rein technische Schnittstelle durch zusätzliche Spezifikationen in einer fachlichen Sicht dargestellt und mit Testdaten versorgt. Die Tests an sich werden sprach- und plattformunabhängig gespeichert.

Delphi

DUnit ist eine Portierung von JUnit für Borland Delphi. In der Version „Delphi 2005“ wurde es von Borland (später CodeGear, heute Embarcadero Technologies) als fester Bestandteil in die Entwicklungsumgebung aufgenommen.

Java

JUnit wurde für die Programmiersprache Java von Erich Gamma und Kent Beck geschrieben. (weitere Werkzeuge für Modultests: TestNG, HttpUnit, Cactus, …)

JavaScript

JSUnit wurde nach dem Vorbild JUnit gebaut und bietet manuelle wie auch komplett integrierte Tests für JavaScript mit Browser- und Betriebssystemübergreifenden Testservern.

Lingo (Macromedia Director)

Für die interpretierte Skriptsprache Lingo in Macromedias Autorensystem Director gibt es das Framework LingoUnit, welches ebenfalls unter SourceForge geführt wird.

.NET

NUnit ursprünglich eine 1:1 Portierung von JUnit auf die Plattform .NET, insbesondere für C# und Visual Basic .NET. Wurde mittlerweile mit spezifischen .NET Features erweitert neu geschrieben und unterstützt alle .NET Sprachen.

Microsoft bietet das in Visual Studio integrierte Unit-Test-Framework MSTest an.

Perl

Perl hat eine weit zurückreichende Geschichte automatischer Tests. Perl selbst wird automatisch getestet und zur Perldistribution gehören eine Reihe von Testmodulen. Hier beginnt man am besten mit Test::Simple, arbeitet sich zu Test::More vor und taucht dann in die Tiefen von Test::Class und den weiteren Modulen ab. Diese verwenden alle das Test Anything Protocol (TAP)[5]. Des Weiteren gibt es Test::Unit und Test::Unit::Lite, welche Derivate von JUnit sind.

PHP

PHPUnit ist die Portierung von JUnit auf PHP und wurde von Sebastian Bergmann geschrieben.

Simpletest ist ebenfalls eine Portierung von JUnit, die um weitere Funktionen wie Mock Objects und Funktionen zum Testen von Web-Seiten erweitert wurde.

PL/SQL

utPLSQL[6] ist ein UnitTest-Framework für PL/SQL welches ebenfalls unter SourceForge geführt wird. Quest Code Tester for Oracle ist ein kommerzielles Produkt zur Definition und Durchführung Unit Tests für PL/SQL. Es handelt sich um eine Weiterentwicklung von utPLSQL und wird von Quest Software vertrieben.

Python

Unittest ist fester Bestandteil der Python-Standard-Bibliothek

Ruby

Unittest ist bei Ruby in der Standard-Bibliothek als Test::Unit oder RUnit verfügbar.

RSpec ist ein verhaltensgetriebenes Entwicklungs- und Testframework für Ruby.

MATLAB/Simulink

  • Simulink Design Verifier von The MathWorks generiert Testfälle zur vollständigen Überdeckung und einen Testrahmen. Zum Einsatz kommen dabei Formale Methoden.
  • SystemTest von The MathWorks kann Modelle testen und dabei auch Parameter verändern. Inputstimuli können manuell oder durch statistische Verteilungen generiert werden.
  • TPT von PikeTec. TPT unterstützt die automatische Testrahmengenerierung inklusive einer automatischen Schnittstellenanalyse sowie die automatische Testdurchführung, Auswertung und Protokollierung.

Shell(s)

Smalltalk

Das vermutlich erste Framework zum Erstellen von Komponententests (SUnit) wurde von Kent Beck für die Programmiersprache Smalltalk geschrieben. Die Idee wurde schnell auf andere Programmiersprachen übertragen.

Tcl

Tcl enthält das Modul tcltest für Modultests. Auch andere Test-Frameworks wurden in Tcl geschrieben, bekannt ist etwa DejaGnu, mit dem der gcc getestet wird. Zudem kann man in wenigen Zeilen ein „Framework“ selbst erstellen:

   proc test {command expected} {
      catch {uplevel 1 $command} res
      if {$res ne $expected} {
         puts "$command->$res, not $expected"
      }
   }

Tests (in eigenen Quelldateien, oder direkt beim Code) sehen dann so aus: man gibt eine Anweisung und das erwartete Ergebnis an. Wenn ein unerwartetes Ergebnis ausgewertet wird, so wird dies angezeigt:

   test {expr 3 + 4} 7

Transact-SQL

TSQLUnit[9] ist ein Framework für Unittests in Transact-SQL. Es hält sich an die Tradition des xUnit Frameworks, das es für viele Programmiersprachen gibt.

Visual Basic 6

Das deutsche Unternehmen Maaß Computertechnik aus Bochum hat das xUnit Framework für Visual Basic 6 implementiert.

vbUnit ist nicht vollkommen Open Source. In der kostenpflichtigen Version 3 Professional erhält man das Unit Testing Framework für Visual Basic 6 inklusive einem Microsoft Visual Studio 6 Add-on.

Die Basic Version von vbUnit wird unter der GNU Lesser General Public License(LGPL) angeboten, das heißt dass man zu dieser Version sowohl die kompilierten Komponenten als auch den Quellcode erhält. Der TestRunner und das Add-on für Microsofts Visual Studio 6 in der Professional Version sind kostenpflichtig und nicht Open Source.

Weblinks

  • opensourcetesting.org (englisch) – Eine große Sammlung von Open Source Software-Testtools sowie ein recht aktives Forum mit Neuigkeiten und Diskussionen.
  • xprogramming.com – Liste von Unittest Frameworks für viele Programmiersprachen.

Einzelnachweise

  1. cunit.sourceforge.net
  2. a b cfix-testing.org
  3. a b visualassert.com
  4. savvytest beim Hersteller savignano software solutions
  5. testanything.org
  6. utplsql bei SourceForge
  7. Website: code.google.com. Git-Repos: github.com
  8. Selbstauskunft: shunit2.txt
  9. TSQLUnit beiSourceForge

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Modultest — In der Softwareentwicklung wird ein Computerprogramm üblicherweise in einzelne Teile mit klar definierten Schnittstellen, sogenannte Module, unterteilt. Der Modultest (auch Komponententest oder oft vom engl. unit test als Unittest bezeichnet) ist …   Deutsch Wikipedia

  • Komponententest — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Unit-Test — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Unit test — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Unittest — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   Deutsch Wikipedia

  • Eingebettetes System — Der Ausdruck eingebettetes System (auch engl. embedded system) bezeichnet einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei hat der Rechner entweder die Aufgabe, das System, in… …   Deutsch Wikipedia

  • Testautomation — Unter Testautomatisierung (auch Testautomation) ist die Automatisierung von Aktivitäten im Test zu verstehen, sowohl beim Softwaretest als auch beim automatisierten Test von Hardware, dem Hardwaretest. Inhaltsverzeichnis 1 Motivation 2… …   Deutsch Wikipedia

  • Modellbasiertes Testen — (MBT) ist ein Oberbegriff für die Nutzung von Modellen zur Automatisierung von Testaktivitäten Generierung von Testartefakten im Testprozess. Darunter fällt insbesondere die Generierung von Testfällen aus Modellen (z.B. unter Verwendung der UML) …   Deutsch Wikipedia

  • xUnit — ist die Bezeichnung für verschiedene Frameworks für automatisierte Softwaretests. Diese Frameworks erlauben das Überprüfen verschiedener Elemente (units) von Software, wie etwa Funktionen und Klassen. Das erste xUnit Framework wurde von Kent Beck …   Deutsch Wikipedia

  • PHPUnit — Entwickler PHPUnit, Sebastian Bergmann Aktuelle Version 3.5.15 (9. Juni 2011) Betriebssystem Plattformunabhängig Kategorie …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”