TU Darmstadt / ULB / TUbiblio

Modellbasierte Generierung und Reduktion von Testsuiten für Software-Produktlinien

Cichos, Harald (2013)
Modellbasierte Generierung und Reduktion von Testsuiten für Software-Produktlinien.
Technische Universität Darmstadt
Dissertation, Erstveröffentlichung

Kurzbeschreibung (Abstract)

Software-Produktlinienentwicklung ist ein Paradigma zur kostengünstigen Entwicklung vieler individueller aber sich ähnelnder Softwareprodukte aus einer gemeinsamen Softwareplattform heraus. Beispielsweise umfasst im Automotive-Bereich eine Software-Produktlinie (SPL) für ein Auto der Oberklasse typischerweise mehrere hunderttausend Softwaresystemvarianten. Um sicherzustellen, dass jede einzelne Produktvariante einer SPL in ihrer Funktionalität der Spezifikation entspricht, kann Testen verwendet werden. Da separates Testen jeder einzelnen Produktvariante meistens zu aufwändig ist, versuchen SPL-Testansätze die Gemeinsamkeiten der Produktvarianten beim Testen auszunutzen. So versuchen diese Ansätze geeignete Testartefakte wiederzuverwenden oder nur eine kleine repräsentative Menge von Produktvarianten stellvertretend für die ganze SPL zu testen. Da Software-Produktlinienentwicklung erst seit einigen Jahren verstärkt eingesetzt wird, sind im SPL-Test noch einige praxisnahe Probleme ungelöst. Beispielsweise existiert bisher kein Testansatz, mit dem sich eine gewisse Abdeckung bezüglich eines gewählten Überdeckungskriteriums auf allen Produktvarianten einer SPL effizient erreichen lässt.

In dieser Arbeit wird ein Black-Box-Testfallgenerierungsansatz für Software-Produktlinien vorgestellt. Mit diesem Ansatz lassen sich für alle Produktvarianten einer SPL eine Menge von Testfällen aus einer formalen Spezifikation (Testmodell), die mit Variabilität angereichert wurde, effizient generieren. Diese Testfallmenge, im Folgenden als vollständige SPL-Testsuite bezeichnet, erreicht auf jeder Produktvariante der SPL eine vollständige Abdeckung bzgl. eines strukturellen Modell-Überdeckungskriteriums. Die Effizienz des Ansatzes beruht auf der Generierung von Testfällen, die variantenübergreifend wiederverwendbar sind. Dadurch müssen mit dem neuen Ansatz weniger Testfälle generiert werden als wenn dies für jede Produktvariante separat geschieht. Um bei Bedarf die Anzahl der generierten Testfälle reduzieren zu können, werden außerdem drei Algorithmen zur Testsuite-Reduktion vorgestellt. Die Neuerung der vorgestellten Algorithmen liegt im Vergleich zu existierenden Reduktionsalgorithmen für Testsuiten von Einzel-Softwaresystemen darin, dass die Existenz von variantenübergreifend verwendbaren Testfällen in einer SPL-Testsuite berücksichtig wird. Dadurch wird sichergestellt, dass trotz Testsuite-Reduktion die vollständige Testmodellabdeckung einer jeden Produktvariante durch die SPL-Testsuite erhalten bleibt. Sollte es aufgrund limitierter Ressourcen nicht möglich sein jede Produktvariante mit den in der vollständigen SPL-Testsuite enthaltenen Testfällen zu testen, kann mittels einer SPL-Testsuite eine kleine repräsentative Produktmenge aus der SPL bestimmt werden, deren Testergebnis (im begrenzten Rahmen) Rückschlüsse auf die Qualität der restlichen Produktvarianten zulässt. Zur Evaluation des Ansatzes wurde dieser prototypisch implementiert und auf zwei Fallbeispiele angewendet.

Typ des Eintrags: Dissertation
Erschienen: 2013
Autor(en): Cichos, Harald
Art des Eintrags: Erstveröffentlichung
Titel: Modellbasierte Generierung und Reduktion von Testsuiten für Software-Produktlinien
Sprache: Deutsch
Referenten: Schürr, Prof. Dr. A.
Publikationsjahr: 2013
Datum der mündlichen Prüfung: 8 Juli 2013
URL / URN: http://tuprints.ulb.tu-darmstadt.de/3567
Kurzbeschreibung (Abstract):

Software-Produktlinienentwicklung ist ein Paradigma zur kostengünstigen Entwicklung vieler individueller aber sich ähnelnder Softwareprodukte aus einer gemeinsamen Softwareplattform heraus. Beispielsweise umfasst im Automotive-Bereich eine Software-Produktlinie (SPL) für ein Auto der Oberklasse typischerweise mehrere hunderttausend Softwaresystemvarianten. Um sicherzustellen, dass jede einzelne Produktvariante einer SPL in ihrer Funktionalität der Spezifikation entspricht, kann Testen verwendet werden. Da separates Testen jeder einzelnen Produktvariante meistens zu aufwändig ist, versuchen SPL-Testansätze die Gemeinsamkeiten der Produktvarianten beim Testen auszunutzen. So versuchen diese Ansätze geeignete Testartefakte wiederzuverwenden oder nur eine kleine repräsentative Menge von Produktvarianten stellvertretend für die ganze SPL zu testen. Da Software-Produktlinienentwicklung erst seit einigen Jahren verstärkt eingesetzt wird, sind im SPL-Test noch einige praxisnahe Probleme ungelöst. Beispielsweise existiert bisher kein Testansatz, mit dem sich eine gewisse Abdeckung bezüglich eines gewählten Überdeckungskriteriums auf allen Produktvarianten einer SPL effizient erreichen lässt.

