Grin logo
de en es fr
Shop
GRIN Website
Texte veröffentlichen, Rundum-Service genießen
Zur Shop-Startseite › Informatik - Software

Integration eines Mutationstestwerkzeugs in einen Continous-Integration-Prozess

Titel: Integration eines Mutationstestwerkzeugs in einen Continous-Integration-Prozess

Bachelorarbeit , 2015 , 58 Seiten , Note: 1,7

Autor:in: Lea Kristin Gerling (Autor:in)

Informatik - Software
Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

Diese Arbeit dokumentiert die Integration des Mutationstestwerkzeugs Pitest in den Continuous-Integration-Prozess der Software HISinOne. Dabei werden aufgetretene Herausforderungen während der Integration betrachtet und Lösungsmöglichkeiten vorgestellt. Den Kern dieser Arbeit bildet die Auswertung der von Pitest erzeugten Ergebnisse. Dabei wird die Frage beantwortet, wie sich die relativ hohen Ressourcenanforderungen von Mutationstests mit einem Continuous-Integration-Prozess vereinbaren lassen. Außerdem wird rläutert, wie sich aus den gewonnen Ergebnissen der Mutationstests systematisch Maßnahmen zur Testverbesserung ableiten lassen.

Eine Qualitätseigenschaft von Softwaretests ist die Fähigkeit, Fehler in der getesteten Software zu entdecken. Diese Eigenschaft kann durch die Anwendung von Mutationstests ermittelt werden. Mutationstests bauen künstlich erzeugte Fehler in ein Programm ein und messen anschließend, wie viele dieser Fehler durch die vorhandenen Testfälle entdeckt werden. Der Mutationstestprozess lässt sich durch Mutationstestwerkzeuge automatisieren.

Um die Qualität der Testfälle nach jeder Änderung am Programm- oder Testcode zu überprüfen ist es sinnvoll, Mutationstests in einen Continuous-Integration-Prozess zu integrieren. Bei dieser Art der Softwareentwicklung werden Veränderungen am System kontinuierlich eingepflegt.

Leseprobe


Inhaltsverzeichnis

1 Einleitung

1.1 Motivation

1.2 Ziele der Arbeit

1.3 Aufbau der Arbeit

2 Mutationstests

2.1 Kernhypothesen

2.1.1 Entstehung von Fehlern

2.1.2 Entdeckung von Fehlern

2.2 Vorgehen

3 Continuous-Integration

3.1 Grundprinzipien

3.2 Der Continuous-Integration-Prozess

4 Integration des Mutationstestwerkzeugs

4.1 Vorstellung der Testumgebung

4.1.1 Quality-Assurance-Extension

4.1.2 Configuration-Center-Client-Extension

4.1.3 Configuration-Center-Interface-Extension

4.1.4 Careerservice-Extension

4.1.5 Components-Extension

4.1.6 Attendeelist-Extension

4.1.7 Application-Editor-Extension

4.2 Auswahl des Mutationstestwerkzeugs

4.2.1 Anforderungen an das Mutationstestwerkzeug

4.2.2 Vorstellung des gewählten Mutationstestwerkzeug

4.3 Vorgehen bei der Integration

4.4 Anpassung des Buildskripts

5 Auswertung der Integration

5.1 Herausforderungen während der Integration

5.1.1 Anpassung an HISinOne

5.1.2 Ressourcenverbrauch

5.2 Auswertung der Mutationstests

5.2.1 Interpretation der Ergebnisse

5.2.2 Analyse der Laufzeiten

5.2.3 Mutation Score und Testüberdeckung

5.3 Methoden zur Testverbesserung

5.3.1 Conditionals Boundary Mutator

5.3.2 Negate Conditionals Mutator

5.3.3 Math Mutator

5.3.4 Increments Mutator

5.3.5 Invert Negatives Mutator

5.3.6 Return Values Mutator

5.3.7 Void Method Call Mutator

6 Fazit

Zielsetzung & Themen

