# ContinoProva

ContinoProva ist ein Software-Werkzeug für das automatisierte Testen von eingebetteter Software. Es integriert als Framework verschiedene Hard- und Softwarewerkzeuge für den automatisierten Test.

## Wortherkunft

Der Name ContinoProva ist abgeleitet von dem spanischen continuo (durchgängig) und dem italienischen provare (prüfen).

## Einsatzgebiete

ContinoProva kommt in verschiedenen Teststufen zum Einsatz, z. B. bei Komponententests, Integrationstests, Systemtests, sowie bei entwicklungsbegleitenden Tests aber auch Tests in realer Umgebung.
Auf Grund des Wiederholungscharakters und der Häufigkeit dieser Wiederholungen, wird ContinoProva oft für die Durchführung von Regressionstests verwendet.
In der Praxis kommt ContinoProva überwiegend in der Automobil- und Medizintechnik, sowie in der Bahn- und Automatisierungstechnik zum Einsatz.

## Architektur

ContinoProva basiert auf einer Client-Server Architektur. Externe Tools werden über offene Schnittstellen (APIs) an den Server angebunden. Im Umfeld der Entwicklung eingebetteter Systeme sind das zum Beispiel Relaisboxen zur Ansteuerung digitaler Eingänge des Testobjekts, Oszilloskope zur Signalmessung, Buswerkzeuge zum Setzen und Lesen von Busbotschaften und Debugger. Der Client fordert während des Testdurchlaufs gemäß der definierten Testspezifikationen einzelne Dienste vom Server an. Der Server leitet die Anforderungen des Client an die Testtools und umgekehrt die Rückmeldung der Tools an den Client weiter. Durch diese Architektur wird von den Benutzer- und Programmierschnittstellen einzelner Tools abstrahiert und ein einheitliches Frontend zur Testspezifikation und Steuerung von Tools bereitgestellt.

## Verwendung im Testprozess nach ISTQB

Nachfolgend wird die Verwendung im Testprozess nach ISTQB erläutert.

### Testspezifikation

Testspezifikation: Tests werden in ContinoProva über den Editor mit grafischer Benutzeroberfläche (GUI) sequenziell spezifiziert. Sie sind hierarchisch strukturiert in Testgruppen, Testsequenzen, Testschritte und Testtasks. Innerhalb einer Testspezifikation können alle angebundenen Werkzeuge angesprochen werden. Über diese sequenzielle Testablaufbeschreibung können andere Testspezifikationsarten, z. B. Zustandsdiagramme angebunden werden.

### Testdurchführung

Testdurchführung: Die automatische Ausführung von Tests kann in verschiedenen Modi erfolgen. Es können zum Beispiel Bedingungen für den Testablauf, sowie Unterbrechungen und Schleifen definiert werden. Wiederkehrende Testelemente (Testschritte, Testsequenzen oder Testgruppen) können als Bibliotheksbaustein definiert und in verschiedenen Testspezifikationen verwendet werden. Ein integrierter Testdebugger ermöglicht die Abarbeitung einzelner Testschritte. Mittels Stapelverarbeitung können Testspezifikationen wiederholt getestet werden.

### Testauswertung

Testauswertung: Die Reportgenerierung von ContinoProva stellt dem Benutzer inhaltlich und formal konfigurierbare Testberichte zur Verfügung. Im Testbericht können die Testspezifikation, Ergebnisse des Vergleichs zwischen erwarteten und tatsächlichen Ausgangswerten des Testobjektes, Informationen zur Testumgebung sowie organisatorische Daten, z. B. Name des Testers, Zeitpunkt des Tests etc., enthalten sein.