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

Introduction to Android Testing

Introduction to Android Testing

Avatar for Soham Mondal

Soham Mondal

June 09, 2016
Tweet

More Decks by Soham Mondal

Other Decks in Technology

Transcript

  1. Soham Mondal - Founder, Triveous - Creator, Voice Recorder -

    Google Expert: UX - Organizer at Blrdroid - Android/UX consultant
  2. Agenda - Android architecture: MVP/MVVM/MVC? - What is Testing? Why

    should you care? - Testing principles - Types of Tests - Unit testing - Functional/Integration/UI testing - Codelab
  3. Architecture - Clean Architecture by UncleBob - MVC: Model View

    Controller - MVP: Model View Presenter - MVVM: Model View ViewModel
  4. MVP : Model View Presenter - Presenter - Injecting presenter

    into Views - Can unit test the presenter http://hannesdorfmann.com/mosby/mvp/
  5. Testing Principles - Clean architecture - Understand what you’re trying

    to test - Isolation - Integration - All possible scenarios - TDD
  6. Types of Tests - Unit tests - Integration tests -

    End to end tests http://googletesting.blogspot.in/2015/04/just-say-no-to-more-end-to-end-tests.html
  7. Unit Testing - Objective of Unit Testing: What are you

    testing? - Options: Roboelectric, JUnit - Unit testing on android studio - JUnit - Mockito - PowerMock
  8. UI/Functional/Integration testing - Objective: What are you testing? - Options:

    Robotium, Espresso - Why is espresso generally better? - Espresso overview - Espresso test recorder in android studio - Support for firebase test lab
  9. More espresso - Espresso-Intents and Intent Stubbing - Espresso-Contrib for

    DatePicker, RecyclerView, Drawer actions, Accessibility checks, CountingIdlingResource - Idling resources - Code coverage