Die Arbeit untersucht die Herausforderungen und Lösungsansätze bei der Integration eines Mutationstestwerkzeugs in einen bestehenden Continuous-Integration-Prozess. Das primäre Ziel besteht darin, zu analysieren, ob und wie sich die hohen Ressourcenanforderungen von Mutationstests mit den Anforderungen einer effizienten Softwareentwicklung vereinbaren lassen und wie daraus systematische Maßnahmen zur Testverbesserung abgeleitet werden können.

  • Integration von Mutationstests in Continuous-Integration-Umgebungen
  • Analyse von Ressourcenverbrauch und Buildlaufzeiten
  • Evaluierung des Mutationstestwerkzeugs Pitest
  • Methoden zur Testverbesserung mittels Mutationstests

Auszug aus dem Buch

1.1 Motivation

Softwaretests sind eine Möglichkeit, Fehler in einer Software zu entdecken. Je später ein Fehler entdeckt wird, desto höher sind die Kosten für seine Behebung [Boe79, S.1]. Daher ist es sinnvoll, Softwaretests nach jeder Änderung am System auszuführen. Ein geeignetes Vorgehen dafür ist Continuous-Integration. Bei dieser Art der Software-Entwicklung werden Änderungen kontinuierlich in das Gesamtsystem eingepflegt. Nach jeder Änderung wird das System durch automatisierte Softwaretests überprüft [FF06, S. 5f].

Durch Testen lässt sich allerdings nie die vollständige Abwesenheit von Fehlern nachweisen [Dij72, S. 6]. Daher ist es das Ziel von Softwaretests, die Anzahl der vorhandenen Fehler in dem getesteten Programm zu minimieren. Idealerweise geschieht dies möglichst effizient, da die vorhandenen Ressourcen in einem Softwareprojekt beschränkt sind [DIN09]. Effizienz bedeutet in diesem Kontext, dass möglichst viele Fehler durch möglichst wenig Aufwand entdeckt werden. Testfälle, die zwar Ressourcen verbrauchen, aber keine Fehler entdecken, sind nutzlos. Ein Qualitätskriterium einer Testmenge ist demnach ihre Fähigkeit, Fehler in der getesteten Software zu entdecken. Je mehr Fehler durch eine vorhandene Testmenge entdeckt werden, desto besser ist die Testqualität.

Mutationstesten ist eine in den 1970er Jahren vorgestellte Methode, um die Entdeckungsfähigkeit einer Testmenge zu bestimmen [DLS78]. Dazu werden künstlich generierte Fehler in ein Programm eingefügt. Je mehr dieser Fehler von den vorhandenen Testfällen erkannt werden, desto besser ist die Entdeckungsfähigkeit der Testmenge. Der Mutationstestprozess lässt sich durch Mutationstestwerkzeuge automatisieren. Um eine kontinuierliche Überwachung der Testqualität zu gewährleisten, ist es daher sinnvoll, ein Mutationstestwerkzeug in einen Continuous-Integration-Prozess zu integrieren.

Zusammenfassung der Kapitel

1 Einleitung: Dieses Kapitel motiviert die Integration von Mutationstests, definiert die Ziele der Bachelorarbeit und erläutert ihren Aufbau.

2 Mutationstests: Es werden die theoretischen Grundlagen der Mutationstests, insbesondere Kernhypothesen wie die Competent Programmer Hypothesis und der Coupling Effect, sowie das Vorgehen vorgestellt.

3 Continuous-Integration: Dieser Abschnitt führt in die Grundprinzipien der Continuous-Integration ein und beschreibt den Standard-Prozess sowie die Rolle unterstützender Werkzeuge.

4 Integration des Mutationstestwerkzeugs: Hier wird die praktische Integration des Werkzeugs Pitest in HISinOne dokumentiert, angefangen bei der Auswahl des Werkzeugs bis hin zur Anpassung der Buildskripte.

5 Auswertung der Integration: In diesem Kapitel werden die Herausforderungen der Integration analysiert, Ergebnisse der Mutationstests interpretiert und Methoden zur systematischen Testverbesserung abgeleitet.

6 Fazit: Das Fazit reflektiert die Erreichung der Zielsetzung und gibt einen Ausblick auf mögliche zukünftige Entwicklungen im Bereich der automatisierten Testqualitätssicherung.

