@fernando_cejas Code samples: https://github.com/android10/Inside_Android_Testing https://github.com/android10/AndroidApplicationTestingSample
Who am I? •  GDG Organizer •  Android, Agile and technology Geek •  NFC Actions App •  Mobile Developer @fernando_cejas http://www.fernandocejas.com/
Agenda •  Why testing? •  Types of tests •  What to test on Android •  Tools for testing –  JUnit –  Mockito –  Robolectric –  Test Framework  
Why testing? •  Testing increases the level of confidence in your code. •  Testing makes it possible to write new code, and refactor existing code, without worrying that you’ve broken existing functionality.
Types of Tests
Testing on Android… Tools… •  Junit •  Mockito •  Robolectric •  Test Framework
JUnit •  JUnit is an open source framework that has been designed for the purpose of writing and running unit tests in Java.
Mockito •  Mocking Frameworks allow us to test the code you want, without its dependencies. •  Mock objects can simulate the behaviour of complex objects. •  Mock objects isolate the unit of code you are testing.
Code Sample
Robolectric •  Robolectric is a unit test framework that de-fangs the Android SDK jar so you can test-drive the development of your Android app. •  It rewrites Android SDK classes as they're being loaded and making it possible for them to run on a regular JVM.
Code Sample
Android Test Framework •  Offered by the android framework. •  Needs an emulator to execute the tests •  Lets write unit, integration and functional tests. •  Has its own mocking framework
Code Sample
More tools… •  Fest •  Spoon •  Robotium •  UI Automator •  Monkey Runner •  Strict Mode
Some useful concepts… •  Dependency Injection •  Code coverage •  Continuous Integration
Conclusion There is virtually no reason why you should not be testing.
Any questions?
Thanks! @fernando_cejas https://github.com/android10 www.fernandocejas.com http://corporate.tuenti.com/es/dev/blog

Inside Android Testing