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

Loading time testing and results visualisation of web games @ Heisenbug Moscow 2017

Loading time testing and results visualisation of web games @ Heisenbug Moscow 2017

Presentation from SQA Days conference about loading time testing and results visualisation of web games

Andrejs Kalnačs

December 09, 2017
Tweet

More Decks by Andrejs Kalnačs

Other Decks in Technology

Transcript

  1. Loading time testing and results visualisation of web games Andrejs

    Kalnačs Heisenbug Moscow, 9th December 2017
  2. who am i 2 Lead Software Developer in Test @

    Evolution Gaming 10 years of industry experience in QA Last 6 years – testing automation Java, Groovy, Bash, Perl, Tcl Evolution Gaming, Nokia, Accenture, Nokia Siemens Networks Riga Testing Automation Club meet-ups co-organiser English, Russian and Latvian language proficiency @TesterFromRiga
  3. Evolution Gaming 3 The World leader in live dealer gaming

    3 development locations – Riga, Tallinn, Amsterdam B2B product company
  4. Use case of Evolution Gaming 6 16 different games 3

    test environments 2 browser cache states
  5. Front end performance tests 8 Front end loading time tests

    Front end action timing tests Front end frame rate tests
  6. Custom metric collection from client 10 Loading time Intermediate loading

    metrics Navigation Timing Metrics Proprietary API Log server
  7. OWASP ZAP proxy 13 HTTPS support WebSocket support API Open

    Source Cross platform: Linux, Mac, Windows HAR
  8. Bandwidth throttling 16 Virtual or physical machine with two network

    interfaces Linux tc tcconfig tcset --device eth1 --rate 800k --direction outgoing tcset --device eth0 --rate 800k --direction incoming
  9. Bandwidth throttling 17 Virtual or physical machine with two network

    interfaces Linux tc tcconfig tcset --device eth1 --rate 800k --delay 40ms \ --direction outgoing tcset --device eth0 --rate 800k --delay 40ms \ --direction incoming
  10. Local desktop & device farm 19 Support, maintenance & update

    of infrastructure, hardware & software Stability of devices Complexity of iOS testing automation
  11. Execution from CI server 20 Selenium Hub Appium iOS node

    Appium Android node Proxy Bandwidth throttler Docker host
  12. Test data storage 22 Jenkins (job artefacts) Attachments to report

    File storage (FTP, SAMBA, WebDAV, or anything else) Dedicated .har storage (harstorage) SQL or NoSQL database
  13. Why? 24 Show stakeholders how good or bad user experience

    is Compare your products Understand how new feature is affecting performance Visualise regression
  14. 29

  15. simplest-test-dashboard 33 Saves web page with content to disc and

    calculates size on disc https://youtu.be/SzelgA2NdEM
  16. Grafana dashboard version control (git) 35 Edit dashboard Copy in

    IDE Diff & throw out unneeded things git- workflow Grafana dashboard update via API
  17. Reference 37 https://github.com/andrejska/simplest-test-dashboard https://github.com/evolution-gaming/js-benchmark Related talks: Adding Performance Assertion to

    Standard Functional Testing (Marcel Verkerk, The Selenium Conf 2017) Web App Performance Testing Using WebDriver (Michael Kleptikov, The Selenium Conf 2012)