Evaluierung eines Testframeworks für Lebenszyklen mobiler Applikationen


Inhalt

Da mobile Plattformen, wie Android, iOS und Windows Phone, stark eingeschränkte Möglichkeiten der Ein-/Ausgabe von Informationen an den Benutzer (kleines Display) und eine beschränkte Menge Ressourcen zur Verfügung haben, verwenden Sie eine spezielle Scheduling-Strategie für ihre Apps. Zu jedem Zeitpunkt kann nur eine App aktiv sein. So wird sichergestellt, dass die gerade aktive App den gesamten Bildschirm nutzen kann und alle notwendigen Ressourcen zur Verfügung hat. Alle anderen Apps verweilen währenddessen gestoppt oder pausiert im Hintergrund.

Diese Strategie führt jedoch auch dazu, dass Apps häufig ihren Zustand wechseln müssen. Ist beispielsweise auf der Android-Plattform ein Spiel aktiv, während ein Anruf eingeht, so kommt es zu folgenden Zustandswechseln: Das Spiel muss pausiert werden, die Anruf-App wird erstellt, pausiert und gestartet und anschließend wird das Spiel gestoppt. Hierbei beziehen sich die Begriffe pausieren, stoppen, erstellen, … auf die unterschiedlichen Zustände (wie im Modell abgebildet).

 Android 2.2 Lebenszyklusmodell
Bei häufigen Zustandswechseln kann es jedoch auch zu unerwartetem Verhalten der App oder Datenverlust kommen. Wenn beispielsweise in dem obigen Beispiel das Spiel nicht pausiert und der Spielstand nicht gespeichert werden würde, wenn der Anruf eingeht. Dann würde sich der Benutzer bei der Wiederaufnahme des Spiels ärgern, dass er von Neuem beginnen muss und sein Spielstand verloren gegangen ist.

Als Teil der UMIC Software Quality Initiative wurde am Lehrstuhl Informatik 11 ein Testframework entwickelt, welches solche zustandsübergreifenden Eigenschaften von Android-Anwendungen überprüfen kann. In diesem Praktikum soll dieses Testframework eingesetzt und evaluiert werden. Hierzu wird wie folgt vorgegangen:

  • Die Studenten sammeln Ideen für Apps, welche sich besonders gut zur Überprüfung mit dem Testframework eignen. Hierzu sollten die Apps möglichst viele zustandsübergreifende Anforderungen haben, die durch das Testframework abgedeckt werden.
  • Aus den gesammelten Ideen werden zwei Apps mit ähnlichem Umfang implementiert. Das geschieht durch zwei unterschiedliche Teams.
  • Nachdem die Implementierung abgeschlossen ist, wird das vorgehen für die Evaluierung recherchiert und geplant. Der Fokus dieses Praktikums liegt nicht auf der Entwicklung, sondern auf der Evaluierung!!
  • Anschließend wird die Evaluierung des Testframeworks anhand der Apps und der geplanten Vorgehensweise durchgeführt. Dabei werden Fragen wie „Um wieviel erleichtert das Framework die Arbeit?“ und „Wie benutzerfreundlich ist das Framework?“ eine Rolle spielen. Es wird jedoch auch die Mächtigkeit und die Funktionalität evaluiert.


Das Praktikum richtet sich an Informatiker und wird in Teams bearbeitet.

Voraussetzungen

  • Programmiererfahrung in Java
  • (hilfreich) Erfahrungen mit Eclipse
  • (hilfreich) Programmiererfahrung in Android

Termine

  • der regelmäßige Praktikumstermin wird nach Zuteilung mit allen Teilnehmern abgestimmt
  • zusätzlich ist freies Arbeiten in den Teams notwendig
  • Die Ergebnisse des Praktikums werden gegen Ende des Semesters als Teil des Lehrstuhlkolloquiums im Rahmen einer Präsentation vorgestellt

Der erste Termin des Praktikums findet voraussichtlich Anfang Mai 2013 statt.

Anmeldung

  • Über die zentrale Seite für Seminar- und Praktikumsvergabe

Betreuer


RWTH Aachen - Lehrstuhl Informatik 11 - Ahornstr. 55 - 52074 Aachen - Deutschland