This book is a practical introduction to readily available techniques, frameworks, and tools to thoroughly test your Android applications and improve project development.
You will learn the Java testing framework, how to create a test case and debug it. Next, you’ll be walked through using the Android SDK to test using the ActivityTestCase and ActivityUnitTest classes as well as discussing popular testing libraries. Through examples you will test files, databases, ContentProviders, exceptions, services, and test your app using Espresso. You will discover how to manage your Android testing environment using Android emulators, deep dive into how adb and the emulator can super charge your testing automation, and also test user interactions with monkeyrunner. You will be guided through different testing methodologies including Test-driven Development and Behavior-driven Development and will learn how to perform Unit and Functional testing applying them to your Android projects. You will also use continuous integration techniques for ultimate application quality control using Gradle and Jenkins.
By the end of the book, you’ll be looking through alternative testing tactics including Fest and Spoon to build upon and expand your Android testing range and finesse.
What You Will Learn
- Apply testing techniques and utilize tools to improve Android application development
- Get to grips with the nuances of testing on Android, including how to architect an application to facilitate better testing
- Explore the Android instrumentation testing framework to optimize your activities, services, content providers, and usage of other Android components
- Understand different development methodologies including Test-driven Development and Behavior-driven Development
- Apply the continuous integration technique for ultimate application quality control
- Improve application performance by analyzing the results returned from performance tests
- Expose your application to a wide range of conditions and configurations to simulate real-life network conditions and detect problems in the application
- Explore further tools to improve application quality such as micro benchmarks and code coverage