Schlüsselwörter

Mutationstests, Continuous-Integration, Softwaretest, Pitest, Testqualität, Software-Ökosystem, HISinOne, Testüberdeckung, Mutation Score, Buildskript, Java, Softwareentwicklung, Testverbesserung, Inkrementelle Analyse, Qualitätssicherung

Häufig gestellte Fragen

Worum geht es in dieser Arbeit grundsätzlich?

Die Arbeit beschäftigt sich mit der Integration eines Mutationstestwerkzeugs in einen Continuous-Integration-Prozess, um die Testqualität in komplexen Softwareprojekten zu überwachen und zu verbessern.

Was sind die zentralen Themenfelder der Arbeit?

Die zentralen Themen sind Mutationstests, Continuous-Integration-Prozesse, die Performance-Optimierung von Build-Pipelines und die Ableitung von Maßnahmen zur Testverbesserung basierend auf Mutationsergebnissen.

Was ist das primäre Ziel oder die Forschungsfrage?

Das Hauptziel ist die Analyse der Vereinbarkeit der hohen Ressourcenanforderungen von Mutationstests mit den strikten Anforderungen eines Continuous-Integration-Prozesses in großen Softwareprojekten.

Welche wissenschaftliche Methode wurde verwendet?

Die Arbeit basiert auf einer Literaturanalyse zu Mutationstests und Continuous-Integration sowie einer praktischen Fallstudie, bei der das Werkzeug Pitest in verschiedene Extensions der Software HISinOne integriert und hinsichtlich Laufzeit und Ergebnisqualität evaluiert wurde.

Was wird im Hauptteil der Arbeit behandelt?

Im Hauptteil werden die theoretischen Grundlagen erläutert, die Auswahl von Pitest als Werkzeug begründet, der detaillierte Integrationsprozess (inklusive Build-Anpassungen) beschrieben und die Messergebnisse hinsichtlich Performance und Testüberdeckung analysiert.

Welche Schlüsselwörter charakterisieren die Arbeit?

Die Arbeit ist primär durch Begriffe wie Mutationstests, Continuous-Integration, Testqualität, Pitest, Mutation Score und Software-Ökosystem charakterisiert.

Welche Rolle spielt die "inkrementelle Analyse" bei Pitest?

Die inkrementelle Analyse ermöglicht es, bei erneuten Testläufen nur geänderte Klassen und Testfälle zu berücksichtigen, was die Laufzeit der Builds im Vergleich zur vollen Analyse signifikant verkürzt.

Warum wurde Pitest als Werkzeug ausgewählt?

Pitest wurde gewählt, weil es als eines der wenigen Werkzeuge die Anforderungen der Integration in einen Ant-basierten Continuous-Integration-Prozess erfüllte und performant genug für die spezifische Zielumgebung war.

Welches Fazit zieht der Autor bezüglich der Integration?

Der Autor kommt zu dem Schluss, dass die Integration zwar technisch möglich ist und einen hohen Mehrwert bietet, jedoch aufgrund des hohen initialen Arbeitsaufwands und der Wartungsintensität eine klare Priorisierung innerhalb der Softwareentwicklung erfordert.

Ende der Leseprobe aus 58 Seiten  - nach oben

Details

Titel
Integration eines Mutationstestwerkzeugs in einen Continous-Integration-Prozess
Hochschule
Universität Hildesheim (Stiftung)
Note
1,7
Autor
Lea Kristin Gerling (Autor:in)
Erscheinungsjahr
2015
Seiten
58
Katalognummer
V335399
ISBN (eBook)
9783668253377
ISBN (Buch)
9783668253384
Sprache
Deutsch
Schlagworte
Mutationstests Pitest Continuous-Integration Softwaretests
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Lea Kristin Gerling (Autor:in), 2015, Integration eines Mutationstestwerkzeugs in einen Continous-Integration-Prozess, München, GRIN Verlag, https://www.grin.com/document/335399
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  58  Seiten
Grin logo
  • Grin.com
  • Versand
  • Kontakt
  • Datenschutz
  • AGB
  • Impressum