© istockphoto.com/Rogotanie
Entwickler Magazin
Nutzwertanalyse von Unit-Test-Frameworks für C++

Stiftung Unit Test

Unit Tests sind bei der Entwicklung von Software ein wichtiger Aspekt für die Qualitätssicherung. Doch Unit-Test-Frameworks gibt es viele; auch im C++-Umfeld. Für welches soll man sich also entscheiden - und warum? Lassen Sie uns ein paar Frameworks aussuchen und deren Nutzwert analysieren.

Philipp Otto Behrens


Video: WinRT mit C++

Unit Tests dienen dem Zweck, die korrekte Funktionsweise von unabhängigen Programmeinheiten automatisiert zu überprüfen. Die Einheiten können einzelne Funktionen, Klassen oder ganze Komponenten umfassen. Unit Tests lassen sich den so genannten White-Box-Tests zuordnen, bei deren Definition die Implementierung des zu testenden Programmcodes bekannt ist. Anders als bei den Testzyklen, die den Unit Tests folgen (Integrationstest, Systemtest, Abnahmetest), werden Unit Tests üblicherweise in derselben Programmiersprache implementiert wie der zu testende Code.

Das bekannteste Framework für Unit Tests ist JUnit für die Programmiersprache Java. Außerdem existiert eine Vielzahl weiterer Frameworks für unterschiedliche Programmiersprachen, die allgemein unter dem Begriff xUnit zusammengefasst werden.

Dieser Artikel untersucht verschiedene Unit-Test-Frameworks für die Programmiersprache C++. Nach Selektion von fünf Frameworks für die engere Auswahl sowie der Festlegung von Bewertungskriterien (u. a. Funktionsumfang, Dokumentation) erfolgt die Untersuchung mithilfe einer Nutzwertanalyse. Das Resultat der Nutzwertanalyse ist die transparente und nachvollziehbare Entscheidungsfindung für eines der untersuchten Frameworks.

Einleitung

JUnit ist vielen Softwareentwicklern ein Begriff: Es handelt sich dabei um ein Framework für die Programmiersprache Java, mit dessen Hilfe automatisierte Tests erstellt und durchgeführt werden können. Die mit dem Framework realisierten Tests werden zeitnah zur Programmierung der zu testenden Software implementiert und als Unit Tests bezeichnet [1]. Die Einheiten, die getestet werden sollen, können Funktionen, Klassen oder Komponenten umfassen.

Neben JUnit für Java gibt es für viele weitere Programmiersprachen entsprechende Frameworks, mit denen sich ebenfalls Unit Tests realisieren lassen. Auf der Website von Ron Jeffries [2] findet sich eine Übersicht über Unit-Test-Frameworks für verschiedene Programmiersprachen.

Im vorliegenden Artikel wird der Fokus speziell auf Unit-Test-Frameworks für die Programmiersprache C++ gelegt. C++ belegt hinter Java und C den dritten Platz der populärsten Programmiersprachen in den Bereichen Mobile, Desktop und Enterprise. Dies hat eine Studie vom IEEE Spectrum aus dem Jahr 2014 ergeben [3]. In Abbildung 1 ist das Ergebnis der Studie dargestellt und zeigt das Ranking der dreißig beliebtesten Programmiersprachen. Jeweils angegeben ist, in welchen Bereichen die jeweilige Programmiersprac...

Entwickler Magazin
Nutzwertanalyse von Unit-Test-Frameworks für C++

Stiftung Unit Test

Unit Tests sind bei der Entwicklung von Software ein wichtiger Aspekt für die Qualitätssicherung. Doch Unit-Test-Frameworks gibt es viele; auch im C++-Umfeld. Für welches soll man sich also entscheiden - und warum? Lassen Sie uns ein paar Frameworks aussuchen und deren Nutzwert analysieren.

Philipp Otto Behrens


Video: WinRT mit C++

Unit Tests dienen dem Zweck, die korrekte Funktionsweise von unabhängigen Programmeinheiten automatisiert zu überprüfen. Die Einheiten können einzelne Funktionen, Klassen oder ganze Komponenten umfassen. Unit Tests lassen sich den so genannten White-Box-Tests zuordnen, bei deren Definition die Implementierung des zu testenden Programmcodes bekannt ist. Anders als bei den Testzyklen, die den Unit Tests folgen (Integrationstest, Systemtest, Abnahmetest), werden Unit Tests üblicherweise in derselben Programmiersprache implementiert wie der zu testende Code.

Das bekannteste Framework für Unit Tests ist JUnit für die Programmiersprache Java. Außerdem existiert eine Vielzahl weiterer Frameworks für unterschiedliche Programmiersprachen, die allgemein unter dem Begriff xUnit zusammengefasst werden.

Dieser Artikel untersucht verschiedene Unit-Test-Frameworks für die Programmiersprache C++. Nach Selektion von fünf Frameworks für die engere Auswahl sowie der Festlegung von Bewertungskriterien (u. a. Funktionsumfang, Dokumentation) erfolgt die Untersuchung mithilfe einer Nutzwertanalyse. Das Resultat der Nutzwertanalyse ist die transparente und nachvollziehbare Entscheidungsfindung für eines der untersuchten Frameworks.

Einleitung

JUnit ist vielen Softwareentwicklern ein Begriff: Es handelt sich dabei um ein Framework für die Programmiersprache Java, mit dessen Hilfe automatisierte Tests erstellt und durchgeführt werden können. Die mit dem Framework realisierten Tests werden zeitnah zur Programmierung der zu testenden Software implementiert und als Unit Tests bezeichnet [1]. Die Einheiten, die getestet werden sollen, können Funktionen, Klassen oder Komponenten umfassen.

Neben JUnit für Java gibt es für viele weitere Programmiersprachen entsprechende Frameworks, mit denen sich ebenfalls Unit Tests realisieren lassen. Auf der Website von Ron Jeffries [2] findet sich eine Übersicht über Unit-Test-Frameworks für verschiedene Programmiersprachen.

Im vorliegenden Artikel wird der Fokus speziell auf Unit-Test-Frameworks für die Programmiersprache C++ gelegt. C++ belegt hinter Java und C den dritten Platz der populärsten Programmiersprachen in den Bereichen Mobile, Desktop und Enterprise. Dies hat eine Studie vom IEEE Spectrum aus dem Jahr 2014 ergeben [3]. In Abbildung 1 ist das Ergebnis der Studie dargestellt und zeigt das Ranking der dreißig beliebtesten Programmiersprachen. Jeweils angegeben ist, in welchen Bereichen die jeweilige Programmiersprac...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang