GUI Testing On Android Application



Similar documents
International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Android Architecture. Alexandra Harrison & Jake Saxton

Review On Google Android a Mobile Platform

A GUI Crawling-based technique for Android Mobile Application Testing

LIBRARY ACCESS SYSTEM SMARTPHONE APPLICATION USING ANDROID

Mobile Application Development 2014

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

ANDROID OPERATING SYSTEM

Workshop on Android and Applications Development

Module Title: Software Development A: Mobile Application Development

RoverPal - A Mobile Payment Application

Challenges in Android Application Development: A Case Study

Creating and Using Databases for Android Applications

Introduction to Android

A B S T R A C T. Keywords: Mobile computing, Compiler, Android Development tool kit; I. INTRODUCTION

Android Operating System

Introduction to Android

Robotium Automated Testing for Android

Smart Shopping- An Android Based Shopping Application

Android 5.0: Lollipop OS

Review of Mobile Applications Testing with Automated Techniques

01. Introduction of Android

Mobile Device and Technology Characteristics Impact on Mobile Application Testing

Example of Standard API

Fig. 1 BAN Architecture III. ATMEL BOARD

SOFTWARE TESTING TRAINING COURSES CONTENTS

Android Developer Fundamental 1

A Protocol Based Packet Sniffer

Mobile Testing That s Just a Smaller Screen, Right?

Android Mobile App Building Tutorial

Mobile Phone Monitoring Software

Student Attendance Through Mobile Devices

ANDROID A Workshop on Android Application Development Organized by Computer Science & Engg Dept Lingaya s University

Mobile Phones Operating Systems

ITG Software Engineering

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

Analysis of advanced issues in mobile security in android operating system

A Survey on Mobile Forensic for Android Smartphones

Practical Android Projects Lucas Jordan Pieter Greyling

International Engineering Journal For Research & Development

Introduction to Android

Smartphone market share

Remote Desktop Access through Android Mobiles and Android Mobiles Access through Web Browser

Overview of CS 282 & Android

Choosing a Mobile Application Development Approach

Remote Android Assistant with Global Positioning System Tracking

Student Attendance Tracker System in Android

Comparative Study of Automated testing techniques for Mobile Apps

ANDROID INTRODUCTION TO ANDROID

Issues in Android on Mobile Platform and Their Resolution

Test Driven Development Part III: Continuous Integration Venkat Subramaniam

A Modular Approach to Teaching Mobile APPS Development

AN ANDROID APPLICATION FOR ISSUING AND VERIFYING COMMUTER TRAIN TICKET THROUGH GPS USING CLOUD

Fast remote data access for control of TCP/IP network using android Mobile device

Технологии Java. Android: Введение. Кузнецов Андрей Николаевич. Санкт-Петербургский Государственный Политехнический Университет

Programming with Android

Home Automation & Security System Using Arduino Android ADK

A Review OnEmployee Monitoring Application Using Android Smartphone s Neha S. Mankar 1, Sweeti M. Shambharkar 2 and Asst. Prof. Priti P.

Cost Effective Automated Test Framework for Touchscreen HMI Verification

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Phone Pal: Remote Mobile Access through Short Message Service Prof. Mitul K. Patel 1 Gadhiya Janki D. 2

Mobile Operating Systems. Week I

Remote Desktop on Mobile

COURSE CONTENT. GETTING STARTED Select Android Version Create RUN Configuration Create Your First Android Activity List of basic sample programs

Android Programming and Security

A Mobile Application for Bus Information System and Location Tracking using Client-Server Technology

Automated Blood Bank Management System Using Direct Call Routing Technique

Hacking your Droid ADITYA GUPTA

ANDROID. Programming basics

Google Android: An Emerging Innovative Software Platform For Mobile Devices

INTERNATIONAL JOURNAL OF NEXT GENERATION COMPUTER APPLICATIONS ISSN X Web based Software Project Management using Android Mobile

Keyword-Driven Testing Framework For Android Applications

Lecture 1 Introduction to Android

Here to take you beyond Mobile Application development using Android Course details

Cell Phone Operating Systems

What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe Copyright 2010, 2net Limited.

Part I. Introduction

