Android Application Testing Guide Build intensively tested and bug free Android applications
What this book covers
Chapter 1, Getting Started with Testing introduces the different types of testing and their applicability to software development projects in general and to Android in particular.
Chapter 2, Testing on Android covers testing on the Android platform, Unit testing and JUnit, creating an Android Test project, and running tests.
Chapter 3, Building Blocks on the Android SDK starts digging a bit deeper to recognize the building blocks available to create the tests. It covers Assertions, TouchUtils, intended to test User Interfaces, Mock objects, Instrumentation, and TestCase class hierarchies featuring UML diagrams.
Chapter 4, Test Driven Development introduces the Test Driven Development discipline. It starts with a general revision and later on moves to the concepts and techniques closely related to the Android platform. This is a code intensive chapter.
Chapter 5, Android Testing Environment provides different conditions to run the tests.
It starts with the creation of the Android Virtual Devices (AVD) to provide different conditions and configurations for the application under test and runs the tests using the available options. Finally, it introduces monkey as a way to generate simulated events used for testing.
Chapter 6, Behavior Driven Development introduces Behavior Driven Development and some concepts such as like the use of a common vocabulary to express the tests and the inclusion of business participants in the software development project.
Chapter 7, Testing Recipes provides practical examples of different common situations you will encounter applying the disciplines and techniques described before. The examples are presented in a Cookbook style so you can adapt and use them for your projects. The recipes cover Android Unit tests, Activities, Applications, Databases and ContentProviders, Local and Remote Services, UIs, Exceptions, Parsers, and Memory leaks.
Chapter 8, Continuous Integration introduces this agile technique for software engineering that aims to improve the software quality and to reduce the time taken to integrate changes by continuously applying integration and testing frequently.
Chapter 9, Performance Testing introduces a series of concepts related to benchmarking and profiles from traditional logging statement methods to Creating Android performance tests and using profiling tools. This chapter also presents Caliper to create microbenchmarks.
Chapter 10, Alternative Testing Tactics covers building Android from source, code coverage using EMMA, Robotium, testing on hosts, and Robolectric.