Please use this identifier to cite or link to this item: http://dx.doi.org/10.14279/depositonce-1309
Main Title: UML-basierter Klassen- und Integrationstest objektorientierter Programme
Translated Title: UML-Based Class and Integration Testing of Object-Oriented Programs
Author(s): Sokenou, Dehla
Advisor(s): Jähnichen, Stefan
Granting Institution: Technische Universität Berlin, Fakultät IV - Elektrotechnik und Informatik
Type: Doctoral Thesis
Language: German
Language Code: de
Abstract: Der Softwaretest ist ein in der Praxis weit verbreitetes Verfahren zur Qualitätssicherung von Software. Das Softwareprodukt wird beim Softwaretest mit einer Menge von Eingabedaten stimuliert und die Ausgaben auf ihre Korrektheit im Hinblick auf die Spezifikation überprüft. Modellbasierte Ansätze zum Softwaretest finden mit der Verbreitung modellbasierter Softwareentwicklung auch in der Domäne der objektorientierten Programme immer mehr an Bedeutung. Das Modell dient in der modellbasierten Softwareentwicklung nicht mehr nur zur Dokumentation der Software, sondern vorrangig zur automatischen Generierung von Software und zur automatischen Ableitung von Testfällen, mit denen das Programm stimuliert wird, und Testorakeln, die Testergebnisse mit erwarteten Ergebnissen vergleichen. In der Dissertation wird eine Technik zur Ableitung von Testfällen und Testorakeln aus UML-Modellen vorgestellt. Anders als viele andere Arbeiten zum UML-basierten Test werden verschiedene UML-Bestandteile und damit verschiedene Sichten auf das zu testende Programm berücksichtigt. Testfälle werden aus einer Kombination von Sequenz- und Zustandsdiagrammen abgeleitet. Die Sequenzdiagramme spezifizieren dabei die Testsequenzen, die Zustandsdiagramme dienen der Initialisierung der Testsequenzen. Testorakel werden durch Kombination von Zustandsdiagrammen und OCL-Constraints erzeugt. Ein weiterer Schwerpunkt der Arbeit ist die Integration des erzeugten Testcodes in die zu testende Software (Instrumentierung) unter Verwendung aspektorientierter Programmiertechniken. Diese erlauben das Hinzufügen und Entfernen von zusätzlichem Code – hier: Testcode –, ohne den Quelltext der bestehenden Software zu ändern. Aspektorientierte Programmiertechniken eignen sich durch diese Eigenschaft besonders gut für die Instrumentierung, da der zusätzliche Testcode meist nur während der Testphase benötigt wird und danach ohne Aufwand wieder entfernt werden kann.
Software testing is a widely used method for software quality assurance. It involves stimulating the software product with a quantity of input data and and checking the correctness of the output with respect to the specification. With the spread of model-based software development, model-based approaches to software testing are also gaining increasing importance in the domain of object-oriented programming. In model-based software development, the model no longer only serves to document the software; its principal function is to automatically generate software and automatically derive test cases to stimulate the program, as well as test oracles to compare the test results with expected results. The present thesis presents a technique for deriving test cases and test oracles from UML models. Unlike much of the other work on UML-based testing, it takes into account different UML components and thus different views of the program under test. Test cases are derived from a combination of sequence and state diagrams. Here, the sequence diagrams specify the test sequences, while the state diagrams are used to initialize them. Test oracles are generated by combining state diagrams with OCL constraints. Another focus of the thesis is integrating the generated test code into the software under test (instrumentation) using aspect-oriented programming techniques. These allow additional code – in this case: test code – to be added or removed without changing the source code of the existing software. This feature makes aspect-oriented programming techniques particularly well suited for instrumentation because in most cases the additional test code is only needed during the test phase and can then be easily removed again.
URI: urn:nbn:de:kobv:83-opus-12392
http://depositonce.tu-berlin.de/handle/11303/1606
http://dx.doi.org/10.14279/depositonce-1309
Exam Date: 6-Sep-2005
Issue Date: 6-Mar-2006
Date Available: 6-Mar-2006
DDC Class: 004 Datenverarbeitung; Informatik
Subject(s): Aspektorientierte Programmierung
Modellbasierter Test
Objektorientierte Software
Testen
UML 2
Aspect-Oriented Programming
Model-Based Testing
Object-Oriented Software
Testing
UML 2
Usage rights: Terms of German Copyright Law
Appears in Collections:Technische Universität Berlin » Fakultäten & Zentralinstitute » Fakultät 4 Elektrotechnik und Informatik » Institut für Softwaretechnik und Theoretische Informatik » Publications

Files in This Item:
File Description SizeFormat 
Dokument_16.pdf870,53 kBAdobe PDFThumbnail
View/Open


Items in DepositOnce are protected by copyright, with all rights reserved, unless otherwise indicated.