Fraikin, Falk (2004)
Entwicklungsbegleitendes Testen mittels UML Sequenzdiagrammen.
Technische Universität Darmstadt
Dissertation, Erstveröffentlichung
Kurzbeschreibung (Abstract)
UML Sequenzdiagramme sind ein wesentlicher Bestandteil des Designs bei der Anwendung von einer Reihe von verbreiteten Softwareentwicklungsprozessen wie zum Beispiel Rational Unified Process oder Feature Driven Development. Außerdem finden sie Verwendung bei der Beschreibung von Design Patterns und generell bei der Beschreibung von Schnittstellen. Da die Implementierung konform zu diesen Diagrammen erfolgen soll, stellt sich die Frage, inwieweit sich die Diagramme als Basis für dynamische Tests nutzen lassen. Diese Fragestellung ist insofern nahe liegend, da UML Sequenzdiagramme sich mit ihren Objekten und Nachrichten intuitiv auf die Instanzen und Methodenaufrufe eines objektorientierten Programms abbilden lassen und damit einen logischen Testfall darstellen. Ergänzt man die Methodenaufrufe im Sequenzdiagramm um Aufrufparameter und Rückgabewerte, so erhält man einen konkreten Testfall für die Kommunikation zwischen den abgebildeten Instanzen der zu testenden Klassen. Im ersten Teil dieser Arbeit wird der Begriff der "Testbaren Sequenzdiagramme" eingeführt, der die Anforderungen an ein UML Sequenzdiagramm definiert, die sicherstellen, dass das Diagramm einen konkreten, d.h. ausführbaren Testfall beschreibt. Einzelne testbare Sequenzdiagramme lassen sich zu kombinierten testbaren Sequenzdiagrammen zusammenfügen. Dies reduziert sowohl die Anzahl als auch die Komplexität der benötigten einzelnen testbaren Sequenzdiagramme. Da das in einem testbaren Sequenzdiagramm beschriebene Verhalten nicht nur als Testeingabe dient, sondern auch gleichzeitig das erwartete Ergebnis beschreibt, bietet es sich beim Testen auf der Basis von Sequenzdiagrammen an, die Testergebnisse ebenfalls als Sequenzdiagramme darzustellen. Um eine effektive Evaluation der Testergebnisse zu ermöglichen, wird für testbare Sequenzdiagramme ein Verfeinerungskonzept entwickelt, das eine Informationshierarchie für testbare Sequenzdiagramme definiert. Im zweiten Teil der Arbeit wird das Testwerkzeug SeDiTeC vorgestellt, das die im ersten Teil der Arbeit vorgestellten Konzepte implementiert. Dabei werden weitere Anforderungen definiert, die an ein solches Testwerkzeug gestellt werden, und es wird beschrieben, wie diese in SeDiTeC realisiert wurden. Hierzu gehört u.a. die Möglichkeit der automatischen Generierung von "intelligenten" Teststubs.
Typ des Eintrags: |
Dissertation
|
Erschienen: |
2004 |
Autor(en): |
Fraikin, Falk |
Art des Eintrags: |
Erstveröffentlichung |
Titel: |
Entwicklungsbegleitendes Testen mittels UML Sequenzdiagrammen |
Sprache: |
Deutsch |
Referenten: |
Mezini, Prof. Dr. Mira |
Berater: |
Henhapl, Prof. Dr. Wolfgang |
Publikationsjahr: |
21 Januar 2004 |
Ort: |
Darmstadt |
Verlag: |
Technische Universität |
Datum der mündlichen Prüfung: |
3 Dezember 2003 |
URL / URN: |
urn:nbn:de:tuda-tuprints-3963 |
Kurzbeschreibung (Abstract): |
UML Sequenzdiagramme sind ein wesentlicher Bestandteil des Designs bei der Anwendung von einer Reihe von verbreiteten Softwareentwicklungsprozessen wie zum Beispiel Rational Unified Process oder Feature Driven Development. Außerdem finden sie Verwendung bei der Beschreibung von Design Patterns und generell bei der Beschreibung von Schnittstellen. Da die Implementierung konform zu diesen Diagrammen erfolgen soll, stellt sich die Frage, inwieweit sich die Diagramme als Basis für dynamische Tests nutzen lassen. Diese Fragestellung ist insofern nahe liegend, da UML Sequenzdiagramme sich mit ihren Objekten und Nachrichten intuitiv auf die Instanzen und Methodenaufrufe eines objektorientierten Programms abbilden lassen und damit einen logischen Testfall darstellen. Ergänzt man die Methodenaufrufe im Sequenzdiagramm um Aufrufparameter und Rückgabewerte, so erhält man einen konkreten Testfall für die Kommunikation zwischen den abgebildeten Instanzen der zu testenden Klassen. Im ersten Teil dieser Arbeit wird der Begriff der "Testbaren Sequenzdiagramme" eingeführt, der die Anforderungen an ein UML Sequenzdiagramm definiert, die sicherstellen, dass das Diagramm einen konkreten, d.h. ausführbaren Testfall beschreibt. Einzelne testbare Sequenzdiagramme lassen sich zu kombinierten testbaren Sequenzdiagrammen zusammenfügen. Dies reduziert sowohl die Anzahl als auch die Komplexität der benötigten einzelnen testbaren Sequenzdiagramme. Da das in einem testbaren Sequenzdiagramm beschriebene Verhalten nicht nur als Testeingabe dient, sondern auch gleichzeitig das erwartete Ergebnis beschreibt, bietet es sich beim Testen auf der Basis von Sequenzdiagrammen an, die Testergebnisse ebenfalls als Sequenzdiagramme darzustellen. Um eine effektive Evaluation der Testergebnisse zu ermöglichen, wird für testbare Sequenzdiagramme ein Verfeinerungskonzept entwickelt, das eine Informationshierarchie für testbare Sequenzdiagramme definiert. Im zweiten Teil der Arbeit wird das Testwerkzeug SeDiTeC vorgestellt, das die im ersten Teil der Arbeit vorgestellten Konzepte implementiert. Dabei werden weitere Anforderungen definiert, die an ein solches Testwerkzeug gestellt werden, und es wird beschrieben, wie diese in SeDiTeC realisiert wurden. Hierzu gehört u.a. die Möglichkeit der automatischen Generierung von "intelligenten" Teststubs. |
Alternatives oder übersetztes Abstract: |
Alternatives Abstract | Sprache |
---|
When applying software development processes as Rational Unified Process or Feature Driven Development, UML sequence diagrams are an essential part of software design. Furthermore they are used for describing design patterns and for describing interfaces in general. Realizing that the implementation is supposed to conform to those diagrams raises the question, how those diagrams can be used as a basis for dynamic testing. This question suggests itself in so far as UML sequence diagrams and their objects and messages can be mapped intuitively to instances and method calls of object-oriented programs, thus representing a logical test case. Complementing the method calls of a sequence diagram with parameters and return values creates a concrete test case for the communication between the depicted instances of the classes under test. The first part of this thesis introduces the notion of "Testable Sequence Diagram", which defines the requirements a diagram has to meet to describe a concrete, e.g. executable test case. Single testable sequence diagrams can be joined to create combined testable sequence diagrams, thus reducing the number and the complexity of the set of testable sequence diagrams needed. As the behaviour described in a testable sequence diagram not only represents the test input, but furthermore defines the expected result, it is reasonable to also display the test results as sequence diagrams while testing based on sequence diagrams. To allow for an effective way of evaluating the test results a concept of refinement for testable sequence diagrams is presented that defines an information hierarchy for testable sequence diagrams. The second part of this thesis describes the test tool SeDiTeC that implements the concepts introduced in the first part of this thesis. Further requirements for a sequence diagram based test tool are defined followed by a description of the way SeDiTeC implements those requirements. Among other things this includes the possibility to automatically generate "intelligent" test stubs. | Englisch |
|
Freie Schlagworte: |
Sequenzdiagramm, Teststumpf |
Schlagworte: |
Einzelne Schlagworte | Sprache |
---|
sequence diagram, test stub | Englisch |
|
Sachgruppe der Dewey Dezimalklassifikatin (DDC): |
000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik |
Fachbereich(e)/-gebiet(e): |
20 Fachbereich Informatik |
Hinterlegungsdatum: |
17 Okt 2008 09:21 |
Letzte Änderung: |
26 Aug 2018 21:24 |
PPN: |
|
Referenten: |
Mezini, Prof. Dr. Mira |
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: |
3 Dezember 2003 |
Schlagworte: |
Einzelne Schlagworte | Sprache |
---|
sequence diagram, test stub | Englisch |
|
Export: |
|
Suche nach Titel in: |
TUfind oder in Google |
|
Frage zum Eintrag |
Optionen (nur für Redakteure)
|
Redaktionelle Details anzeigen |