• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
A Toolset for GUI Testing of Android Applications
 

A Toolset for GUI Testing of Android Applications

on

  • 786 views

This paper presents a toolset for GUI testing of Android applications. The toolset is centered on a GUI ripper that systematically explores the GUI structure of an application under test with the aim ...

This paper presents a toolset for GUI testing of Android applications. The toolset is centered on a GUI ripper that systematically explores the GUI structure of an application under test with the aim of firing sequences of user events and exposing failures of the application. The toolset supports the execution of a testing procedure that automatically performs crash testing of subject applications and provides test results made of several artifacts. The paper illustrates some examples of using the toolset for testing real Android applications.

Statistics

Views

Total Views
786
Views on SlideShare
786
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    A Toolset for GUI Testing of Android Applications A Toolset for GUI Testing of Android Applications Presentation Transcript

    • A Toolset for GUI Testing of Android Applications Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Salvatore De Carmine Gennaro Imparato Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy
    • Context and MotivationAndroid OS is currently the most diffused platform formobile devices [Gartner, 2012 August] – 98 Millions of Mobile Device sales with Android OS in second quarter 2012 – Android owns 64% of Market ShareGoogle Play market now includes over than 500,000 apps – Most of these apps have been developed by small programmer teams, by evolutionary life cycles with very frequent releases via Google PlayThere is a strong need for fast and effective Testingautomation solutions 2
    • Current Technologies and Tools for Android TestingTesting Frameworks for Unit and GUI testing – Robotium, MonkeyRunner, Calculon, Roboelectric, …Stress testing Tools such as MonkeyTesting tools from research projects: – TEMA model-based testing tools [Harty], …Debugging tools – DDMS debugging tool from the Android SDKMonitoring tools – platforms for monitoring app usages and reporting app crashes to the developers (like Crittericism) 4
    • Our Proposal: A toolset for automatic GUI Testing of Android apps• GUI testing is an effective approach for testing an app through its GUI, firing sequences of events and providing it with user inputs• The proposed GUI testing toolset is based on a configurable GUI Ripper (Android Ripper) that: – automatically traverses the GUI firing sequences of events through the UI or the device (device rotation, press back button, etc.) – implements a Black-Box testing approach – obtains automatically JUnit test cases (usable for regression testing) 5
    • Android Ripper FeaturesThe Ripper automatically explores the GUI structureand returns a GUI Tree model • It can be configured in order to emulate several kinds of user behaviours, choosing: • types of event to be fired, input values, time delays between events, GUI traversing strategy (e.g. depth first, breadth first, etc.), termination criterion to stop GUI traversal ... • It detects runtime crashes (due to unhandled Java exceptions) and returns the sequences of events causing them
    • An example ≡ of GUI Rotate ≡ Ripping Click Pages Click Click Refresh Press Menu New Post … Click Add Click About Account Click Save … Crash Click Edit 7… …
    • Android Ripper Technological DetailsThe Ripper is implemented as an Android Android JUnit Test Project. Instrumentation Application Under TestIt exploits the Robotium Robotium Storage framework and Android Instrumentation classes to Robot JUnit Extractor Persistence Manager interact with the Application Abstractor Under Test (AUT) Comparator SchedulerThe AUT source code can be instrumented with EMMA to Engine Strategy calculate the code covered by the Ripper. PlannerThe Saving SnapShot feature offers a mechanism to define the preconditions of the AUT
    • Toolset and Testing procedureThe testing procedure executing the Android Ripper is performed automatically using a set of batch and jar files.
    • ExperimentsWe tested some open source apps from Google Play market using Android Ripper, finding several unknown bugs (reported to the developers) A. U. T. # Ripping # Bugs # Crashes % LOC Events Time Coverage (hours) BookCatalogue 1,677 61 2 9 57 AarDdict 93 2.2 1 5 70 Tomdroid 86 1.25 1 13 39 Wordpress 486 6.16 6 31 43
    • Future Works• We plan to extend the Ripper : • By implementing new event firing strategies • By considering new sources of events (sensors) and new input selection strategies.• We will address the technological issues affecting the Ripper execution on real devices.• We will be pleased to further explain the toolset usage in the Tool Bazar !