Systematisches Testen von Mobile Applikationen

08 Aug 2013

Meta

  • Author: Stefanie Grimm
  • State: completed
  • Study programme: Computer Science, Software Engineering
  • Degree: Bachelor (B. Sc.)
  • Thesis report
  • Source code

Thesis

In allen Bereichen in denen Software ihren Einsatz findet, ist die Qualität der Software zu einem entscheidenden Faktor für den Erfolg eines Unternehmens und deren Produkten geworden.

Um Qualität von Softwaresystemen zu erreichen, wird Software geprüft und getestet. Hierzu durchläuft Spftware Testphasen. Die zugehörigen Tests sind bekannt als Komponententest, Integrationstest, Systemtest und Abnahmetest. Innerhalb der Testphasen gibt es verschiedene Testarten, z.B. Black-Box-Test, White-Box-Test, funktionaler Test oder Codeüberdeckung.

Mit zunehmender Anzahl von Smartphones und Tablets steigt heutzutage auch die Bedeutung mobiler Anwendungen. Bei Softwaretests von zunehmend komplexer werdenden mobilen Anwendungen kommen zu den Anforderungen der Tests herkömmlicher Anwendungen weitere Problemfelder hinzu. So gibt es Situationen in denen sich das Gerät mal mittels WLAN, mal mittels UMTS verbindet. Apps sind ggf. von Ortungsdiensten abhängig. Ortungsdienste wie GPS oder Gallileo sind aber nicht immer verfügbar, so dass WLAN-basierte oder funkmastbasierte Ortungsfunktionen geringerer Güte genutzt werden. Display Auflösungen, Speicher- und Prozessorausstattung unterscheiden sich zwischen den mobilen Geräteklassen teilweise erheblich.

Im Rahmen dieser Bachelorarbeit soll daher ein allgemeiner Überblick über Softwaretestverfahren gegeben werden und anhand einer geeigneten mobilen Applikation und deren Eignung für das Android Betriebssystem untersucht werden.

Hierzu sind verschiedenste Open Source Testframeworks zu recherchieren, die die Testarten

  • Funktionstest
  • Kontrollflusstest
  • Softwaremessung
  • Stil-/Codeanalyse

sowie den Testphasen

  • Komponententest (Modultest)
  • Integrationstest
  • Systemtest (Funktionstest, Leistungstest, Stresstest, Regressionstest)

abdecken.

Auf Basis dessen erfolgt eine Evaluation der Testframeworks anhand folgender Kriterien:

  • Installationskomplexität
  • Bekanntheitsgrad
  • Komplexität der zu entwickelnden Tests
  • Aufwand der Einarbeitung

So soll die Eignung der jeweiligen Frameworks für Testphasen/Testarten erhoben und aufbereitet werden.