_______________________________________________________________________________________________
67
GUI Testing On Android Application
Neha J. Jagadale
1Student of BE Information Technology BVCOE & RI, Nasik, University of
Pune, Maharashtra, India [email protected]
Aditi G. Pagar
2Student of BE Information Technology BVCOE & RI, Nasik, University of
Pune, Maharashtra, India [email protected]
Mayuri.S.Deore
3Student of BE Information Technology BVCOE & RI, Nasik, University of
Pune, Maharashtra, India [email protected]
Priti V. Raut
4Student of BE Information Technology BVCOE & RI, Nasik, University of Pune,
Maharashtra, India [email protected]
Prof. Kavita S. Kumavat
5 ME Computer Engineering BVCOE & RI, Nasik, University of Pune,Maharashtra, India [email protected]
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.
_______________________________________________________________________________________________
68 With the help of Robotium, test case developers can write
function, system and acceptance test scenarios, spanning multiple Android activities.
Robotium is fully support to the Activities, Dialogs, Toasts, Menus and Context Menus.
Robotium is a Freeware software tool. We can be used it by individuals and Enterprises also.
Old operating system:
Old operating system does not support for Hindi/Marathi language. There are approximately corrodes of people uses an android mobile phones. In now a generation craze of smart phones getting increase but each person is not capable to buy 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.
b) Even they are unable to save their contact details in Marathi/Hindi.
c) It was impossible to read/write Marathi text or message in phone/tab.
d)
All the functions are in English language II. LITERATURE SURVEYAfter over all survey we have notice that there is no application yet develop for Hindi/Marathi support for keypad messenger and dialer that will convert the text and number into Marathi.
The previous application was develop for same as social 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].
_______________________________________________________________________________________________
69
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 3. Basic flow of testing
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.
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:
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 bedialed.
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.
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.
_______________________________________________________________________________________________
70 4. When the Test1 is PASSED, Test2 is initiated by
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:
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.
REFERENCES
[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
student of Information Technology at Brahma Valley College of Engineering And Research Institute, Nasik under University of Pune. Her interest in the field of android application development and testing.
Aditi. G. Pagar. she is Engineering
student of Information Technology at Brahma Valley College of Engineering And Research Institute, Nasik under University of Pune. Her interest in the field of android application development and testing.
_______________________________________________________________________________________________
71
Mayuri. S. Deore she is Engineering
student of Information Technology at Brahma Valley College of Engineering And Research Institute, Nasik under University of Pune. Her interest in the field of android application development and testing.
Priti V. Raut she is Engineering
student of Information Technology at Brahma Valley College of Engineering And Research Institute, Nasik under University of Pune. Her interest in the field of android application development and testing.
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.