TUTORIALS AND QUIZ ANDROID APPLICATION SANDEEP REDDY PAKKER. B. Tech in Aurora's Engineering College, 2013 A REPORT

AndroLIFT: A Tool for Android Application Life Cycles

Data Driven Automation Testing Framework

Priority Based Pre-emptive Task Scheduling for Android Operating System

Preamble: Remote Storage in Android Using SCTP

Using the owncloud Android App

Introduction to Automated Testing

Basic Android Setup Windows Version

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

Android Development. Lecture AD 0 Android SDK & Development Environment. Università degli Studi di Parma. Mobile Application Development

Automating GUI Testing for Android Applications

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

«compl*tc IDIOT'S GUIDE. Android App. Development. by Christopher Froehlich ALPHA. A member of Penguin Group (USA) Inc.

Lab 0 (Setting up your Development Environment) Week 1

Mobile App Design and Development

Transcription:

GUI Testing On Android Application Neha J. Jagadale 1 jagadaleneha788@gmail.com Aditi G. Pagar 2 adittipagar@gmail.com Mayuri.S.Deore 3 mayuri.deore14@gmail.com Priti V. Raut 4 Pune, Maharashtra, India rautpriti1989@gmail.com Prof. Kavita S. Kumavat 5 ME Computer Engineering Pune, Maharashtra, India kavitakumavat26@gmail.com Abstract - As Android phones is been used widely for different types of applications. But the people who stay in rural areas do not afford the high range mobile phones which support all the functionality. In this application system implementing Marathi/Hindi support for all versions (especially for older version). In this application system have provided with Hindi/Marathi keypad for messenger as well as dialler instead of 1, 2 and 3, a, b, c. It will reflect in Marathi/Hindi. As we know that in regular android phones we cannot make a call on just looking to a photo of dialler, but in this application system can have a look on photo to whom the number belong and can make a call on a single click without having the knowledge of the user phone number. System developed a new application called as N-indicator that is Nashik indicator, it will contain all the information of train routes, bus routes with it is fare, auto rates with it fare, visitor s place, hotels with its fare. Keywords- Model Based Testing, Automatic GUI Testing, Keyword Driven Testing, Android, Automatic Test Generation. ***** I. INTRODUCTION The usages of mobile phones has been widely use over the last few years. Comparatively usages between PCs and mobile devices have approximately 5 times greater than PCs. Android: Now a day s android mobile operating system is most widely used. Which is based on the Linux kernel and it is developed by Google. With a user interface based on direct manipulation, Android is designed primarily for touch screen mobile devices such as Smartphone and tablet computer etc. it is low-cost and customizable operating system. Android applications are developed primarily in java programming language using android software development kit (SDK) [5]. Application: in application all programs are written using java program language. This includes browser, maps, calendar, contact, email client and SMS programs. As shown in figure 1 android framework contain 4 layers. First layer contain application base for processing. As shown in figure 1 different layer are added into android framework as follows: Figure 1. Android framework layers Application Frameworks: it provides open development platform. Using this framework we able to develop innovative applications. It is extensible set of view that can be used to build on application Including List, Grids, Buttons and Boxes [4]. This framework is consisting of Content Provider, Resource Manager, Notification Manager and Activity Manager. Library: it includes all libraries set of c and c++, eg. Library, surface manager, SQlite, free type, 3D libraries. Kernel: this layer is called abstraction layer between hardware stack and software stack. For testing we are using to inbuilt frame work that is JUnit and robotium. With the help of unit testing JUnit is perform for GUI and with the help of function testing robotium is perform for checking the code. Unit testing: unit testing is nothing but de of main program into small programs and testing each part of program independent. A unit test is a piece of code written by a developer that executes a specific functionality in the code to be tested. The percentage of code which is tested by unit tests is typically called test coverage. J-unit is testing tool, it is inbuilt framework which is used for GUI testing. Functional Testing: Robotium: it is test environment for java programming it is same as j-unit because it is also inbuilt framework; Robotium is a type of test framework which is created to make it easy to write powerful and robust automatic test cases for Android applications [3]. Robotium is most widely used for Black Box Testing; Robotium is used for testing functionality which allows testing each module independently. 67

