Effectively testing Android applications
Before we start to discuss the essential Maven plugins to run Android application tests, it's important to review some good practices we should have in mind. In every software system, there are two generic types of testing: Unit Testing and Integration Testing. Each type has its own characteristics and targets on different goals. Let's quickly make their differences and their purposes clear:
- Unit testing focuses on ensuring that the individual units of source code are doing the things right. Such tests should run very fast, should not depend on each other or on any external resources, and should evaluate the expected output of the code under testing.
- Integration tests, on the other hand, can be slow and focus on testing software as an integrated system with external resources. In-container testing, database testing, or even UI testing fall into this category. For an Android application, the integration tests require the presence of a real...