Abstract
IntroductionSoftware testing represents an important step in software development [1], [2] and the testing process is thoroughly presented in books like [3] and [4]. Like other applications, mobile applications require testing in order to achieve a required level of quality. This can be done using similar tools and frameworks and also specific and dedicated tools, depending on the platform. Some of the mobile application testing types are shortly described in [5].During the testing process, test data generation has its own role for testing success. Test data generation is made using different tools and techniques. The paper continues the research presented in [6], [7] and [17] and focuses on template generation for test data based on Android layout files. Test data templates are XML-based files written using DSL (Data Specification Language). The generated test data can be used by own testing tools or frameworks or can be used as inputs for existing testing frameworks and tools.The paper is structured as follows. The section Android testing frameworks and tools presents the most important aspects related to Android applications testing. It also make a short presentation of the Android testing instruments. Data Specification Language (DSL) section describes the proposed system for test data generator based on Android layout files and details the XML-based language used for test data specification. The proposed parser for Android layout files is presented in the last section, Android layout files parser. The section Random test data generator based on pragmatic testing (RIGHT-BICEP) presents a test data generator, based on DSL files, that allows to generate data that conform to selected principles. The paper ends with conclusion and future work.2 Android Testing Frameworks and ToolsAndroid applications being developed using Java programming language, JUnit testing framework is suitable for the automated testing of functional issues. JUnit is a testing framework for regressive unit testing of Java programs [8]. The main Java classes used by the framework are associated to test cases and suites.The Android platform includes several tools and frameworks. Also, third party developers have built such tools and framework for Android applications testing. In [9] are presented the fundamentals of Android applications testing.Table 1 summarizes the most used Android testing tools and frameworks. Many of these are based on JUnit.Espresso is a testing framework used for UI testing. It is based on JUnit and it is included in Android Support Repository.Android Instrumentation framework is developed by Google for testing Android applications. It allows to control the life cycle of the Android applications and components during the tests.Monkey is a testing tool that runs within the emulator or on the mobile device. It is used to send random events to the Android device (user or system).monkeyrunner provides an API that can be used to control an Android device by installing applications, sending commands and taking and saving screenshots.Robotium is a testing framework for Android and hybrid application. It is based on Android Instrumentation and it is used to automate UI testing.Robolectric is framework that allows testing on a JVM running on a computer. This will speed-up the testing process.UI Automator framework provides an API that allows to control user and system applications for UI testing.In [10] there is a short presentation of several other Android testing frameworks and tools:* Mockito - a framework for testing Java and Android applications; it allows creation of mock objects for testing and it is used in unit testing;* EasyMock - a testing framework used in unit testing; it uses mock objects;* PowerMock - a framework based on Mockito and EasyMock;* Inifinitest - a testing plugin for Eclipse and IntelliJ; it is a continuous test runner. …
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.