With the help of Robotium, test case developers can write b) Even they are unable to save their contact details in function, system and acceptance test scenarios, spanning Marathi/Hindi. multiple Android activities. c) It was impossible to read/write Marathi text or Robotium is fully support to the Activities, Dialogs, Toasts, message in phone/tab. Menus and Context Menus. d) All the functions are in English language Robotium is a Freeware software tool. We can be used it by individuals and Enterprises also. II. LITERATURE SURVEY Old operating system: After over all survey we have notice that there is no Old operating system does not support for Hindi/Marathi application yet develop for Hindi/Marathi support for keypad language. There are approximately corrodes of people uses an messenger and dialer that will convert the text and number android mobile phones. In now a generation craze of smart into Marathi. phones getting increase but each person is not capable to buy The previous application was develop for same as social latest mobiles with jellybean & higher version operating systems. There are different operating systems which are used in mobiles like java, bada, Symbian, windows phones etc which were used in mobile phones; some of those phones are not exist now. As we compare from below graph we can compare how android operating system is widely used in over world as per year [1]. Percentage of peoples speaking Marathi/Hindi: As per Indian population, India contains 60% peoples which belong to ruler area and 40% percent from urban. 80% of them are well known with Hindi/Marathi [2]. Most of peoples are not eligible to read and write English properly because they are not well educated or their understanding level about English is very low. So it will get tough to handle smart phones which cannot support Hindi/Marathi language. That was biggest drawback of old generation android operating system i.e. it does not support for regional languages. Figure 2. World wide smart phones sales Figure 2 shows graph of world wide smart phones sales. Drawbacks of old operating systems: a) As there are different generations of android operating systems like cupcake, donut, and ice-cream sandwich, gingerbread, éclair etc which are unable to support Marathi/Hindi Language. networking web site like as whatsapp, facebook etc. but in new system the application will be used by all android phones as an whole mobile application(like launcher). As per survey previous application was only for text message and not for contact and dialer [7]. The only one advantage of the previous system was security as it was used as a social networking application. The disadvantage of the previous application is it does not convert the contact number and name into Marathi/Hindi, which is been overcome by our project. Trace Generation: Firstly test cases are generated, and then this test case can be run on the application i.e. The Dalvik VM application. To observed the execution of test cases, when VM application log the details of each test case into trace then it is synchronize our traces collect three events GUI events, call the methods, defects handling. We also observed the application bugs which causes the VM application directly turn off. Log file analysis and bug detection: The test cases are generated this test cases generated for the selected application,this application can run on the test cases and log the progress of each test cases that s why we can find the defects. With the help of patterns we can identify the errors. This pattern can located correct operations or they can find the errors.insted of automatic bugs found, for debugging logs are useful where the logs includes method and events traces, The method sequence which is lead to the bugs the developer can used framework to modify the method. GUI testing android: The SDK (software development kit) includes some GUI testing tools. Creating system levels is currently limited due to the because of security of android, the android instrumentation framework (AIF) in which the GUI testing utility leads in android. With the help of instrumentation we can separated the testing application which is used. When the application under in test the instrumentation needs to used the source code. When the testing tool is started in some process only the instrumentation is not applicable for system wide-gui testing which is contains multiple application of testing [6]. 68

