You are here:
Development of Cloud based Android Testing Framework

Development of Cloud based Android Testing Framework

People
Academic Supervisor: 
Liam Murphy
Project Mentor: 
Seán Murphy
Student: 
Mark Ahern
Project Specification
Subject: 
Mobile Application Testing
Prerequisites: 
mobile device programming
Project Type: 
Design and Implementation
Software Requirements: 
OS Knowledge, App Engine (ideally), Android (ideally)
Hardware Requirements: 
Access to the Cloud!
Preassigned: 
No
Description
General Information: 

Testing of mobile applications is an area which is primed for growth. As with web applications today (eg usertesting.com), there will be a need for crowd-sourced testing of mobile applications. To realize this, it is necessary to develop solutions which make it very easy for testers to engage with heterogeneous mobile applications.

For remote testing of mobile applications, it is desirable to enable testers to use a cloud based mobile device emulator. More specifically, it is desirable for testers to access a mobile device emulator directly from the browser. This obviates the need to download an emulator and install a mobile application. This project will focus on providing such a solution.

The project will involve developing an Amazon EC2 based solution for providing access to a cloud hosted Android emulator. The VNC-based Guacamole tool will be used to afford access to emulator running on the EC2 instance. The project will enable automated deployment of mobile apps within the EC2 instance such that they are ready for test once the user logs in. Further, it will provide a rudimentary mechanism whereby users can give feedback on the application.

This project will be run in conjunction with Tethras, a NovaUCD client company.

 

Mandatory: 

 

  • Get EC2 instance operational and log in via X windows session on local machine
  • Get VNC client/server operational on top of X windows – use VNC client to access GUI functionality on remote EC2 instance
  • Get Guacamole web browser VNC interface operational to access EC2 instance via browser
  • Get Android emulator operational on EC2 instance
  • Start Android emulator with given application on user login
  • Create Amazon Machine Instance (AMI) with all of the above configured in it

 

Discretionary: 

 

  • Statically create test users with user information, languages, email addresses, etc.
  • Develop Django functionality to support upload of new application to EC2 instance.
  • Develop management functionality to assign test job to given user # puts the application into their Android emulator such that it is available at login.
  • Develop functionality that enables user to see jobs assigned

 

Exceptional: 

 

  • Develop Django based management framework which allows creation of test users, configuration of user information, languages, email addresses, etc.
  • Develop functionality which enables users to provide some test feedback on given application.
  • Develop functionality to enable aggregation of user feedback into simple report

 

Reading: 
  • Amazon Web Services Documentation http://aws.amazon.com/documentation/
  • Android - the developers guide http://developer.android.com/guide/index.html
  • Getting started with AppEngine http://code.google.com/appengine/docs/