Objektorientierte Testverfahren

 

– Testen objektorientierter Software –
Aus dem Inhalt des CC Seminars:
  • Testen objektorientierter Software
    Das Testdilemma; Besonderheiten objektorientierter Software; Kapselung und
    Vererbung; Mehrdeutigkeit, Nachrichtenvermittlung, Verteilung und Objektverwaltung;
    Warum mehr Testaufwand; die Rolle des Testens in der iterativen Softwareentwicklung.
  • Objektorientierte Testmethodik
    Konventionelle Testmethoden; ablauf-, daten- und funktionsbezogene Testansätze;
    objektorientierte Testmethoden; zustands-, steuerfluß- und daten­flußbezogene
    Testansätze; Zusicherungstechnik; Klassentest, Komponen-tentest und
    Integrationstest.
  • Klassentest
    Statische und dynamische Analyse der Klassen; Aufbau einer Klassentest-umgebung;
    Ableitung der Klassentestfälle aus dem Klassendiagramm; Klassentestarten;
    Testtreiber; Teststubs; der Builtin Test; Klassentestfälle.
  • Testen von C++-Klassen
    Geometriebeispiel; Objektmodell; Ermittlung der Testfälle; Einbau der Test­fälle
    in die Klassen; Auslösung der Testfälle; Validierung der Testergeb­nisse.
  • Testen von Java-Klassen
    Geometriebeispiel; Simulation der Oberfläche durch das Overrideing der
    Listenerklassen durch Testklassen; Erfassung der Testskripte; Proto­kollierung
    der Testergebnisse; Testen mit Junit und Junit++; Erfahrungen mit GEOS Java.
  • Integrationstest der Klassen und Komponenten
    Ziele, Mittel und Umfang des Integrationstests bei objektorientierter Softwa­re;
    die Bedeutung der Schnittstellen; Generierung und Validierung der Nachrichten;
    Ablaufverfolgung über Klassengrenzen hinaus; Sequenz- und
    Kollaborationsdiagramme als Basis für die Validierung der Interaktionen.
  • CORBA-Integrationstest
    Beispiel eines Point of Sell Systems; Analyse des Objektmodells; Ableitung der Testfälle
    aus der IDL-Schnittstellendefinition; Instrumentierung der IDL; Testen der
    Einzelkomponente; Testen der Komponenteninteraktion.
  • Testen von XML-Schnittstellen
    Ableitung datenbezogener Testfälle aus den XML-Dokumenten; Gene­rierung von
    XML-Schnittstellen; Abgleich der XML-Schnittstellen; Home Banking Beispiel.
  • Objektorientierte Testüberdeckung
    Konventionelle Testüberdeckungsmaße; Anweisungs-, Zweig- und Pfad­überdeckung;
    Probleme mit der konventionellen Testüberdeckungs­messung; objektorientierte
    Testüberdeckungsmessung; Methoden-, Objekt- und Schnittstellenüberdeckung.
  • Objektorientierte Testwerkzeuge
    Klassentestwerkzeuge wie Junit, Parasoft, Cantata, Testbed und McCabe;
    Integrationstestwerkzeuge wie Purify, Silktest, BugTrapper und Animator;
    Testmessungswerkzeuge wie Analysator, Profiler und Instumentor.