Rational Test RealTime
# Rational Test RealTime

Rational Test RealTime (TestRT) wurde ursprünglich von ATOLL Testware entwickelt. Durch Firmenaufkäufe landete das Produkt zunächst bei Rational Software und schließlich bei IBM. Rational Test RealTime ist eine Komplettlösung zum testen und observieren von embedded, real-time und networked systems. Es unterstützt automatisiertes, target-hosted testen, code coverage, memory leak detection und performance profiling. Rational Test RealTime und ähnliche Tools werden oft in Projekten eingesetzt, die als "mission-critical" eingestuft sind, da die Test- und Analyse-Verfahren des Werkzeugs helfen, die erhöhten Anforderungen an das System zu gewährleisten.

## Prinzip

### Unit Test

Das Tool analysiert den zu testenden Sourcecode und erzeugt ein Testtemplate. Das Testtemplate liegt in einer eigenen Sprache vor und beinhaltet Aufrufe (Parameter und Returncode werden mit Nullen vorgegeben) zu allen public Methoden aus dem zu testenden Quellcode. Das Template wird nun manuell mit sinnvollen Parameter- und Returnwerten (zu erwartenden Rückgabewerten) bestückt. Dabei hilft die Scriptingsprache durch Konstrukte für Aufzählungen, Permutationen etc. Das Template wird dann in ausführbaren Code umgesetzt. Der so entstandene Testtreiber wird mit dem übersetzten Sourcecode zu einem ausführbaren Executable gelinkt. Das Executable ist sowohl für die Entwicklungsumgebung als auch für die Zielumgebung generierbar. Nach dem Testlauf wird ein Testreport, mit den Ergebnissen, generiert.

### Runtime Analyse und Profiling

Das Tool bietet Memory-, Performance- und Thread-Profiling zusammen mit Codecoverage-Analyse. Dazu instrumentiert das Tool den Quellcode (Es fügt zusätzliche Befehle in eine Kopie der Programmquelle (Testobjekt) ein).

Die Runtime Analyse und profiling Funktionalität ist sowohl mit dem ausführbaren Programm als auch mit dem Unit Test kombinierbar. Die Ergebnisse werden in einem Report dargestellt.

### System Test

Das Tool unterstützt Message basierte Schnittstellentests.

## Lizenzierung

Die floating Lizenzen werden mit einem FLEXlm-Lizenzserver verwaltet. Die aktuellen Listenpreise können auf der Produktseite unter "View pricing & buy" eingesehen werden.

## Einschätzung

Das Programm ist sehr umfangreich. Es gibt eine große Anzahl von Analysemechanismen. Die Testscripting-Sprache ist sehr mächtig, aber kein Standard. Der Report der Testergebnisse erfolgt zwar in XML. Die in XML verwendete Dokumentstruktur gestattet aber keine Semantik im Dokumentinhalt. Die Zeitspanne des Urheberrechtes reicht in das vorige Jahrtausend zurück.

### Zielsprachen

* C
* C++
* Ada
* Java

### Betriebssysteme

* Microsoft Windows
* Linux
* Unix
* embedded Betriebssysteme
* targets ohne Betriebssystem

## Quellen

* - Produktseite auf ibm.com
* - developerWorks Seite
