finding a holy grail in a haystack
play

Finding a holy grail in a haystack October 7 , 2016 Marjana - PowerPoint PPT Presentation

Finding a holy grail in a haystack October 7 , 2016 Marjana Shammi, Niels de Keijzer, Arturo Martinez Story of today First Half Introduction to IceMobile Challenges & Solutions Q & A Second Half Keeping Innovation Alive


  1. Finding a holy grail in a haystack October 7 , 2016 Marjana Shammi, Niels de Keijzer, Arturo Martinez

  2. Story of today First Half • Introduction to IceMobile • Challenges & Solutions Q & A Second Half • Keeping Innovation Alive Q & A

  3. Founded in 2002

  4. T est tool stack T ools we used in the past

  5. The new tester

  6. Simplify - knowledge retention & dispersion - Strategy & Process for Automation - tooling stack fit for purpose

  7. Automation Strategy Exploratory Tests Selenium (web) System Component Semele (mobile) checks Increase of Automation Minosse Front-end API Integration checks checks ( mocked) Client Side Server Side Mocha & Chai Unit Tests Unit Tests

  8. Minosse - API automated checks Minosse Common Steps Support Code Feature File APIs (js) Custom Steps https:/ /github.com/icemobilelab/minosse https:/ /github.com/icemobilelab/gherkin-definitions

  9. Mobile automation Previous Struggles Improve - Revise - Use of global names that needed to be duplicated to make work - Use Native Tooling with both platforms. - Appium asks for using accessibility - More involvement of developers to keep labels that are not mandatory for code & automation consistent iOS. - Keep a similar language convention - App code needed to be modified to work with previous framework - Reduce dependency of external tooling Teseo. - Increase of performance runs - Developers were frustrated to maintain and didn’t. - Appium updates were not too frequent 6 months or so.

  10. Semele - Mobile Automated checks Semele Common Steps iOS Support Code Feature File Mapping (Espresso XCUITest ) Custom Steps And

  11. Minosse Minosse - API automated checks Minosse Common Steps Support Code Feature File APIs (js) Custom Steps https:/ /github.com/icemobilelab/minosse https:/ /github.com/icemobilelab/gherkin-definitions

  12. Monitos A monkey test tool for a mobile app REST API

  13. Mobile app landscape Backend B Backend C Backend A Backend D Middle-layer

  14. Oops

  15. Steps to reproduce Search for Browse Log in stores categories Book a Add products Place order collection slot to basket

  16. Cowboy style

  17. Reproducing the issue with SoapUI

  18. The same set of calls, but then in a Node.js script Search for Browse Log in stores categories Book a Add products Place order collection slot to basket

  19. Enter state machines State diagram of a turnstile

  20. More realistic journeys Search for Browse Log in stores categories Book a Add products Place order collection slot to basket

  21. Search for Browse Log in stores categories Book a Add products Place order collection slot to basket

  22. Monitos

  23. Current usage • Monkey testing for the middle-layer • Find obscure user journeys that lead to errors • Spawn a couple dozens and let them run for some time, hopefully catching some bugs in the process • Reproduction of complex error scenarios • Smoke test alternative • Cache warmup mechanism

  24. • List of endpoints called • Achievements

  25. Monitos core library • State machines meet D&D • http://npmjs.com/package/monitos • https://github.com/dunkelheit/monitos

  26. Demo time

  27. Questions?

Recommend


More recommend