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

Developing multi-platform mobile SDK, what can go wrong with quality?

Diana Pinchuk
September 23, 2017

Developing multi-platform mobile SDK, what can go wrong with quality?

Presentation from QA Fest 2017 (Kyiv, 23th of September)
Video (in Russian) is available here https://www.youtube.com/watch?v=qrDkiTLgqbI

Diana Pinchuk

September 23, 2017
Tweet

More Decks by Diana Pinchuk

Other Decks in Technology

Transcript

  1. Киев 2017 About speaker • ~ 4 years in testing

    • Various projects and platforms • Passionate about technologies • GDG Lviv and GDG DevFest Ukraine organizer <Developing multi-platform mobile SDK, what can go wrong with quality?>
  2. Киев 2017 Agenda • What is mobile SDK? • Difference

    in testing SDK and mobile apps • What is “Integration testing” when you develop SDK + Demo • Helpful tools • Q&A <Developing multi-platform mobile SDK, what can go wrong with quality?>
  3. Киев 2017 Why am I talking about testing mobile SDK?

    • I didn’t find anything similar in internet • You can’t know what you’ll test on your next job • Your testing paradigma can be turned upside down • But, best testing practices can be used anywhere, “I guarantee it” <Developing multi-platform mobile SDK, what can go wrong with quality?>
  4. Киев 2017 What is SDK? Software development kit <Developing multi-platform

    mobile SDK, what can go wrong with quality?> - a set of software development tools that allows the creation of applications for a certain software package, software framework, hardware platform, operating system, or similar development platform.
  5. Киев 2017 What is our product? A complete solution to

    drive organic user acquisition and social engagement. It consists of: • SDK • Developers Dashboard • Microservices backend Check https://www.getsocial.im/ for details <Developing multi-platform mobile SDK, what can go wrong with quality?>
  6. Киев 2017 What problems do we solve? • Increase user

    retention • Build in-app communities • Expand viral channels • Increase organic growth • Maximize user acquisition value <Developing multi-platform mobile SDK, what can go wrong with quality?>
  7. Киев 2017 What did we start from? • No QA

    processes • Lots of bugs discovered by clients => • You can’t test the whole customer’s app games because it’s time-consuming • Tricky third-party issues <Developing multi-platform mobile SDK, what can go wrong with quality?>
  8. Киев 2017 Actually, it wasn’t so bad • Devs did

    5 releases and still alive (have clients and gain money) • Devs are concerned about quality a lot, that’s good • Fast and dedicated support • TDD <Developing multi-platform mobile SDK, what can go wrong with quality?>
  9. Киев 2017 Common problems for mobile apps and SDK •

    Fragmentation hell • Network-related problems • Mobile architecture issues • OS version diversity <Developing multi-platform mobile SDK, what can go wrong with quality?>
  10. Киев 2017 Specific problems you may face testing mobile SDK

    • Long delivery of new versions and hotfixes • Third-party issues • Your sense of beauty is not important • Some types of testing are really not needed • Your testing is far from the “end” <Developing multi-platform mobile SDK, what can go wrong with quality?>
  11. Киев 2017 Problems you may face - long shipping process

    We are shipping binary packages and customers can take weeks to update to the recent version ...and then upload their app to the App Store/Google Play <Developing multi-platform mobile SDK, what can go wrong with quality?>
  12. Киев 2017 Problems you may face - third-party issues •

    E.g. Facebook bug • or recent Twitter update • We have 7 more invite channels :-O • And a lot more features... <Developing multi-platform mobile SDK, what can go wrong with quality?>
  13. Киев 2017 Problems you may face - some testing types

    are not needed • Your sense of beauty is “neglected” as customers will (hopefully) develop their own UI • Some testing types are not needed (e.g. accessibility) <Developing multi-platform mobile SDK, what can go wrong with quality?>
  14. Киев 2017 Problems you may face - you are not

    done yet! • Your SDK will be integrated into completely another product • It doesn’t mean it will be integrated correctly • Key focus - interaction of your SDK with the app <Developing multi-platform mobile SDK, what can go wrong with quality?>
  15. Киев 2017 Integration… is not what you were thinking about

    • Game devs usually integrate their game with 12-16 SDKs • Integration bugs on each particular game can differ • Bugs differ according to platform (not only iOS/Android, but also Unity, Cordova) <Developing multi-platform mobile SDK, what can go wrong with quality?>
  16. Киев 2017 Useful tools <Developing multi-platform mobile SDK, what can

    go wrong with quality?> Hiptest Hockeyapp Appium Runscope Postman Vysor Stetho Charles
  17. Киев 2017 What can be helpful except tools? • RTFM

    (i.e. mobile testing books, blogs, chats etc.) • Heuristics • Mnemonics (e.g. TAP IT UP) • Testing tours (example) • Mind maps (example) <Developing multi-platform mobile SDK, what can go wrong with quality?>
  18. Киев 2017 What do we have now • Autotests (hell,

    yeah), they really work! • Close collaboration between devs and QAs • Management understood the value of QA • QAs help with customer support • Stable major releaseĸ <Developing multi-platform mobile SDK, what can go wrong with quality?>
  19. Киев 2017 Conclusions • You will test completely different products

    during your career • Best test practices can be applicable to any of them • Devs are your best friends • Just do it! <Developing multi-platform mobile SDK, what can go wrong with quality?>
  20. Киев 2017 References: 1. J.Kohl “Tap into mobile testing” https://leanpub.com/testmobileapps

    2. Heuristic Test Strategy Model by J.Bach http://www.satisfice.com/tools/htsm.pdf 3. Adventures in QA blog http://adventuresinqa.com/ 4. Very nice QA Fest talk from Anna Karpenko https://www.youtube.com/watch?v=VXaFG01YRxQ 5. A bunch of useful testing mind maps http://apps.testinsane.com/mindmaps 6. “Android development for beginners” course https://in.udacity.com/course/android-development-for- beginners--ud837/ 7. “You are not done yet” checklist http://www.thebraidytester.com/downloads/YouAreNot DoneYet.pdf <Developing multi-platform mobile SDK, what can go wrong with quality?>