Testen von Software – Überdeckungstesten mit JCov und GCov Martin Franke, 2006 Sommersemester
Inhalt Übersicht JCov Übersicht GCov Vergleich Beispiel
Profiling-Ziele Fragestellungen: Welche Zeilen werden ausgeführt? Wie sieht die Ausführungsverteilung aus? Wie viel Zeit wird für einzelne Abschnitte in Anspruch genommen? Ziel: Leistungsoptimierung
verschiedene JCovs JCoverage (JCov, JCoverage ltd.) JCover (JCov, Codework ltd.) Java-JCov (JCov, Java) JCov (JCov, eValid)
JCov Übersicht (1) Überdeckungstesten grafische Oberfläche für Java Quelltext (Zeile ist kleinste Einheit) und Bytecode: Packages, Klassen
JCov Übersicht (2)
JCov Übersicht (3)
JCov Beurteilung grafische Oberfläche Eclipse-Plugin Weiterentwicklung, Support 19,95 GBP/(Arbeitsplatz und Jahr) Großprojekt-geeignet
JCov Quellen uct.html uct.html /types.3.html /types.3.html
GCov Übersicht Überdeckungstesten Kommandozeile für C, C++ Quelltext, Zeile ist kleinste Einheit gemeinsame Nutzung mit gcc erforderlich meist bereits Linux-Bestandteil, MinGW unter Windows
GCov Vorgehen Programm testfertig schreiben kompilieren mit Testoptionen gcc –fprofile-arcs ftest- coverage Beispiel.cpp Programm ausführen Beispiel.exe GCov ausführen gcov [-b|-f|…] Beispiel.cpp
GCov-Optionen gcov [-v|--version] [-h|--help] [-a|--all-blocks] [-b|--branch-probabilities] [-c|--branch-counts] [-n|--no-output] [-l|--long-file-names] [-p|--preserve-paths] [-f|--function-summaries] [-o|--object-directory directory|file] sourcefile [-u|--unconditional-branches]
GCov Beurteilung frei, plattformübergreifend verfügbar formatierte Textausgaben keine (?) Weiterentwicklung
GCov-Quellen Linux: binutils Windows: MinGW ( Download, minimum Installation)
Gemeinsamkeiten von JCov und GCov Gemeinsamkeiten Überdeckungstesten annähernd gleiche Funktionalität, JCov ist etwas umfangreicher greifen in Programmierstil ein
Unterschiede von JCov und GCov JCov Java nicht frei Grafikausgabe Verbreitung nicht auszumachen GCov C, C++ frei Textausgabe Verbreitung eher gering
GCov-Beispiel
Quellen thread/thread/d901d6d7e579e39a/fd474c980d96bff0?lnk=st&q =JCov&rnum=1#fd474c980d96bff0 thread/thread/d901d6d7e579e39a/fd474c980d96bff0?lnk=st&q =JCov&rnum=1#fd474c980d96bff /text/gprof.txt /text/gprof.txt
Vielen Dank für ihre Aufmerksamkeit