Volltextdatei(en) vorhanden
Titel: Model-based Regression Testing of Evolving Software Systems
Sonstige Titel: Model-basierte Regressionstesten für entwickelnde Softwaresysteme
Sprache: Englisch
Autor*in: Farooq, Quratulann
Schlagwörter: Regressionstesten; Abhängigkeiten; Impact Analyse; Model-basierte; UML; UTP; BPMN; Regression Testing; Dependencies; Model-based; Impact Analysis; UML; UTP; BPMN
GND-Schlagwörter: EvolutionGND
Test
Testen
Erscheinungsdatum: 2015
Tag der mündlichen Prüfung: 2016-06-24
Zusammenfassung: 
Changes are required to evolve software systems in order to meet the requirements emerging from technological advances, changes in operating platforms, end user needs, and demands to fix errors and bugs. Studies have shown that about one third of a project’s budget is spent to test these changes to ensure the system correctness. To minimize the testing cost and effort, model-based regression testing approaches select a subset of test cases earlier by tracing the changes in analysis and design models to the tests. However, modeling of complex software systems demands to cover various views, such as structural view and behavioral view. Dependency relations exist between these views due to overlapping and reuse of various concepts. These dependency relations complicate regression testing by propagating the changes across the models of different views and tests. Change impact analysis across the models and tests is required to identify the potentially affected test cases by analyzing the change propagation through dependency relations.

This thesis presents a holistic model-based regression testing approach, which exploits the interplay of changes and dependency relations to forecast the impact of changes on tests. A baseline test suite, the one used for testing the stable version of software, is required for the selection of test cases. To enable a test baseline, our approach supplements a model-driven test generation approach that uses model transformations to generate various test aspects. The approach uses BPMN and UML models and generates test models expressed as UML Testing Profile (UTP).

Dependency relations are recorded prior to the impact analysis by using a two-fold approach; during the generation of baseline test suite and by using a rule-based dependency detection approach. This prevents repeated search of dependency relations for each change and makes our approach less time extensive. Change impact analysis across tests is supported by integrating a rule-based impact analysis approach. The approach enables a set of rules, which analyze previously recorded dependency relations and change types to further propagate the impact of a change. To precisely define various changes in models, the approach also synthesizes a change taxonomy for a consistent representation of complex changes in the models. Finally, to distinguish between various potentially affected tests, our approach presents the concept of test classification rules. Test classification rules analyze the type of an affected element, the type of the applied change, and other related elements to decide whether the affected element is obsolete, unaffected, or required for regression testing.

To demonstrate the applicability of our approach in practice, we adapted our approach for the domain of business processes and support BPMN, UML, and UTP models. The tool support for our approach is available in two prototype tools; VIATRA Test Generation Tool (VTG) and EMFTrace. VTG generates UTP test baseline from BPMN and UML models using model transformations. EMFTrace is a tool, which was built initially to support the rule-based dependency detection among models. It is further extended to support the rule-based impact analysis and rule-based test classification. These tools help us to evaluate our approach on a case study from a joint industrial project to enable business processes of a field service technician on mobile platforms. The results of our evaluation show promising improvements with an average reduction of the test cases by 46% achieved with an average precision and recall of 93% and 87% respectively.

Software Systeme erfordern kontinuierliche Änderungen, um sie an die Anforderungen neuer Technologien, Einsatzumgebungen und Kundenwünsche anzupassen sowie um bestehende Defekte zu beheben. Dabei wurde durch Studien nachgewiesen, dass bis zu einem Drittel der gesamten Projektkosten allein auf das Testen der Software nach Änderungen entfallen, um weiterhin deren Korrektheit zu gewährleisten. Um diese Kosten zu minimieren, können durch modellbasiertes Testen nur die absolut notwendigen Testfälle durch die Nachverfolgung von Änderungen vorselektiert werden. Durch den reduzierten Testaufwand ist es darüber hinaus auch möglich, selbst in noch frühen Entwicklungsphasen systematische Regressionstests auszuführen. Die Modellierung komplexer Systeme setzt jedoch die Nutzung verschiedener Sichten voraus, so z.B. die Struktur oder Verhaltenssicht eines Systems. Aufgrund von Überschneidungen und Abhängigkeiten dieser Sichten breiten sich Änderungen über mehrere Sichten und deren Modelle hinweg aus und erschweren somit das Regressionstesten. Mithilfe von Impact Analyse muss diese Änderungsausbreitung erfasst werden, um damit die für die Regressionstests einzuschließenden Testfälle zu identifizieren.

