Protokoll vom Projekttreffen am 11.07.2002 ========================================== Protokollant: Johann Letzel Aktueller Stand zu den Arbeiten am automatisierten Test des XCTL (J. Hanisch und J. Letzel) ------------------------------------------------------------------------------------------- 1. Nachwort zur Quellcode-Instrumentierung (J. Hanisch) - Ziel: Untersuchung der Vollständigkeit der Testfälle mittels funktionaler Überdeckung - Tool: CTC++ für 16-Bit - 2 Varianten: + Ohne Precompiler: # Vorteil: Keine ANpassung des Quellcodes möglich # Nachteil: Probleme mit bedingter Übersetzung, Klassenbezug geht verloren + Mit Precompiler # Vorteil: obige Nachteile entfallen # Nachteil: Probleme bei Erstellung einer funktionierenden version - Probleme bei der 2. Variante: Es wurden unvollständige Bibliotheken erzeugt. - Lösung: Alle Compilerparameter für alle Object-Dateien im Makefile angeben - Aussichten: + Abschluss bis 31.8.2002 (Lizenz läuft aus) + Alle 22 Testfälle bis dahin überprüfen + Andere Überdeckungstest sind aufgrund technischer Einschränkungen nicht möglich 2. Systematischer Testfallentwurf mit CTE (J. Hanisch) - Weg: Attributierte CTE-Diagrame, die bereits die auszuführenden Skriptkommandos enthalten - Lizenz für Version 2.1.5 des CTE bis 30.9.2002 vorhanden - Version 2.2.x nur im Institut einsetzbar - Grundlage bildete die Arbeit von Stefan Lützkendorf - Reimplementierung in C++ mit Unterschieden: + Nicht alle Funktionen wurde übernommen, da nicht benötigt + Aber auch neues hinzugefügt - Aber: Abweichung vom eigentlichen Konzept der CTE-Diagramme. Äquivalenzklassen werden nicht aus den Testdaten gebildet sondern aus Dialogen und Steuerelementen (Oberfläche). - Weiteres Problem: Automatische Generierung von Solldaten-Dateien - Müssten durch Testläufe erzeugt werden, dadurch wird später aber nur ein 1:1-Vergleich durchgeführt 3. Spezifikation einer höheren Skriptsprache (J.Hanisch) - Aktionen für alle relevanten Steuerlemente abgeschlossen - Jedes HTS Kommando wird in Reihe von ATS-Kommandos übersetzt - Fast komplette Umsetzung von HTS auf ATS - Erweiterung der ATS-Sprache aufgrund neuer Anforderungen und Einschränkungen der WIn32-API - Übersetzung über die Klasse Matcher und einer Regeldatei -> Somit nachträglich änderbar - Zur Übersetzung werden Oberflächeninformationen in Form einer URF-Datei benötigt - Kontextabhängige Fehlerbehandlung wurde mit in der Regeldatei integriert. Fehlercodes der ATS-Sprache werden im Kontext des jeweiligen HTS-Kommandos behandelt und in eine verbale Formulierung übersetzt. 4. Überblick über momentanten Stand der Implementation (J. Letzel) - Bereits realisiert: + Niedere Skriptsprache (ATS) + RCParser + Entwurf für höhere Skriptsprache (HTS) + Pflichentheft für Testumgebung - In Arbeit: + HTS->ATS Umsetzer und Parser + Test-Umgebung - Erweiterung der ATS-Sprache (Ergänzung) + Komplexe Steuerlemente benötigen Speicherstrukturen um Informationen zu erlangen. + Das Behandeln dieser ist aber abhängig vom Kontext, der auf ATS-Ebene nicht sichtbar ist. 5. Der RCParser (J. Letzel) - Extrahiert relevante Daten aus den RC- und H-Dateien für die Testumgebung - Nachträgliche Bearbeitung möglich. - Konflikterkennung - Ist bereits im EInsatz - Kleiner Konflikt in den XCTl-Ressourcen: In der Datei RC_PRTOW.H wird die Standard-ID IDHELP mit einem anderen Wert als dem Standardwert redefiniert 6. Die Testumgebung ATOS (J. Letzel) - Intutitive Oberfläche zum Erstellen und Ausführen von HTS-Kommandos - Nur Korrekte und konsitente Eingaben werden zugelassen - Struktur der Kommandos und Angaben für die GUI werden in einer externen Datei beschreiben -> anpassbar - Komponenten von ATOS: + HTSParser: Umsetzer und Parser für HTS + URFParser: List URF-Dateien ein + COmmandProcessor: Hilft bei der Erzeugung von korrekten Kommandos - Erzeugung von Kommandos: + Mit dem Matcher und einer Regeldatei, die korrekte HTS-Kommandos beschreibt + Stufenweiser Aufbau eines Kommandos + Manche Parameter beinflussen die nachfolgende Struktur des Kommandos + Die Regeldatei enthält auch Angaben für die ATOS-Klasse und die GUI + Somit auch Oberfläche (z.B. an eine andere Sprache) anpassbar Nächtes Treffen --------------- 18.7.2002