Evaluation automatisierter Testverfahren in der Software-Entwicklung

Hintergrund

Automatisiertes Testen ist ein wichtiger Bestandteil in der Softwareentwicklung und gewinnt zunehmend an Bedeutung in der mobilen Entwicklung. Die Automatisierung von Unit Tests ist hierbei bereits weitverbreitet. Da UI Tests auf dem selben User Interface ausgeführt werden, mit welchem der Nutzer täglich konfrontiert wird, liefern automatisierte UI Tests zusätzlich nützliche Testresultate.

Durch die Integration von Automated Testing in den täglichen Entwicklungszyklus können Probleme in der Software früh erkannt werden. Dies gewährt Kontrolle über den Entwicklungsprozess und beschleunigt den Entwicklungs- und Deployment-Prozess.

Zielsetzung der Arbeit

Manuelles und automatisiertes Testen werden vorgestellt und in den Vergleich gezogen. Zusätzlich zu dem theoretischem Aspekt wird eine Evaluation durchgeführt. In dieser wird gemessen, welche Benefits eine Kombination von automatisierten und manuellem Testing im Gegensatz zum rein manuellem Testing im Bereich Mobile Development bietet. Hierfür müssen geeignete Messkriterien festgelegt werden. Zur Durchführung wird ein Testsetup konzipiert und entwickelt, in welchem aktuelle Tools zur Testautomatisierung verwendet werden.

Konkrete Aufgaben

Versuchsdesign entwickeln Studie durchführen Studie auswerten Ergebnisse aufbereiten

Erwartete Vorkenntnisse

Ruby, Cucumber, Appium, Continious Integration, Mobile Development

Weiterführende Quellen

Manfred Baumgartner, Richard Seidl und Thomas Bucsics (2012). Basiswissen Testautomatisierung - Konzepte, Methodend und Techniken

Matt Wynne and Aslak Hellesøy (2012). The Cucumber Book - Behaviour-Driven Development for Testers and Developers

Andreas Spillner and Tilo Linz (2012). Basiswissen Softwartest

Tilo Linz (2014). Testing in Scrum: A Guide for Software Quality Assurance in the Agile World (Rocky Nook Computing)