Unittest

Unittest
QS-Informatik

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 mit, die inhaltlichen Mängel dieses Artikels zu beseitigen und beteilige dich an der Diskussion! (+)
Begründung: Sehr holpriger Artikel zu einem sehr wichtigem Thema. Besonders der Bereich Anwendungsbeispiele lässt einem die Haare zu Berge stehen.

Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

Der Modultest (auch Komponententest oder engl. unit test) ist Teil des Softwaretests. Er dient zur Verifikation der Korrektheit von Modulen einer Software, z. B. von einzelnen Klassen. Nach jeder Änderung sollte durch Ablauf aller Testfälle nach Programmfehlern gesucht werden.

Bei der testgetriebenen Entwicklung werden die Modultests parallel zum eigentlichen Quelltext erstellt und gepflegt. Dies ermöglicht bei automatisierten, reproduzierbaren Modultests die Auswirkungen von Änderungen sofort nachzuvollziehen. Der Programmierer entdeckt dadurch leichter ungewollte Nebeneffekte oder Fehler, die durch seine Änderung verursacht wurden.

Ein Komponententest ist ein ausführbares Codefragment, das das sichtbare Verhalten einer Komponente (z. B. einer Klasse) verifiziert und dem Programmierer eine unmittelbare Rückmeldung darüber gibt, ob die Komponente das geforderte Verhalten aufweist oder nicht. Durch diese Rückmeldung wird die Wartbarkeit z. B. durch Refactoring vereinfacht oder sogar erst ermöglicht. Komponententests sind ein wesentlicher Bestandteil der Qualitätssicherung in der Softwareentwicklung.

Modultests sind die Vorstufe zu Integrationstests, die wiederum zum Testen mehrerer voneinander abhängiger Komponenten im Zusammenspiel geeignet sind. Im Gegensatz zu Modultests werden Integrationstests meist manuell ausgeführt.

Inhaltsverzeichnis

Anwendungsbeispiele

Modultests werden auch im Automotive-Bereich an programmierbaren Steuereinheiten verwendet. Damit wird die Steuereinheit verifiziert (ihre Übereinstimmung mit der Absicht des Entwicklers geprüft). Hier haben die Modultests auch rechtliche Bedeutung innerhalb des Vertragsdokumentes. Falls eine programmierbare Steuerung versagt, kann es zu Personenschäden kommen. Bei einem solchen Test wird die Durchführung einschließlich aufgetretener Fehler protokollartig festgehalten. Dabei wird dann zwischen Unit-Test (kann der Test einer einzelnen C-Funktion sein) und Modultest (Test des gesamten Moduls, dazu gehören Tests der Units und Tests der Funktionsschnittstellen zwischen den Units) unterschieden. Im Automotive-Bereich stehen bei diesen Tests weniger textuelle Daten als vielmehr Variablen physikalischer Werte und damit Grenzwerte im Vordergrund. So muss z. B. geprüft werden, ob das Ergebnis einer Addition von Ganzzahlen sich in jedem Fall innerhalb des Wertebereiches des Ganzzahl-Datentyps befindet. Man erhält dabei über die Code-Abdeckung hinaus große Mengen an Zahlenlisten, die zu testen sind.

Bei Fluxtests werden die Datenflüsse der Schnittstellen integrierter Systeme abgehört und dem Regressionset für die Unittests beigefügt, da ja sowohl Input als auch Output bekannt ist. Die eigentliche Fluxtestphase erfolgt dabei erst beim nächsten Zyklus der Softwareentwicklung, in der den Units dann die bekannten Aufrufparameter übergeben werden beziehungsweise anhand der bekannten gewünschten Ausgabedaten die Units auf ihre Richtigkeit überprüft werden. Fluxtests können nur aus funktionierenden (teil-)integrierten Systemen gewonnen werden. Damit wird im nächsten Zyklus der Integration vorgegriffen. Bereits fertiggestellte Units werden früher getestet, der Release- oder Entwicklungszyklus verkürzt sich. Besonders bei "hardest-first" Integrationsstrategien zahlen sich Fluxtests somit aus.

Siehe auch

Literatur

  • Paul Hamill: Unit Test Frameworks. (engl.), O'Reilly Media, 2004, ISBN 0-5960-0689-6

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

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

  • UnitTest — The C/C++ Source Code Unit Test Framework!UnitTest is a test framework designed for unit testing C/C++ code on the Microsoft Windows platform. UnitTest has a tiny footprint, the code is very clean. It s written in C++ and can be downloaded freely …   Wikipedia

  • Liste von Modultest-Software — Inhaltsverzeichnis 1 ABAP 2 C 3 C++ 4 Cobol 5 Delphi …   Deutsch Wikipedia

  • PyUnit — Infobox Software name = PyUnit caption = developer = latest release version = 1.4.1 latest release date = release date|2001|08|09 operating system = programming language = Python genre = Test Tool license = Python License website =… …   Wikipedia

  • Doctest — is a module included in the Python programming language s standard library that allows the easy generation of tests based on output from the standard Python interpreter shell, cut and pasted into docstrings.Implementation specificsdoctest makes… …   Wikipedia

  • doctest — is a module included in the Python programming language s standard library that allows the easy generation of tests based on output from the standard Python interpreter shell, cut and pasted into docstrings. Contents 1 Implementation specifics 2… …   Wikipedia

  • AsUnit — There are two different unit test frameworks that share a similar name. AsUnit is a unit test framework for ActionScript development. It is the only open source ActionScript unit test framework that supports Flash Players 6, 7, 8, 9, 10 and Flash …   Wikipedia

  • Nose (disambiguation) — Nose may refer to: Contents 1 Biology 2 The arts 2.1 Literature 2.2 Opera 3 Geography …   Wikipedia

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • Codelite — Infobox Software name = CodeLite caption = developer = Eran Ifrah programming language = C++ latest release version = v1.0 latest release date = release date and age|2008|7|1 latest preview version =… …   Wikipedia

  • Mock-up — des Innenraumes eines Airbus A 380 Der aus dem Englischen stammende Begriff Mock up (in der Schweiz auch Maquette) bezeichnet im Deutschen beispielsweise eine Attrappe. Er wird heute aber meist für ein maßstäblich gefertigtes Modell bzw. eine… …   Deutsch Wikipedia

Share the article and excerpts

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