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.
Inhaltsverzeichnis
- Einleitung
- Motivation
- Ziele der Arbeit
- Aufbau der Arbeit
- Mutationstests
- Kernhypothesen
- Entstehung von Fehlern
- Entdeckung von Fehlern
- Vorgehen
- Continuous-Integration
- Grundprinzipien
- Der Continuous-Integration-Prozess
- Integration des Mutationstestwerkzeugs
- Vorstellung der Testumgebung
- Quality-Assurance-Extension
- Configuration-Center-Client-Extension
- Configuration-Center-Interface-Extension
- Careerservice-Extension
- Components-Extension
- Attendeelist-Extension
- Application-Editor-Extension
- Auswahl des Mutationstestwerkzeugs
- Anforderungen an das Mutationstestwerkzeug
- Vorstellung des gewählten Mutationstestwerkzeug
- Vorgehen bei der Integration
- Anpassung des Buildskripts
- Auswertung der Integration
- Herausforderungen während der Integration
- Anpassung an HISinOne
- Ressourcenverbrauch
- Auswertung der Mutationstests
- Interpretation der Ergebnisse
- Analyse der Laufzeiten
- Mutation Score und Testüberdeckung
- Methoden zur Testverbesserung
- Conditionals Boundary Mutator
- Negate Conditionals Mutator
- Math Mutator
- Increments Mutator
- Invert Negatives Mutator
- Return Values Mutator
- Void Method Call Mutator
- Fazit
Zielsetzung und Themenschwerpunkte
Die Arbeit befasst sich mit der Integration eines Mutationstestwerkzeugs in einen Continuous-Integration-Prozess und der anschließenden Analyse der gewonnenen Erkenntnisse. Der Fokus liegt auf der Vereinbarkeit von Mutationstests mit einem Continuous-Integration-Prozess und der systematischen Ableitung von Maßnahmen zur Testverbesserung.
- Integration eines geeigneten Mutationstestwerkzeugs in den Continuous-Integration-Prozess der Software HISinOne.
- Bewertung der Integration des Mutationstestwerkzeugs hinsichtlich der benötigten Ressourcen.
- Analyse des Nutzens von Mutationstests zur Testverbesserung.
- Bewertung der Aussagekraft von Mutationstests im Vergleich zu anderen Qualitätsmaßen.
- Entwicklung von Methoden zur Testverbesserung auf Basis der Ergebnisse von Mutationstests.
Zusammenfassung der Kapitel
Kapitel 1 führt in die Thematik der Arbeit ein und beschreibt die Motivation, die Zielsetzung und den Aufbau.
Kapitel 2 erläutert die Grundlagen des Mutationstestens, insbesondere die Kernhypothesen und das Vorgehen bei der Anwendung.
Kapitel 3 beschäftigt sich mit den Prinzipien der Continuous-Integration und beschreibt den Continuous-Integration-Prozess.
Kapitel 4 dokumentiert die Integration des Mutationstestwerkzeugs Pitest in den Continuous-Integration-Prozess der Software HISinOne. Es werden die Auswahlkriterien für das Werkzeug und das Vorgehen bei der Integration erläutert.
Kapitel 5 analysiert die Ergebnisse der Integration. Es werden Herausforderungen und Lösungsmöglichkeiten aufgezeigt, sowie die Ergebnisse der Mutationstests diskutiert.
Schlüsselwörter
Mutationstests, Continuous-Integration, HISinOne, Pitest, Testqualität, Testverbesserung, Mutation Score, Anweisungsüberdeckung, Zweigüberdeckung.
- Quote paper
- Lea Kristin Gerling (Author), 2015, Integration eines Mutationstestwerkzeugs in einen Continous-Integration-Prozess, Munich, GRIN Verlag, https://www.grin.com/document/335399