Testwell CTC++: Classical Host-Target Arrangement
Typically for targets having- file system under it
- Some kilos of available RAM
- runtime library to be added (2-3K typically),
- integer counters
- transfer via file, file handle, serial port or proprietary interface
Target library
A target library consisting of 3 files have to be compiled and linked to the application. This linking can be arranged to transparent or automaticallyInitiating data transfer
Transfer can be stimulated by atexit routine, or some other handy arrangements. Technically a function ctc_send_data() in target library gets just called.Data transfer
Data transfer is done in one file of the target library, the typical flow is like:if ((fp = fopen("MON.txt", "a")) != NULL) { while ((c = ctc_get_character()) > 0) { fputc(c, fp); } fclose(fp); }Datastream can be transferred whatever you like. fopen("/dec/serio001","a") or over network or through a proprietary channel.
Host receive data
An applicationctc2dat
updates the coverage files from e.g.
- Asynchronous, from a text file "MON.txt",
ctc2dat < MON.txt
- Synchronous, from e.g. a serial port,
ctc2dat < /dev/ttyS0
How the metrics are generated
The code gets instrumented with the "ctc" compiler frontend, per default it increments then file static array elements.How the metrics are collected on the Host
CTC++ accumulated per default coverage data a file "MON.dat" on the host. This is used for input of the report generating tools.Performances
Usually we calculate with 20%, depends very much on coding style and used cross compiler. With the Linux kernel in multicondition mode we got 16% performance impact (test done in 100sec, now in 116sec). Some desktop applications had only 7% performance impact, on some weird cross-compilers we had at max. 53% until now...-
Ihre Vorteile mit Testwell CTC++
- Unterstützung von allen Compilern und Cross-Compilern
- Coverage auf allen embedded Targets und Microcontrollern
- Analyse von allen Testabdeckungsstufen bis zur MC/DC- und MCC-Coverage
- Einsetzbar für sicherheitskritische Entwicklungen (Safety)
- Tool-Qualification-Kit verfügbar
- Unterstützung von Penetrationtests (Security)
- Unterstützung von C, C++, Java und C#
- Coverage auf dem Kernel
- Integration in eine Vielzahl von Werkzeugketten und Testumgebungen
- Integration in viele Entwicklungsumgebungen
- unterstützt zahlreiche Betriebssysteme
- arbeitet mit allen Unit Testing Tools
- klare und aussagekräftige Reports
- sehr einfach zu nutzen
- Live-Präsentationen, Schulungen und Online-Präsentationen
- Tausende Lizenzen erfolgreich in sicherheitskritischen Projekten im Einsatz
- Positives Kundenfeedback
- kostenlose Evaluationslizenzen
Häufig gestellte Fragen / Frequently Asked Questions