Running Test: System run the test cases which covers all the models to make sure models will not contain any errors. After completing all the modules we will start running the cases randomly. In addition to random testing, we experiment with interaction test using contact, camera and gallery using robotium testing tool. Testing Result: Testing Result will show how many test cases are pass and how many test case are fail. III. SYSTEM OVERVIEW In figure 3 basic flow of system testing is given in which all details about test processing are given. System first add test to the JUNIT by creating class. In class write test cases. By running test cases check status if test case fails then modification is done in class. If pass class refactoring is takes place. Figure 4: System Architecture Diagram IV. ALGORITHMIC STRATEGY Algorithmic strategy contains two algorithms for dialer and contact which is useful for system processing. 1. For Dialer: Figure 3. Basic flow of testing 1. Start the Application. 2. Select the function i.e. Dialer. 3. The GUI of the Dialer will pass to JUnit. JUnit will test the GUI of the Dialer Dialog. 4. IF The Dialer gets successfully open, Then Test1 is PASSED i.e. functionally the number can be dialed. Else Test1 FAILS i.e. the dialer doesn't open and number can't be dialed. Go to Step.6 5. When the Test1 is PASSED, Test2 is initiated by checking whether a call is connected. IF the calls get connected, Then Test2 is PASSED. Else Test2 is FAILED. 6. Display Test Result and Test Summary. In system architecture shown in figure 4 the input will be android application then the GUI of the application will be tested by the test designer after the GUI testing the test generation will execute after GUI is completed the keyword Execution for the Input and the connectivity component will be executed and finally the test log will be generated. 2. For Contact: 1. Select the function i.e. Contact. 2. The GUI of the Dialer will pass to JUnit. JUnit will test the GUI of the Contact Dialog. 3. IF the Contact gets successfully open, Then Test1 is PASSED i.e. functionally the number can be searched by using option like next and previous. Else Test1 FAILS i.e. the contact doesn't open and number can't be Searched. Go to Step.5 69

4. When the Test1 is PASSED, Test2 is initiated by REFERENCES checking whether a call is connected on single click or touch. IF the calls get connected, Then Test2 is PASSED. Else Test2 is FAILED. 5. Display Test Result and Test Summary. In this algorithm android application is given as input, so the first module of the android application that is dialler will be the function to be tested if the number is dialled successfully then the test is pass else the error message will prompt, thus here test case fail. If the GUI of the dialler working gets fail it is solve with the help of J-unit. V. IMPLEMENTATION DETAILS Implementation details contain basic modules included in system. Personalized message filtration system includes two modules: [1] M. Utting and B. Legeard, Practical Model-Based Testing A Tools Approach. Morgan Kaufmann, 2007. [2] A. J a askel ainen, T. Takala, and M. Katara, Model-based GUI testing of smartphone applications: Case S60 and Linux, in Model-Based Testing for Embedded Systems, J. Zander, Schieferdecker, and P. J. Mosterman, Eds. CRC Press. [3] M. Fewster and D. Graham, Software Test Automation: Effective use of test execution tools. Addison Wesley, 1999. [4] Hu, C & Neamtiu, I. 2011. Automating GUI testing for Android applications. AST 11 Proceedings of the 6th International Workshop on Automation of Software Test, pp. 77 83. [5] Kropp, M. & Morales, P. 2010. Automated GUI Testing on the Android Platform. Proceedings of the 22nd IFIP International Conference on Testing Software and Systems: Short Papers, Montreal: CRIM, pp. 67 72. [6] Takala, T., Katara, M. & Harty, J. 2011. Experiences of System-Level Model-Based GUI Testing of an Android Application. IEEE Fourth International Conference on Software Testing, Verification and Validation (ICST), pp. 377 386. [7] Priyendra S. Deshwal and Kalyanmoy Deb, Ergonomic Design of an Optimal Hindi Keypad for Convenient Use, 2006 IEEE Congress on Evolutionary Computation Sheraton Vancouver Wall Centre Hotel, Vancouver, BC, CanadaJuly 16-21, 2006. Neha. J. Jagdale she is Engineering Figure 5. Marathi keypad for message Figure 5 defines how the window of message will look like. Using this keypad we are able to type Marathi/Hindi messages easily. VI. CONCLUSION The android application support Hindi/Marathi keypad as well as contact. And also now it is easy to search the rail, bus, auto, hotels etc information with the single application. Towards this goal, system performs a bug study to understand the nature and possible remedies for bugs in mobile applications, and construct an automated testing framework for Android applications. This framework combines automatic event and test case generation with runtime monitoring and log analysis. Aditi. G. Pagar. she is Engineering 70

Mayuri. S. Deore she is Engineering Priti V. Raut she is Engineering K. S. Kumavat, ME, BE Computer Engg. Was educated at Pune University. Presently she is working as Head Information Technology Department of Brahma Valley College of Engineering and Research Institute, Nasik, Maharashtra, India. She has presented papers at National and International conferences and also published papers in National and International Journals on various aspects of Computer Engineering and Networks. Her areas of interest include Computer Networks Security and Advance Database. 71