DIT085 Ed 2015 Practical Phase 4

From CERES
Jump to: navigation, search

Objectives

This phase of the project is meant to perform a TDD on a minimal Android client for the WhatsAppGU system and then perform Visual GUI Testing on the complete system under test.

General Description

The subject of this phase is to design an Android application with the following minimal functionality:

  • logging in and connecting to the server,
  • adding a message,
  • fetching all messages for the user, and signaling the server for fetch complete.

For more information on Android application development, we refer to Google's trainings.

Then, Visual GUI testing using Sikuli (or any comparable tool) has to be performed in order to test the main functionality of the system in terms of a few scenarios.


Deliverables

The deliverable for this phase consists of a single zip file with two folders: a folder containing a single pdf file of the report and another folder containing the source code and the test code for the client (comprising both unit tests and GUI test scripts). This phase is organized into 2 sections.


TDD of an Android Client

The Android client at hand will have four main activities: a login activity in which the user enters a unique user Id and connects to the server; the IP address and the port of the server can either be hard coded or included as input in this activity. For all interactions, the XML-like interface developed in Phase 2 will be used. If connection is not successful a toast message should be shown and the user should remain in the same activity. Otherwise, if the connection is established, the user will be moved to the second activity where it can choose among adding a message, fetching messages, or quitting. By choosing add, the user will be moved to the third activity where the text of the to-be-added message can be entered and submitted to the server. Again, the activity should make sure that the addition has been successful and if so, return to the second activity (choice between add and fetch). Otherwise, the user will remain in the same activity and is notified by a toast message. If fetch is chosen all available messages for the user are shown in a separate (fourth) activity and after reading them the user can choose to return to the second activity. Upon quitting the connection to the server is closed and the application is quitted.

Visual GUI Testing

Design at least 5 scenarios of interaction between the client and the server (e.g., login unsuccessful, login successful plus add successful, etc.) and code them as scripts in Sikuli. You can use the emulator for Android cell phones (e.g., available through the Android Eclipse plugin) to test your GUIs. Run the tests and make sure that all of them run successfully. Perform debugging if necessary.