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
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.