Softwareentwicklung: Aktuelle Masterarbeiten aus dem Studiengang

A Model for Measuring Maintainability Based on Source Code Characteristics

David Leitner, MSc

Da Softwaresysteme immer öfter unternehmenskritische Geschäftsfelder abdecken, gilt es das Auftreten von Fehlverhalten zu minimieren. Gleichzeitig müssen sich Unternehmen kontinuierlich neu ausrichten, um bei einem sich ständig wandelnden Markt wettbewerbsfähig zu bleiben. Dies macht Veränderungen in Softwaresystemen unvermeidlich, wodurch deren Wartbarkeit an Bedeutung gewinnt. Daraus ergibt sich das Interesse, diese Eigenschaft in bestehenden Softwaresystemen messbar zu machen. Aus diesem Grund analysiert diese Arbeit bestehende Herangehensweisen zur Messung von Wartbarkeit. Aus der Untersuchung dieser Methoden werden Anforderungen für einen modellbasierten Ansatz abgeleitet und definiert. Diese Voraussetzungen bilden die Grundlage für das vorgestellte Modell, welches auf der Korrelation zwischen der Wartbarkeit von Softwaresystemen und der technischen Qualität des Quellcodes basiert. Das entwickelte Modell wird in weiterer Folge auf bestehende Softwareprojekte angewendet, um die gewonnenen Ergebnisse zu bewerten und zu diskutieren. Das Ziel dieser Arbeit ist es, aufgrund dieser Erkenntnisse zu prognostizieren, ob und mit welcher Genauigkeit die Wartbarkeit von Softwaresystemen gemessen werden kann. Final werden die Vorteile des vorgestellten Modells im Vergleich zu bereits etablierten Ansätzen zur Messung von Wartbarkeit demonstriert.

Download: Master Thesis David Leitner 2017.pdf 

Usability Evaluierung von komplexen Systemen zur Informationsanalyse im Bereich der Applikationsüberwachung

Johanna Strutzenberger, MSc

Usability ist ein entscheidender Faktor für unterschiedlichste Produkte. Die üblichen Bespiele zur Beschreibung von Konzepten und Methoden der Usability Evaluierung sind jedoch oftmals einfache Anwendungen wie Online Shops oder Webseiten. Nur selten wird auf komplexe Beispiele, wie Systeme zur Informationsanalyse und Entscheidungsfindung, näher eingegangen. Dabei weisen diese Systeme auf Grund ihrer komplexen Aufgabenstellungen ganz andere Eigenschaften und Anforderungen an die Bedienung auf.

Diese Arbeit stellt sich der Frage, ob klassische Evaluierungsmethoden, wie Usability Tests und Metriken, auch zur Messung der Usability von komplexen Systemen zur Informationsanalyse effizient und effektiv genutzt werden können.

Zu diesem Zweck wurde die Usability einer realen firmeninternen Anwendung eines österreichischen Unternehmens evaluiert. Dabei handelt es sich um ein System zur Analyse von Daten, die während des Betriebs einer Softwareapplikation gesammelt werden, mit dem Ziel, den Zustand des Applikationsbetriebes zu bewerten. Zuerst wurde das bestehende System evaluiert, basierend auf diesen Ergebnissen wurde ein neues und verbessertes System entwickelt und dieses anschließend erneut evaluiert. Die Usability beider Systeme wurde durch moderierte Usability Tests und dem SUS Fragebogen überprüft. Anhand der gesammelten Daten wurden Usability Metriken wie Time on Task und Task Success ausgewertet und im Detail analysiert.

In der Gegenüberstellung beider Auswertungen zeigt sich eine deutliche Verbesserung im neuen System bei allen ausgewerteten Metriken zu den Usability Kriterien Effizienz, Effektivität und Zufriedenheit. Außerdem konnte damit dargelegt werden, dass die gemessenen Ergebnisse vergleichbar sind. Zusätzlich wurden im ersten Test wertvolle Usability Probleme erkannt und deren Verbesserungen in der zweiten Evaluierung des neuen Systems gemessen. Mit dieser Arbeit wird daher gezeigt, dass klassische Evaluierungsmethoden, wie Usability Tests und Metriken, auch bei komplexen Analysesystemen angewendet werden können und zu sinnvollen Ergebnissen führen.

Download: Johanna Strutzenberger 2017.pdf 

GUI-Testautomatisierung von mobilen Applikationen am Beispiel von qando

Mag. Roman Pickl, MSc

Der dynamische Markt für mobile Applikationen, die zunehmende Gerätevielfalt, immer kürzer werdende Releasezyklen sowie steigende Nutzeranforderungen stellen große Herausforderungen für das Testen in mobilen Entwicklungsprojekten dar. Durch bloßes manuelles Testen ist es nicht mehr möglich alle neuen und bestehenden Funktionen in jeder Iteration eines Projekts zu testen, stabile Qualität sicherzustellen und die Wirtschaftlichkeit des Projekts zu gewährleisten. Der Einsatz von Testautomatisierung wird damit unabdingbar. Testautomatisierung ist jedoch weder ein Patentrezept, noch sind Testautomatisierungsprogramme für mobile Applikationen so ausgereift wie vergleichbare Werkzeuge für Web- und Desktop-Applikationen.

In der vorliegenden Arbeit wird daher untersucht wie und in welchem Umfang GUITestautomatisierung von mobilen Applikationen dazu beitragen kann, Testaufwände zu reduzieren, Regressionen frühzeitig zu erkennen und die Qualität zukünftiger Releases langfristig zu verbessern. Dazu werden am Beispiel von qando, einer mobilen Info-App für den urbanen öffentlichen Verkehr, sinnvoll zu automatisierende Funktionen festgelegt und ein geeignetes Automatisierungswerkzeug ausgewählt. Mit diesem wird die Testautomatisierungs durchgeführt und die dafür notwendigen Erweiterungen vorhandener Basisfunktionalitäten beschrieben.

Es wird gezeigt, dass die wichtigsten, business-kritischen, Testfälle mit Hilfe des ausgewählten Automatisierungswerkzeugs und des entwickelten Testautomatisierungsframeworks plattformübergreifend automatisiert werden können. Darauf aufbauend werden Möglichkeiten zur Weiterentwicklung, zur Integration in den Entwicklungsprozess und zur Wartung der Automatisierungslösung erläutert sowie Empfehlungen abgeleitet. Die Ergebnisse der Arbeit richten sich an SoftwareentwicklerInnen, TesterInnen und TestautomatisiererInnen mobiler Applikationen. 

Download: Master Thesis Roman Pickl 2016.pdf