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

Android Instant Apps testing

Android Instant Apps testing

Presentation from Pro QA meetup held on 5th of December 2017 by GDG Lviv.
Here's video (in Ukrainian)
https://youtu.be/saNKOURGHrg?t=2831
And blog post with extract of all the useful information https://blog.usejournal.com/how-to-test-android-instant-apps-566ed651273b

Diana Pinchuk

December 05, 2017
Tweet

More Decks by Diana Pinchuk

Other Decks in Technology

Transcript

  1. About me - Tested a lot of stuff, even mobile

    SDK - GDG Lviv & GDG DevFest Ukraine co-organizer - Huge fan of podcasts and self-education - Post a lot of memes into my presentations :D
  2. Agenda - What is Android Instant Apps (AIA)? - Why

    they are important - Difference between usual apps and Instant ones - Development challenges - Testing tips - Q&A
  3. Instant apps Native Android apps, without the installation. Users experience

    your app with just a tap. AIA only loads the portions of the app needed to perform the current action. Picture source
  4. Why AIA are so important - Increase adoption rates =>

    $ and ❤ - Remove friction to the users - Deal with bad network - Spread apps to budget devices - New possibilities for business, e.g. online retailers
  5. Discover AIA Set up your device (API >23): Settings =>

    Google => Instant apps. Starting from Android O don’t need to do that
  6. Search in Chrome/Google for a needed app (e.g. ‘Buzzfeed’) and

    look up for ‘Instant’ => Open the AIA Discover AIA
  7. Business challenges Define use cases to be used in AIA

    Reconsider your metrics for tracking the app success, as installable apps and AIA have different flow
  8. ANDROID STUDIO PROJECT feature module 1 feature module 2 feature

    module 3 base feature module After Before modularization ANDROID STUDIO PROJECT feature 1 feature 2 feature 3 Installable APK Installable APK Instant App APKs Project Structure Source https://www.youtube.com/watch?v=9Jg1D07NgeI
  9. Native features that could be used in AIA - Camera

    - Location - In-app purchases - Phone contact - Permissions
  10. Features that are not available - Push Notifications - Background

    services - Access to external device storage - Change device settings (e.g. wallpaper)
  11. Specific AIA features - Play Install API (user stays inside

    experience during download) - Smart Lock
  12. Development challenges - Size reduction of installable app (4Mb) -

    Modularization - Code cleanup + tackle technical debt - AIA is not a trial version, it should show full UX
  13. What can help - Use APK Analyzer and Proguard -

    Don’t forget about https - Specify manually version name in the base module and feature modules - Make sure to specify fool id of the resource (add a package name), as base module and feature modules have different package names - Use ‘mobile holdback’ https://goo.gl/Vhv92c
  14. Vimeo approach 1. Delete everything that isn’t player code 2.

    Trim down the AIA to 4MB 3. Fix the bugs we created in steps 1 and 2 4. Modify UI to adhere to AIA UX best practices
  15. Fragmentation OS versions, different screen size and ratio, different producers

    Changes in Android Oreo: removed Google Play Instant Apps services, added foreground service permission
  16. AIA URL = Web URL Test network scenarios (WiFi, 3G,

    Edge, move between buildings, go to elevator, try mobile data during rush hours). Check if https is set up everywhere
  17. Test Android App Links AIA won’t be launched after copy-paste

    URL, it should be clicked somewhere (e.g. email or messenger) If you have multiple fragments in the AIA, make sure that URL mapping is correct, and check the navigation between modules Picture source https://goo.gl/RDoWjS
  18. Play with location and permissions Check if permissions popup doesn’t

    appear right after click on AIA; allow permissions => deny => repeat :) Same with location, but include scenarios with bad signal
  19. UX Make sure that AIA and installable app are consistent.

    Transition from AIA to installable app should be as smooth as possible. Keep user state after the installation.
  20. UX Allow users to finish their task without installing the

    app. Don’t overuse installation prompts, especially implicit ones INSTALL Explicit prompt Implicit prompt
  21. UX Check navigation (Up arrows vs system back): Do not

    kick users out of your app when they click the Up arrow
  22. One more thing... The AIA process is killed when the

    AIA goes to idle state Don’t forget about the cache For better debugging unzip AIA archive and install APK of the needed feature, you’ll be able to see the stacktrace Feature A.apk Feature B.apk Base.apk Instant.zip
  23. Key points AIA are cool and will bring a lot

    of benefits to you and your users Help devs to make the transition to AIA simple and painless Think about the installation scenarios of your installable app Enjoy ;)
  24. References: 1. Official documentation g.co/instantapps 2. Troubleshooting from Google https://goo.gl/0TYWsr

    3. Fireside chat from Google I/O ‘17 https://goo.gl/FhNYi4 4. GDG DevFest Ukraine talk by Yuliya Kaleda https://goo.gl/Vhv92c 5. Vimeo experience in building AIA https://goo.gl/ML9sKs 6. AIA Codelab https://goo.gl/opn9W8 7. Mobile testing cheat sheet https://goo.gl/M1DY9U