23
5/9/22 How Spotify Does Test Automation Kristian Karl

How Spotify Does Test Automation - Kristian Karl

Embed Size (px)

DESCRIPTION

Kristian Karl's (@kristiankarl) presentation from MeetUI 2013, SoapUI's first user conference, in Stockholm, Sweden. Kristian is a test manager at Spotify.

Citation preview

Page 1: How Spotify Does Test Automation - Kristian Karl

April 12, 2023

How Spotify Does Test AutomationKristian Karl

Page 2: How Spotify Does Test Automation - Kristian Karl

The 20 minutes agenda

• Separation of Test Design and Implementation

• Automation of Mobiles, Desktop and Web Clients

• Handling of Test Data and Test Results.• Demos

Page 3: How Spotify Does Test Automation - Kristian Karl

API Tests

Integration Tests

Component Tests

System Tests

Unit Tests

Performance Tests

GUI Tests

Page 4: How Spotify Does Test Automation - Kristian Karl

Separation of Test Design and Implementation

Page 5: How Spotify Does Test Automation - Kristian Karl

Test Automatio

n

Test Implementatio

nTest Design

Ab

stra

ctio

n L

ayer

Page 6: How Spotify Does Test Automation - Kristian Karl

Model-based testing

• Models are the abstraction layer in the test automation.

• QA uses models to design the tests.

• Devs implements the code executing the tests.

Page 7: How Spotify Does Test Automation - Kristian Karl

Login dialog

’What’s New’

Login using valid credentials

Client not running

Start client

Log out

Close

Exit

Login using invalid credentials

Toggle ’Remember me’

Start client

Page 8: How Spotify Does Test Automation - Kristian Karl

public interface SimpleLogin { public void e_Close(); public void e_Exit(); public void e_Init(); public void e_InvalidCredentials(); public void e_Logout(); public void e_StartClient(); public void e_ToggleRememberMe(); public void e_ValidPremiumCredentials(); public void v_ClientNotRunning(); public void v_LoginPrompted(); public void v_WhatsNew();}

Page 9: How Spotify Does Test Automation - Kristian Karl
Page 10: How Spotify Does Test Automation - Kristian Karl

Automation of Mobiles, Desktop and Web Clients

Page 11: How Spotify Does Test Automation - Kristian Karl

• yEd – Editing graphml models [www.yworks.com]

• GraphWalker – Generating test sequences online/offline [graphwalker.org]

• python-graphwalker – Generating test sequences [https://github.com/spotify/python-graphwalker]

• Sikuli – Image recognition (desktop) [www.sikuli.org]• Selenium – Web testing [seleniumhq.org]

• NuRemote – In-process testing (iOS) [github.com/nevyn/NuRemoting]

• TestNG – Unit test framework [testng.org]• Jenkins – Schedules and launches tests 24/7 [jenkins-ci.org]• VirtualBox – Virtualization [www.virtualbox.org]

Page 12: How Spotify Does Test Automation - Kristian Karl

Handling of Test Data and Test Results.

Page 13: How Spotify Does Test Automation - Kristian Karl
Page 14: How Spotify Does Test Automation - Kristian Karl
Page 15: How Spotify Does Test Automation - Kristian Karl
Page 16: How Spotify Does Test Automation - Kristian Karl
Page 17: How Spotify Does Test Automation - Kristian Karl
Page 18: How Spotify Does Test Automation - Kristian Karl
Page 19: How Spotify Does Test Automation - Kristian Karl
Page 20: How Spotify Does Test Automation - Kristian Karl
Page 21: How Spotify Does Test Automation - Kristian Karl
Page 22: How Spotify Does Test Automation - Kristian Karl
Page 23: How Spotify Does Test Automation - Kristian Karl

Done! Demo! Q&A!

Spotify is hiring: https://www.spotify.com/se/jobs/