Diese Arbeit präsentiert einen umfassenden Ansatz für modellbasiertes Regressionstesten, der das Zusammenspiel verschiedener Typen von Abhängigkeiten und Änderungsoperationen für die Auswahl von Testfällen auswertet. Der Ansatz zeichnet die zu untersuchenden Abhängigkeiten zunächst auf, um eine wiederholte Abhängigkeits analyse pro Änderungsoperation zu vermeiden. Zur Ermittlung der Auswirkungen der Änderungen auf Modelle und Testfälle, integriert der Ansatz ein regelbasiertes Impact Analyse Verfahren, welches das Zusammenspiel von Änderungsoperationen und Abhängigkeitsbeziehungen analysiert. Die verwendeten Regeln bestimmen die Ausbreitung von Änderungen, indem sie die Abhängigkeitsbeziehungen zwischen Modellen untersuchen. Für die Definition von Änderungen stellt diese Arbeit eine Taxonomie von Änderungsoperationen bereit, die die konsistente Modellierung auch von komplexen Operation ermöglicht. Da das Vorhandensein einer Testbaseline eine wesentliche Voraussetzung des Regressionstestens ist, stellt der Ansatz zusätzlich ein modellgetriebenes Testerzeugungsverfahren vor, um eine solche Testbaseline durch Modelltransformationen zu erzeugen. Um zwischen den betroffenen Testfällen weiter differenzieren zu können, stellt diese Arbeit ein weiteres Konzept vor, um Testfälle entweder als Obsolet, Wiederverwendbar, Testbar, oder Neu zu kategorisieren.

Um die Anwendbarkeit des Ansatzes auch für praktische Probleme zu demonstrieren, wurde der Ansatz für die Domäne der Geschäftsprozesse erweitert und hinsichtlich der Unterstützung von BPMN, UML sowie dem UML Testing Profile (UTP) angepasst.Geeignete Werkzeugunterstützung wird dabei durch zwei Prototypen bereitgestellt: das VIATRA Test Generation Tool (VTG) und EMFTrace. Während VTG die Testbaseline aus BMPN- und UML-Modellen durch Modelltransformationen generiert, ermöglicht EMFTrace eine automatisierte Suche nach Abhängigkeiten zwischen diesen Modellen und bietet darüber hinaus Unterstützung für regelbasierte Impact Analyse sowie regel-basierte Testklassifizierung. Mithilfe beider Werkzeuge wurde eine Fallstudie im Rahmen eines industriellen Kooperationsprojektes durchgeführt, im Laufe derer typische Geschäftsprozesse von Servicetechnikern auf mobile Endgeräte abgebildet wurden. Die Ergebnisse dieser Studie zeigen dabei deutliche Verbesserungen hinsichtlich Precision und Recall und der Reduktion des Testaufwands sowie dem Abdeckungsgrad der Test-fälle durch den vorgestellten Ansatz für modellbasiertes Regressionstesten.
URL: https://ediss.sub.uni-hamburg.de/handle/ediss/7187
URN: urn:nbn:de:gbv:18-84901
Dokumenttyp: Dissertation
Betreuer*in: Riebisch, Matthias (Prof. Dr.-Ing. habil.)
Enthalten in den Sammlungen:Elektronische Dissertationen und Habilitationen

Dateien zu dieser Ressource:
Datei Beschreibung Prüfsumme GrößeFormat  
Dissertation.pdfade320ec16318a95a1f5cce9ca00882e3.47 MBAdobe PDFÖffnen/Anzeigen
Zur Langanzeige

Diese Publikation steht in elektronischer Form im Internet bereit und kann gelesen werden. Über den freien Zugang hinaus wurden durch die Urheberin / den Urheber keine weiteren Rechte eingeräumt. Nutzungshandlungen (wie zum Beispiel der Download, das Bearbeiten, das Weiterverbreiten) sind daher nur im Rahmen der gesetzlichen Erlaubnisse des Urheberrechtsgesetzes (UrhG) erlaubt. Dies gilt für die Publikation sowie für ihre einzelnen Bestandteile, soweit nichts Anderes ausgewiesen ist.

Info

Seitenansichten

726
Letzte Woche
Letzten Monat
geprüft am 17.10.2024

Download(s)

224
Letzte Woche
Letzten Monat
geprüft am 17.10.2024
Werkzeuge

Google ScholarTM

Prüfe