Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Having a taste of Android? testing in 10 minutes...

Tuenti
February 27, 2014

Having a taste of Android? testing in 10 minutes...

It is well known that testing offers significant advantages as a development practice and helps ensure higher quality code with fewer defects.
In this session we are gonna talk about available tools and practices that could help us write tests for the Android platform.

Tuenti

February 27, 2014
Tweet

More Decks by Tuenti

Other Decks in Technology

Transcript

  1. Having a taste of ANDROID? testing in 10 minutes… @fernando_cejas

    Code samples: https://github.com/android10/Inside_Android_Testing https://github.com/android10/AndroidApplicationTestingSample
  2. @fernando_cejas •  Software Engineer •  GDG Barcelona Organizer •  Android

    lover •  Geek •  Gintonic fan… …y un pelotudo…
  3. Why testing..WTF? •  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.
  4. Types of tests: •  Unit testing •  Integration Testing • 

    Functional and System Testing 1.  Stress Testing 2.  Performance Testing 3.  Usability Testing •  Acceptance Testing •  Regression Testing 1.  Smoke Testing
  5. Dependency injection is a software design pattern that allows the

    removal of hard-coded dependencies and makes it possible to change them, whether at run-time or compile-time Dependency what?
  6. Mocking Frameworks allow us to test the code you want,

    without its dependencies. Mock objects isolate the unit of code you are testing. GIVE A WARM WELCOME TO… mockito Mock objects can simulate the behaviour of complex objects.
  7. Allows you to run your android code on JVM. Allows

    loading of Android Classes in pure Java Projects. TO THE RESCUE…
  8. •  Uses real Android SDK code •  Styles and themes

    supported •  System resources are available •  Performance improved •  Bugs fixed Robolectric 2.0+
  9. Spoon •  Acceptance tests (black box) •  Automation of test

    execution across multiple devices •  Aggregation of the results
  10. Spoon •  Acceptance tests (black box) •  Automation of test

    execution across multiple devices •  Aggregation of the results
  11. •  Robojuice •  Robotium •  Android Testing Framework •  UI

    Automator •  Monkey Runner •  Espresso •  Calabash More tools…
  12. WRITE TESTS!!! •  Simplify your architecture •  Have a robust

    testing strategy •  Use continuous integration tools •  Mock/stub functionality •  Create your own test runner Best practices and some advice…
  13. DO NOT LET YOUR CODE TO BE BROKEN… DO NOT

    BREAK EXISTING FUNCTIONLITY…