Die Überwachung und anschließende Analyse des Laufzeitverhaltens einer Softwarekomponente ist ein wichtiges Verfahren
beim Debugging von Software. Für das Verständnis des Laufzeitverhaltens sind zwei wichtige Verfahren erforderlich:
-
Die Überwachung der Software während der Ausführung der Laufzeit.
-
Die Analyse der erfassten Überwachungsdaten.
Die Überwachung und Analysetechniken selbst sind nicht abhängig von den Tests, soweit das Laufzeitverhalten überwacht
und analysiert werden kann, ohne dass Testeingaben vordefiniert oder Testtechniken verwendet werden müssen, um das
Anwendungsverhalten zu beeinflussen. Tests können mit Laufzeitüberwachungstechniken und -tools kombiniert werden:
Beispielsweise können Tools, die die Laufzeitüberwachung automatisieren, während der Testausführung verwendet werden
und die Transparenz des Laufzeitverhaltens der auf den Test reagierenden Komponente erhöhen.
Es ist zwar wichtig, das gesamte Verhalten während der Laufzeitausführung der Software sorgfältig zu überwachen, es
gibt jedoch normalerweise auch wichtige Überwachungspunkte, die für spezielle Überwachungspunkte nützlich sind. Diese
wichtigen Überwachungspunkte sind oft:
-
Entscheidungspunkte, an denen der Pfad der Softwarelogik sich verzweigen wird bzw. sich bereits verzweigt hat.
-
Abschlusspunkte, an denen ein wichtiger Logikpfad abgeschlossen wurde, was normalerweise einen Statuswechsel in der
Softwareumgebung zur Folge hat.
-
Ein Schnittstellenpunkt zwischen zwei eigenständigen Anwendungskomponenten.
-
Ein Schnittstellenpunkt zwischen der Software und ihrer Ausführungsumgebung einschließlich aller Schnittstellen zu
Hardwarekomponenten.
Diese Überwachungspunkte können auch Steuerpunkten zugeordnet werden, an denen es wünschenswert erscheint, entweder den
Anwendungsstatus oder den Steuerfluss durch die Logikpfade zu ändern. Diese Problemstellungen werden oft als
Steuerungs- und Überwachungspunkte bezeichnet.
Die Laufzeitüberwachung schließt statische Überwachungspunkte als primären Ansatz, z. B. die Überprüfung des statischen
Softwarequellcodes oder der Beziehungen zwischen den Softwarebausteinen, die in visuellen Modellen usw. erfasst wurden,
aus. Stattdessen erfordert sie eine ausführbare Softwarekomponente und bietet nützliche, nicht über andere
Debugging-Techniken abrufbare Informationen darüber, wie die entwickelte Komponente sich verhält, wenn sie ausgeführt
wird, entweder in der Testumgebung oder in der endgültigen Deployment-Umgebung. Die Überwachungsdaten, die zum
Laufzeitverhalten erfasst werden, können nacheinander zu statischen Elementen in Bezug gesetzt werden, um zusätzliche
Informationen zu erhalten.
Die Analyse der Softwarelaufzeit ist einfach das Verfahren, bei dem man versucht, das Verhalten einer
Softwarekomponente durch Untersuchung der Daten, die während der Ausführung der Softwarelaufzeit erfasst wurden, zu
interpretieren. Bei der Entwicklung der Komponente durch den Implementierer ist die Laufzeitüberwachung und -analyse
ein Aspekt der vom Implementierer ausgeführten Debugging-Aktivitäten.
Aufgrund des potenziellen Volumens der groben Informationen, die über das Laufzeitverhalten erfasst werden können, der
Geschwindigkeit, mit der diese Informationen generiert werden und der anschließenden Schwierigkeit, die potenziell
große Informationsmenge zu interpretieren, ist die Unterstützung automatischer Tools ein Schlüsselfaktor bei der
Umsetzung dieses Verfahrens. Es gibt verschiedene Ansätze, mit denen Sie selbst Toolunterstützung bereitstellen können,
und eine Vielzahl von Tools, die Sie käuflich erwerben können. So können Sie die Zeit, den Aufwand und die Kosten
sparen, die für die Entwicklung eigener Tools erforderlich wären.
Weitere Informationen zur Laufzeitüberwachung und zu Analysetools finden Sie im Abschnitt PurifyPlus.
|