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

Pragmatic Mobile Testing Strategies

Pragmatic Mobile Testing Strategies

As software engineers, we found problems to write automated tests, this talk it's about strategies to ensure write reliable tests.

Erik Jhordan Rey

September 25, 2018
Tweet

More Decks by Erik Jhordan Rey

Other Decks in Programming

Transcript

  1. / SCHIBSTED MEDIA GROUP Erik Jhordan Rey Passionate about write

    quality code, focused to improving the profession of software development. Android Tech Lead at Segundamano
  2. / SCHIBSTED MEDIA GROUP Presence in 30 Countries Y seguimos

    creciendo MÉXICO Colombia Chile Brasil República Dominicana LATINOAMÉRICA Noruega Suecia Finlandia Bélgica Francia ESCANDINAVIA / EUROPA Portugal Alemania Polonia España Italia Irlanda Suiza Austria Hungría Rumania Bielorrusia Reino Unido Marruecos ÁFRÍCA Túnez Malasia Indonesia Singapur Vietnam Tailandia Bangladés ASIA / OCEANÍA
  3. / SCHIBSTED MEDIA GROUP Failed Software Development There are a

    lot of reasons why a software development project can fail but one of the most common reason is:
  4. / SCHIBSTED MEDIA GROUP Testing Testing is the process of

    executing a program with the intent of finding errors… Glenford J Myers
  5. / SCHIBSTED MEDIA GROUP Reliability Testing We are wasting time

    & life if we don't have reliable tests.
  6. / SCHIBSTED MEDIA GROUP Business Logic We need to test

    the application implements the business rules.
  7. / SCHIBSTED MEDIA GROUP Server Side API integration The software

    should be prepared to alter software state according to Http Responses / Requests and JSON parsing expected.
  8. / SCHIBSTED MEDIA GROUP Persistence integration The queries we write

    to handle data from/to the local DB is working with our system correctly.
  9. / SCHIBSTED MEDIA GROUP UI Componets it's common to write

    custom views to be reused in a lot of places of the application so we need to ensure are working as expected.
  10. / SCHIBSTED MEDIA GROUP User Interface The user is watching

    the expected UI according to app interactions and actions.
  11. / SCHIBSTED MEDIA GROUP Testing Stack hiding Implementation details, you

    can use test doubles • JUnit • Mockito • Hamcrest • MockWebServer or WireMock • Persistence Room Testing • Expresso • Barista • Shot
  12. / SCHIBSTED MEDIA GROUP Server Side Api Integration Kotlin Sample

    to practice Integration Test https://github.com/erikcaffrey/kotlin-integration-test
  13. / SCHIBSTED MEDIA GROUP Screenshot Testing hiding Implementation details, you

    can use test doubles Test framework that checks for visual differences across changes. com.package.segundamano.ads.AdsHolderScreenshots_expiredAd.png
  14. 01 02 http://www.wiley.com/WileyCDA/WileyTitle/productCd-1118031962.html The art of Software Testing https://www.amazon.es/Test-Driven-Development-Addison-Wesley-Signature/dp/0321146530 TDD

    - Kent Beck 03 Further Reading https://goo.gl/sduh0M Clean Code 04 Testad malditos - Jorge Barroso https://www.youtube.com/watch?v=vlorWIlPgY0