Grundlagen
Der dynamische Test beschreibt die PrĂŒfung des Testobjekts durch dessen AusfĂŒhrung auf einem Rechner. Damit ein dynamischer Test durchgefĂŒhrt werden kann, muss ein ablauffĂ€higes Programm vorliegen.
In den unteren Teststufen (Komponenten- und Integrationstest) ist das Testobjekt oft noch nicht als eigenstĂ€ndiges Programm lauffĂ€hig. Es muss daher in einen Testrahmen (Test Bed) eingebettet werden, um die AusfĂŒhrung zu ermöglichen.
Treiber und Platzhalter bilden zusammen den Testrahmen, der mit dem Testobjekt zusammen das ablauffÀhige Programm ergibt.
Unterschied zum statischen Testen
Der wesentliche Unterschied zwischen statischen und dynamischen Tests liegt in der AusfĂŒhrung des Testobjekts. WĂ€hrend beim statischen Test Dokumente und Programmtext ohne eine AusfĂŒhrung auf einem Rechner geprĂŒft werden, setzt der dynamische Test ein ablauffĂ€higes Programm voraus, das mit Testdaten versorgt und tatsĂ€chlich ausgefĂŒhrt wird.
Gegenstand der PrĂŒfung
Statische Tests können auf alle Arten von Arbeitsergebnissen (Anforderungen, EntwĂŒrfe, Quellcode, VertrĂ€ge, BenutzerhandbĂŒcher) angewendet werden. Dynamische Tests konzentrieren sich ausschliesslich auf den ausfĂŒhrbaren Programmcode.
Art der gefundenen Fehler
Statische Tests entdecken FehlerzustÀnde (Defekte) direkt im Dokument. Dynamische Tests weisen dagegen Fehlerwirkungen (AusfÀlle) nach, also die sichtbaren Konsequenzen von im Code verborgenen FehlerzustÀnden.
Zeitpunkt im Lebenszyklus
Statische Verfahren können sehr frĂŒh (z.B. direkt nach der Erstellung einer Spezifikation) eingesetzt werden. Dynamische Tests können erst durchgefĂŒhrt werden, wenn ein ausfĂŒhrbares Programmfragment vorliegt.
QualitÀtsmerkmale
Statische Tests bewerten vor allem die innere QualitÀt und Wartbarkeit (Struktur, Einhaltung von Standards). Dynamische Tests messen Eigenschaften, die erst zur Laufzeit sichtbar werden, wie Performanz, Antwortzeiten oder das Ressourcenverhalten.
Vor- und Nachteile
RealitĂ€tsprĂŒfung
Sichtbarkeit von Fehlwirkungen
Messbarkeit
SpÀterer Start
Aufwendige Diagnose
Infrastrukturbedarf
Elemente des Testrahmens
Testobjekt
Das Testobjekt ist die Komponente oder das (Teil-)System, das getestet wird. Es wird mit Eingabedaten versehen und zur AusfĂŒhrung gebracht.
Testtreiber
Ein Testtreiber ist ein Testwerkzeug oder ein speziell entwickeltes Programm, das das Testobjekt aufruft und/oder steuert. Der Treiber muss das Testobjekt mit den Eingabedaten versorgen.
Platzhalter
Das Testobjekt ruft meist weitere Programmteile ĂŒber definierte Schnittstellen auf. Wenn diese Teile noch nicht implementiert oder nur simuliert werden sollen, werden sie durch Platzhalter (Stubs) realisiert. Platzhalter simulieren das Ein-/Ausgabeverhalten des eigentlich aufzurufenden Programmteils.
Laufzeitumgebung, Analysewerkzeuge, Monitore
Die gesamte Umgebung, in der der Test ablĂ€uft, umfasst die benötigte Hardware, Simulatoren, Softwarewerkzeuge und weitere unterstĂŒtzende Hilfsmittel.
Testausgaben, Vergleich und Protokoll
Das Testobjekt erzeugt Ausgaben. Die Ergebnisse des Testlaufs sind zu protokollieren. Das tatsÀchliche Ergebnis wird mit dem erwarteten Ergebnis verglichen, um Abweichungen und Fehlerwirkungen festzustellen.
Blackbox- und Whitebox-Testverfahren
Zur systematischen Erstellung von TestfÀllen beim dynamischen Testen werden Testverfahren in zwei Hauptkategorien eingeteilt.
Blackbox-Testverfahren
Basis
Blackbox-Verfahren werden auch spezifikationsbasierte oder verhaltensgesteuerte Verfahren genannt. Die TestfÀlle werden aus der Spezifikation oder Anforderungsbeschreibung abgeleitet.
Sichtweise
Das Testobjekt wird als »schwarzer Kasten« angesehen; Informationen ĂŒber den Programmtext und den inneren Aufbau sind nicht erforderlich.
Steuerung und Beobachtung
Der Point of Control (PoC) (Steuerung) und der Point of Observation (PoO) (Beobachtung) liegen ausserhalb des Testobjekts.
Fokus
Diese Verfahren konzentrieren sich auf die Eingaben und Ausgaben des Testobjekts.
Whitebox-Testverfahren
Basis
Whitebox-Verfahren werden auch strukturelle oder strukturbasierte Verfahren genannt. Die TestfÀlle werden aufgrund der Programmstruktur (Programmcode oder detaillierte Spezifikation) gewonnen.
Sichtweise
Diese Verfahren fokussieren auf die Struktur und die AblÀufe innerhalb des Testobjekts.
Steuerung und Beobachtung
Der PoO (Beobachtung) liegt innerhalb des Testobjekts, da der innere Ablauf analysiert wird. In AusnahmefÀllen kann der PoC (Eingriff in den Ablauf) auch innerhalb des Testobjekts liegen.
Ziel
Ein nachzuweisender Ăberdeckungsgrad (z. B. 80 % aller Anweisungen des Testobjekts sollen ĂŒberdeckt werden) wird angestrebt.
Anwendung
Das primÀre Anwendungsgebiet liegt im Komponententest bzw. dem Test der API der zu testenden Komponenten.
Last updated