Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Inside Android Testing


Published on

Introduction to Android testing explaining existent tools and good practices. Source code examples as well.

Published in: Technology, Education
  • Be the first to comment

Inside Android Testing

  1. 1. @fernando_cejas Code samples:
  2. 2. Who am I? •  GDG Organizer •  Android, Agile and technology Geek •  NFC Actions App •  Mobile Developer @fernando_cejas
  3. 3. Agenda •  Why testing? •  Types of tests •  What to test on Android •  Tools for testing –  JUnit –  Mockito –  Robolectric –  Test Framework  
  4. 4. 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.
  5. 5. Types of Tests
  6. 6. Testing on Android… Tools… •  Junit •  Mockito •  Robolectric •  Test Framework
  7. 7. JUnit •  JUnit is an open source framework that has been designed for the purpose of writing and running unit tests in Java.
  8. 8. 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.
  9. 9. Code Sample
  10. 10. 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.
  11. 11. Code Sample
  12. 12. 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
  13. 13. Code Sample
  14. 14. More tools… •  Fest •  Spoon •  Robotium •  UI Automator •  Monkey Runner •  Strict Mode
  15. 15. Some useful concepts… •  Dependency Injection •  Code coverage •  Continuous Integration
  16. 16. Conclusion There is virtually no reason why you should not be testing.
  17. 17. Any questions?
  18. 18. Thanks! @fernando_cejas