In dieser Arbeit wird ein Black-Box-Testfallgenerierungsansatz für Software-Produktlinien vorgestellt. Mit diesem Ansatz lassen sich für alle Produktvarianten einer SPL eine Menge von Testfällen aus einer formalen Spezifikation (Testmodell), die mit Variabilität angereichert wurde, effizient generieren. Diese Testfallmenge, im Folgenden als vollständige SPL-Testsuite bezeichnet, erreicht auf jeder Produktvariante der SPL eine vollständige Abdeckung bzgl. eines strukturellen Modell-Überdeckungskriteriums. Die Effizienz des Ansatzes beruht auf der Generierung von Testfällen, die variantenübergreifend wiederverwendbar sind. Dadurch müssen mit dem neuen Ansatz weniger Testfälle generiert werden als wenn dies für jede Produktvariante separat geschieht. Um bei Bedarf die Anzahl der generierten Testfälle reduzieren zu können, werden außerdem drei Algorithmen zur Testsuite-Reduktion vorgestellt. Die Neuerung der vorgestellten Algorithmen liegt im Vergleich zu existierenden Reduktionsalgorithmen für Testsuiten von Einzel-Softwaresystemen darin, dass die Existenz von variantenübergreifend verwendbaren Testfällen in einer SPL-Testsuite berücksichtig wird. Dadurch wird sichergestellt, dass trotz Testsuite-Reduktion die vollständige Testmodellabdeckung einer jeden Produktvariante durch die SPL-Testsuite erhalten bleibt. Sollte es aufgrund limitierter Ressourcen nicht möglich sein jede Produktvariante mit den in der vollständigen SPL-Testsuite enthaltenen Testfällen zu testen, kann mittels einer SPL-Testsuite eine kleine repräsentative Produktmenge aus der SPL bestimmt werden, deren Testergebnis (im begrenzten Rahmen) Rückschlüsse auf die Qualität der restlichen Produktvarianten zulässt. Zur Evaluation des Ansatzes wurde dieser prototypisch implementiert und auf zwei Fallbeispiele angewendet.

Alternatives oder übersetztes Abstract:
Alternatives AbstractSprache

Software product line engineering is a paradigm for low-cost development of many individual but similar software products from a common software platform. For example, in automotive industry a software product line (SPL) of a software system for a luxury vehicle comprises typically more than hundreds of thousands variants. Testing can be used to ensure that the functionality of each single product variant of an SPL complies with its specification. Since testing each product variant separately is too expensive, existing approaches exploit the commonalities of these product variants. Therefore, these approaches reuse appropriate test artifacts or test only a small representative set of variants in place of the entire SPL. Since software product line engineering is a young discipline, some practical problems in SPL testing remain unresolved. For example, so far, no approach exists that achieves a certain coverage with respect to a chosen test coverage criterion for each product variant of an SPL efficiently.

In this thesis a black-box test case generation approach is presented for software product lines. This approach can be used to efficiently generate a set of test cases for all variants of an SPL based on a formal specification (test model) that is enriched with variability. This set of test cases represents a complete SPL test suite that achieves for each product variant of this SPL a complete coverage with respect to structural test model coverage criteria. The efficiency of this approach based on the generation of test cases that are applicable to various product variants. Because of this re-use of test cases, fewer test cases have to be generated compared to generating these separately for each product variant. Additionally, three algorithms are presented for test suite reduction to further reduce the number of generated test cases. The novelty of these algorithms compared to existing reduction algorithms for test suites of single software systems is the consideration of re-useable test cases, which are applied to more than one variant, in a test suite. During test suite reduction, this consideration prevents the unintended decrease of the achieved test model coverage of each product variant. If testing each product variant with appropriate test cases of the complete SPL test suite is not possible due to limited resources, a complete SPL test suite can be used to identify a small representative set of product variants of the SPL. The test results of this representative set allow (to a certain degree) to draw inferences about the quality of the remaining variants. The approach has been implemented as a prototype and applied to two case studies for evaluation.

Englisch
URN: urn:nbn:de:tuda-tuprints-35673
Sachgruppe der Dewey Dezimalklassifikatin (DDC): 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik > Softwaretechnik
20 Fachbereich Informatik
Hinterlegungsdatum: 01 Sep 2013 19:55
Letzte Änderung: 01 Sep 2013 19:55
PPN:
Referenten: Schürr, Prof. Dr. A.
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: 8 Juli 2013
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen