$30 off During Our Annual Pro Sale. View Details »

Inside Android Testing

Tuenti
October 01, 2013

Inside Android Testing

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

Tuenti

October 01, 2013
Tweet

More Decks by Tuenti

Other Decks in Technology

Transcript

  1. @fernando_cejas
    Code samples:
    https://github.com/android10/Inside_Android_Testing
    https://github.com/android10/AndroidApplicationTestingSample

    View Slide

  2. Who am I?
    •  GDG Organizer
    •  Android, Agile and
    technology Geek
    •  NFC Actions App
    •  Mobile Developer
    @fernando_cejas
    http://www.fernandocejas.com/

    View Slide

  3. Agenda
    •  Why testing?
    •  Types of tests
    •  What to test on Android
    •  Tools for testing
    – JUnit
    – Mockito
    – Robolectric
    – Test Framework  

    View Slide

  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.

    View Slide

  5. Types of Tests

    View Slide

  6. Testing on Android… Tools…
    •  Junit
    •  Mockito
    •  Robolectric
    •  Test Framework

    View Slide

  7. JUnit
    •  JUnit is an open source framework
    that has been designed for the purpose
    of writing and running unit tests in
    Java.

    View Slide

  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.

    View Slide

  9. Code Sample

    View Slide

  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.

    View Slide

  11. Code Sample

    View Slide

  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

    View Slide

  13. Code Sample

    View Slide

  14. More tools…
    •  Fest
    •  Spoon
    •  Robotium
    •  UI Automator
    •  Monkey Runner
    •  Strict Mode

    View Slide

  15. Some useful concepts…
    •  Dependency Injection
    •  Code coverage
    •  Continuous Integration

    View Slide

  16. Conclusion
    There is virtually no reason why you
    should not be testing.

    View Slide

  17. Any questions?

    View Slide

  18. Thanks!
    @fernando_cejas
    https://github.com/android10
    www.fernandocejas.com
    http://corporate.tuenti.com/es/dev/blog

    View Slide