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

The Best Practices for Mobile Game Testing

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Ville-Veikko Helppi Ville-Veikko Helppi
August 30, 2015
290

The Best Practices for Mobile Game Testing

This presentation focuses on the best practices for mobile game testing and presents various tips and tricks how game developers can more efficiently test their mobile games.

Avatar for Ville-Veikko Helppi

Ville-Veikko Helppi

August 30, 2015
Tweet

Transcript

  1. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   1   2 December 2014 Ville-Veikko Helppi Technical Product Manager [email protected] Learn the Best Practices in Mobile Game Testing W E B I N A R
  2. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   2   Agenda •  Different Types of Testing and How Game Testing Differs from Regular App Testing? •  Frameworks, Tools and Technologies – What is Important in Mobile Game Testing Today? •  Top Priorities for Mobile Game Testing •  Infrastructure for Successful Game Testing •  Hands-on Example (Image Recognition) •  Testdroid Update •  Q&A
  3. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   3   Let's Define 'Testing'...
  4. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   4   Different Types of Testing? •  Black-box testing vs. White-box testing •  Methods used in Mobile Game Testing – Functional – Compatibility – Performance – Localization – Regression – Load – Smoke – Acceptance
  5. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   5   Defining Some Ways to Test • Func8onality  of  the  game-­‐play,  features   Func8onal  Tes8ng   • Done  always  when  new  features  / regressions  are  included   Regression  Tes8ng   • How  game  runs  on  different  configura8ons   Compa8bility  Tes8ng   • Different  languages,  geo-­‐focused  materials   Localiza8on  Tes8ng   • Endurance  test  to  determine  if  system  can   handle  the  load   Soak  Tes8ng   • Measures  the  capacity  of  the  system     Stress  Tes8ng   • Simplest  form  of  performance  tes8ng,   measures  how  system  handles  certain  loads   Load  Tes8ng   • Isola8on  of  the  environment  (e.g.  from   network)  to  see  how  game  works   Herme8c  Tes8ng   Feature -based testing Performance testing End-user testing
  6. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   6   The Old-Fashion Thinking Deterministic systems Identifiable objects Tool support(s) User-driven actions Simple inputs/outputs Virtualization Random setups/results No handle on objects No standards User reacts to input Complex inputs/outputs Real hardware <> <> <> <> <> <> High-­‐level  of  automaBon   Low-­‐level  of  automaBon  
  7. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   7   Test Automation as a Solution Random setups/results -> Easy to generate random events No handle on objects -> Variety of options (e.g. image recognition) No standards -> Variety of frameworks (cross-platform etc.) User reacts to input -> Test scripts can handle random events Complex inputs/outputs -> Test scripts can generate input/content Real hardware -> Availability of real mobile hardware Test Automation brings real value with variety of options to mobile game testing
  8. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   8   Challenges that Test Automation Tackles •  Proliferation of Devices, Brands, Operators, Platforms •  Coupling the Testing and Development process (Continuous Integration/Deployment/Delivery) •  Different Types of Testing (as automated) –  Stress, Load, Performance, Functionality etc. •  Test script & test asset usability •  Cons of Manual testing –  Tedious effort, Expensive human resources, Error-prone (as done by humans) & Not reusable (done once)
  9. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   9   OS versions Chipsets CPU + GPU Tens of OEMs Memory Displays (resolutions, physical hw) OEM mods Other hardware (connectivity, calibration) Relation to other software Significant Benefits of Using Automation
  10. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   10   Correct behaviour across platforms and browsers Integration with web back-ends Typically need to fully utilize HW (CPU+GPU) Resource (e.g. battery) consumption OpenGL ES 2/3 Functionality and usability Screen orientations, connectivity, user profiles Robustness Robustness and security! Brand Compliances, verification with back- ends and data Different 'Verticals' Require Different Practices
  11. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   11   Importance of Mobile Game Testing
  12. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   12   Important Aspects in Game Testing •  User Interface and Functionality – UI layouts/elements, Menus, Resolution, Orientation, Overall visuality •  Graphics Performance •  Usability and User Experience – Responsiveness, Real Occuring Events •  Multi-player/User •  Social Integrations •  Security and Liabilities
  13. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   13   User Interface and Functional •  Compared to regular app testing, mobile game testing may seem to be more challenging –  e.g. OpenGL ES content not action-identifiable •  Graphics and UI – Identical look&feel across all devices and variants •  Usability controls in the context of game •  Navigation/game-play, Progress, Delays between "game-stages" •  Animations, Fonts, Other graphics assets •  Screen Resolution and Orientation  
  14. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   14   Performance Testing •  Performance, Load, Stress, Spike, Soak •  Measure the real user experience •  Execute tests with all possible devices (SW&HW) •  Discover the impact of server loads, app performance (CPU/ GPU utilization)
  15. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   15   •  Studies: Majority of users leave game due sluggish, general slowness or other bad performance behavior •  It's very important to understand how game behaves on different devices, under different circumstances Performance Makes +/- UX
  16. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   16   Building the User Experience Understanding How quickly gamer assimilates what the game is about, how to fully play with it, what are the functionalities. Usability The main User Interface, menus, design and how usable those are Playing Experience Intuition to follow the game and go forward with its instructions and game-play Monetization Are gamers willing to buy – invest – in game •  Graphics performance capability is the most important thing for mobile games when forming UX •  Too many games fail to work properly with low- end/mid-range devices due hardware performance •  The real understanding of game's performance capability can be only figured out by testing on real devices
  17. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   17   •  End-to-end between tests, AI or more simple implementations •  Optimize the data communication between server and clients •  Test simultaneously on several (different) devices •  Check what happens if game gets interrupted (platform) •  Location-based features – how to properly mock up those? •  Hermetic environment – what happens? Multi-Player/User Features
  18. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   18   •  Important part of the after- engagement (how gamers share their results) •  Many of OEM branded devices provide certain SoMe apps pre-installed (version?) •  Connectivity, login and data transferring are tested in context of game •  Hermetic environment – what happens? Social Integrations
  19. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   19   Security and Liabilities
  20. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   20   4 Top Priorities in Mobile Game Testing
  21. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   22   Device Diversity By  OpenSignal,  Inc.  2014  -­‐  h[p://opensignal.com/reports/2014/android-­‐fragmenta8on/    
  22. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   23   Real Devices vs. Emulators •  Emulators/simulators won’t help you to test… – User Experience and Usability – Hardware – Software – Infrastructure 0  %  = the percentage of your app users that use emulator to run your app! Why Real Devices are Must-to-Have?
  23. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   24   Manual vs. Automation Smaller  coverage,  More   money  burnt  &  8me   wasted,  Error-­‐prone   Large  coverage,     quickly   completed,  Less   money  &  8me   wasted,  Exact   results.   Manual   AutomaBon  
  24. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   25   Infrastructure for Mobile Game Testing
  25. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   26   High-Level Infrastructure
  26. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   27   Architecture / Infrastructure GAME Game Engine Android iOS ... API & services Server Database App Middleware Platform Connectivity/Network Back-end
  27. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   28   Isolated, Hermetic Testing GAME Game Engine Android iOS ... API & services Server Database Herme8c  Environment   App Middleware Platform Connectivity/Network Back-end
  28. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   29   Compatibility & Porting Testing GAME Game Engine Android iOS ... API & services Server Database Real  Devices   App Middleware Platform Connectivity/Network Back-end
  29. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   30   Smoke/Reference Testing GAME Game Engine Android iOS ... API & services Server Database Reference  Environment   App Middleware Platform Connectivity/Network Back-end
  30. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   31   Back-End Performance Testing GAME Game Engine Android iOS ... API & services Server Database Massive  no.  of  users   and  significant  load   App Middleware Platform Connectivity/Network Back-end
  31. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   32   Continuous Integration
  32. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   33   Game Testing Process
  33. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   34   Hands-on Example: Integrating Development with Testing Environment
  34. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   35   •  Continuous Integration (e.g. Jenkins) •  Appium framework (for Android and iOS) •  No need for devices – we'll use devices on Testdroid Cloud service •  Test scripts / test cases for game Setup
  35. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   36   Continuous Integration
  36. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   37   Appium Intro Family Tree: Android Test Automation Frameworks Appium works for both, Android and iOS
  37. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   38   ©  Copyrights  by  Bitbar  Technologies  Ltd.  2013     All  rights  reserved.   38   •  Uses Selenium Webdriver (W3C standard) as a scripting framework •  Supports native Android, native iOS and mobile web: –  Android via uiautomator (API level >=16) and Selendroid (API level <16) –  iOS via UI Automation –  Mobile web as Selenium driver for Android and iOS •  You can write your Appium scripts on almost any programming language (Haskell/Go/Clojure/ Java/Ruby) Appium Basics
  38. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   39   Test  Script   Test  Case   Desired   CapabiliBes   { “device”: “Android”, “app”: “/Users/user/ApiDemos.apk” “app-package”: “com.example.android.apis” “app-activity”: “.ApiDemos” } Desired Capabilities / Android Example
  39. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   40   Test  Script   Test  Case   Desired   CapabiliBes   { “app”: “com.bitbar.testdroid.BitbarIOSSample” } Example Desired Capabilities / iOS
  40. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   41   Test  Script   Test  Case   Desired   CapabiliBes   Appium @ Localhost WebDriver   h[p://localhost_4723/wd/hub   Appium  Server   4723   Device   Example
  41. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   Test  Script   Test  Case   Desired   CapabiliBes   From Localhost to Testdroid Cloud WebDriver   h[p://localhost_4723/wd/hub   *Testdroid Caps h[p://appium.testdroid.com/wd/hub   Example
  42. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   Test  Script   Test  Case   Desired   CapabiliBes   From Localhost to Testdroid Cloud WebDriver   { “testdroid_username”: “[email protected]”, “testdroid_password”: “p4s$w0rd”, “testdroid_project”: “My First Project”, “testdroid_testrun”: “Test 1”, “testdroid_device”: “iPad Mini 7.0.4 A1432”, “testdroid_app”: “http://domain.com/app_v1.ipa” . . “app”: “com.bitbar.testdroid.BitbarIOSSample” } Example
  43. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   45   350+ Android & 20+ iOS Devices
  44. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   52   Example Projects and Test Runs
  45. Appium   Broker   5   Appium  Ready   sessionid

      ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All  rights  reserved.   53   Test   Script   Behind  the  Scene   Device  Cluster   Device  1   Device  2   Device  3   1   WebDriver  Session  Request   @  h$p://appium.testdroid.com/wd/hub/   Desired  Caps,  .apk  /  .ipa   2   Configure  project   3   Wait  for  device  to   become  available   4   Start  Appium   Session   Map   WebDriver  Session  response   6   sessionid   7   Test  Run   sessionid   Proxy   Appium   Device  1   Example
  46. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   54   Image Recognition The basic example of Image Recognition in Mobile Game Testing: Template Matching
  47. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   59   •  Test Script contains the following 'steps': 1.  Identify the used platform (Android / iOS) 2.  Search for 'Goldmine' graphical element (using find_image to search for screen) 3.  Script runs test to go to shop 4.  Script runs test to buy a cannon 5.  Script runs test to place the cannon (all these three are defined in .png files) 6.  Script runs test to start a battle! 7.  Game is brought down and test ends. Example: Clash of Clans
  48. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   60   VIDEO Image Recognition with Real Android and iOS Devices in Local Environment
  49. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   61   Testdroid Update
  50. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   62   New  UI  in  Testdroid  Cloud  2.0  
  51. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   63   Testdroid  Cloud's  Interac8ve  
  52. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   64   Testdroid PrivateCloud - Running user- selected devices at any of our hosting facilities
  53. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   65   NEW HOSTING CENTER! Mountain View, CA San Francisco and Mountain View datacenter
  54. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   66   Option 1: Public Device Cloud on-demand devices (multitenant) Mobile app testing on over 400+ real Android and iOS devices hosted by Bitbar Option 2: Private Device Cloud reserved devices Hosted by Bitbar in the US and/or Europe Devices chosen by and reserved only for the Customer Option 3: On-premise Device Cloud Automated mobile app testing on real Android and iOS de- vices hosted by the customer, usually 30-500 devices Testdroid Deployment Options
  55. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   68   Video recording & slides of this webinar will be soon available at Vimeo and Slideshare! Please visit at www.testdroid.com for more information. THANK YOU! W E B I N A R
  56. ©  Copyrights  by  Bitbar  Technologies  Ltd.  2014     All

     rights  reserved.   69   We operate the largest global device cloud with over 400 devices instantly available for developers Devices from the US, Europe, China, Japan and Korea – global devices for global customers