An integrated approach to testing complex systems
Creators: name: Niese, Oliver
Publisher: name: Universität Dortmund
Year: 2003
Subjects: subject: Testen
subject: Komplexe Systeme
subject: Machinelles Lernen
subject: Modellbasierter Test
subject: Testumgebung
subject: Formale Verifikation
subject: Fallstudie
subject: 004

description: Die steigende Komplexität heutiger Testszenarien für komplexe Systeme erfordert einen ganzheitlichen und offenen Ansatz zur Verwaltung des gesamten Testprozesses. Eine Anwendung klassischer modellbasierter Testansätze, in denen eine präzise und vollständige formale Spezifikation des Systems als Referenz zur automatischen Testfallgenerierung dient, ist in der Praxis nicht möglich.Gründe dafür liegen zum einen im Fehlen einer adäquaten formalen Spezifikation. Komplexe Systeme sind aus verschiedenen Komponenten zusammengesetzt, teils Hardware teils Software und oft auch aus Fremdkomponenten. Dadurch ist es inhärent unrealistisch anzunehmen, dass eine solche formale Spezifikation a priori existiert. Andererseits muss eine ausgereifte Testumgebung die Ausführung von verteilten Testfällen unterstützen, denn die Test-Stimuli und -Beobachtungen können an verschiedenen Teilkomponenten des Systems stattfinden.Diese Arbeit präsentiert einen neuartigen Ansatz für das ganzheitliche Testen komplexer Systeme. Der Ansatz stellt eine 'grobgranulare' Testumgebung zur Verfügung, die mittels einer komponentenbasierten Testfallbeschreibung realisiert ist. Die Basis dafür bildet eine Bibliothek von elementaren, aber intuitiv verständlichen Testfallfragmenten. Die Beziehungen zwischen den Testfallfragmenten sind orthogonal. Dies ermöglicht eine Testbeschreibung und -ausführung, die durch formale Verifikationsmethoden ergänzt wird. Hierdurch können die Testfallbeschreibungsaspekte von Experten des Systems und der verwendeten Testwerkzeuge zu Experten der Systemlogik verschoben werden. Der Ansatz wird durch verschiedene, industrielle Fallstudien in zwei verschiedenen Bereichen illustriert: Computer Telephony Integrations Lösungen und Webbasierte Applikationen. Als Erweiterung des ganzheitlichen Testansatzes wird ein Algorithmus zur a posteriori Generierung approximativer Modelle für komplexe Systeme vorgestellt. Dafür wurde ein bekannter Algorithmus aus dem Maschinellen Lernen an applikationsbedingte Charakteristika angepasst, wie Präfix-Abgeschlossenheit,Input-Determinismus, sowie Unabhängigkeit und Symmetrien zwischen Aktionen. Die resultierenden Modelle können zwar nie exakt sein, in dem Sinne, dass sie das vollständige und korrekte Systemverhalten abbilden. Dennoch können sie von hohem praktischen Nutzen sein, da sie das gesammelte Wissen über das System in einer konsistenten Beschreibungsform repräsentieren.
description: The increasing complexity of today's testing scenarios for complex systems demands an integrated, open, and flexible approach to support the managementof the overall test process. ``Classical'' model-based testing approaches, where a complete and precise formal specification serves as a reference for automatic test generation, are often impractical. Reasons are, on the one hand, the absence of a suitable formal specification. As complex systems are composed of several components, either hardware or software, often pre-built and third party, it is unrealistic to assume that a formal specification exists a priori. On the other hand, a sophisticated test execution environment is needed that can handle distributed test cases. This is because the test actions and observations can take place on different subsystems of the overall system. This thesis presents a novel approach to the integrated testing of complex systems. Our approach offers a coarse grained test environment, realized in terms of a component-based test design on top of a library of elementary but intuitively understandable test case fragments. The relations between the fragments are treated orthogonally, delivering a test design and execution environment enhanced by means of light-weight formal verification methods. In this way we are able to shift the test design issues from total experts of the system and the used test tools to experts of the system's logic only. We illustrate the practical usability of our approach by means of industrial case studies in two different application domains: Computer Telephony Integrated solutions and Web-based applications. As an enhancement of our integrated test approach we provide an algorithm for generating approximate models for complex systems a posteriori. This is done by optimizing a standard machine learning algorithm according to domain-specific structural properties, i.e. properties like prefix-closeness, input-determinism, as well as independency and symmetries of events. The resulting models can never be exact, i.e. reflect the complete and correct behaviour of the considered system. Nevertheless they can be useful in practice, to represent the cumulative knowledge of the system in a consistent description.