Protokoll vom Projekttreffen am 10.04.2002 ========================================== Protokollant: Jens Hanisch 1. Anmerkungen zum alten Protokoll + Protokollant bestimmen - keine Anmerkungen - Protokollant Jens Hanisch 2. Schwerpunktthema 'Testen' - Vortrag Jens Hanisch: Instrumentierung der XCTL-Quellen - Powerpoint Präsentation - kurz: + Wozu Instrumentierung ? - BlackBox-Testfälle sollen mit funktionaler Codeüberdeckung auf Vollständigkeit untersucht werden + div. Tools - Problem: keine Unterstützung von 16-Bit Borland Code ! - gefunden: CTC++ in alter MSDOS-Version mit Unterstützung unserer Quellen + Vorstellung des Tools CTC++ - Unterstützung von function coverage, decision coverage, multicondition coverage, interface coverage, timing - Lizenz bis 31.August 2002 (geplanter Diplomabschluss) - Instrumentierung/Auswertung mit make automatisiert + Anwendung auf das XCTL-System - 2 unterschiedliche Verfahren zur Instrumentierung möglich: 1. Instrumentierung ohne vorherigen CPP-Preprozessor 2. Instrumentierung nach vorherigen CPP-Preprozessor - Vorteil 1. Variante: problemlose Erstellung einer instr. Programmversion - Nachteile 1. Variante: erheblich ! Messfehler durch unregistrierte bzw. doppelt registrierte Funktionen, wegen fehlendem Preprozessor etc. -> 2. Variante vorzuziehen !! - Nachteil 2. Variante: schwierig funktionsfähige Programmversion zu ertstellen Grund: aus instrumentierten DLL's werden unvollständige Bibliotheken (lib's) erstellt. Dafür keine Erklärung ! Maßnahme: "stopfen" fehlender Funktionen beim Linken durch zusätzliche Objektfiles -> das verursacht Konflikte !! - Vorstellung der Konfliktlösungen + Ergebnisse der dyn. Analyse - 661 von 984 registrierten Funktionen wurden nach 22 Testfällen angesprungen -> entspricht 67% aller Funktionen der XCTL-Quellen - nicht angesprungene Funktionen: + Code für spezielle Detekoren (TRadicon, TBraun_Psd...) + Code für spezielle Motoren (TC_812GPIB) + Code für Funktionen, die reale HW erfordern (TAreaScanCCD) -> können innerhalb der Umgebungssimulation nicht angesprungen werden + einige Funktionen werden nicht von UseCases erfasst (z.B. About-Dialog), dafür (noch) keine def. Testfälle ! - Vortrag Johann Letzel: Weitere Arbeiten an AutoTest - LaTeX-Folien Präsentation zum Stand der Arbeit - kurz: + Ziel: Komfortabler automatisierter Test des XCTL-Systems (oder anderer Windows-Software) + Grundlage: Nachrichtenaustausch über die Win32-API + Bereits realisiert: Systemnahe Skriptssprache zur Steuerung + Problem: Sprache ist schwierig und unflexibel gegenüber Änderungen der Oberfläche der zu testenden Anwendung + Lösung: intuitivere höhere Skriptsprache, welche die Win32-API "versteckt" und sich den Änderungen der zu testenden Oberfläche anpasst + Benötigte (entwickelte) Komponenten: - 1.) Parser für die systemnahe Sprache + ATS-Parser schon während Studienarbeit entwickelt + wurde in C++ reimplementiert, um Funktionen auch anderen Komponenten zur Verfügung zu stellen + Design verbessert, Sprachumfang erweitert - 2.) Parser/Übersetzer zur Umsetzung der höheren in die systemnahe Skriptsprache + mehrere ATS-Kommandos zur Ausführung einer Aktion sollen zu einem Kommando zusammengefasst werden + genaue Notation der Hochsprache noch in Entwicklung - 3.) Resourcen-Parser, zur Sammlung der Informationen über die Oberfläche der zu testenden Anwendung aus den RC-Dateien + Skript-Kommandos sollen Dialoge/Steuerelemente über ihre Bezeichnungen identifizieren + Dazu Datenbank aus Header-Dateien und RC-Files bilden (Uniform Resource File) + soll editierbar sein und unabhängig vom Borland-Format + Syntax der RC-Files nicht trivial ! (z.b. 5 verschiedene Notationen für einen einfachen Button) + entwickelte Klassen übernehmen Teilaufgaben beim Parsen (Zeilen zerlegen, Matchen etc.) + Regeln zum Matchen bekannter RC-Strukturen stehen in RUL-Dateien - Ausblick: + Test-Suite, die alle obigen Komponenten umfasst und intuitiv bedient werden kann + zusätzlich soll eine Komponente zum Import von attributierten CTE-Diagrammen integriert werden (wird derzeit von Jens Hanisch implementiert) 3. Aktuelle Arbeiten: Kurzinformation der einzelnen Gruppen - Jens Klier: + immernoch Probleme mit Stacküberlauf + Benutzung von "Code-Guard" brachte keine Ergebnisse + Suche nach Tool zur Laufzeit-Überwachung von 16-Bit Programmen + Idee: Code-Instrumentierung der neuen Quellen mit CTC++ zur Analyse der aufgerufenen Funktionen -> dazu Kommunikation mit Jens Hanisch + Idee (Andreas Wenzel): Disassembler Soft-Ice ausprobieren - Jan Picard und Rene Harder: + keine Neuigkeiten - Thomas Kullmann und Günther Reinecker (Manuelle Justage): + Pflichtenheft fast fertig + Testfälle von Jens Hanisch werden auf neue Manuelle Justage angepasst - Tobias Thiel: + Übersetzung der CTE-Dokumentation abgeschlossen + 1. Version der Studienarbeit in ca. zwei Wochen - Andreas Wenzel: + keine Neuigkeiten