SlideShare une entreprise Scribd logo
1  sur  39
AUTOMATING MICROSERVICES:
WHAT, WHERE AND WHEN
Oleksandr Romanov
IT Weekend Dnipro 2018
WHO AM I?
• 6+ years in test automation
• QA Automation Lead at Playtika
DICLAIMER
• All opinions are completely my own
• Microservices – backend architecture
• For hardcore code, check =>
The story so far
REGRESSION. RELEASE. REPEAT.
First automated tests…
CROSS BROWSER AUTOMATION
TESTS ON IE
Good old flakiness
MAYBE, API LEVEL TESTING?
CHILL OUT, HERO
HERE COMES
MICROSERVICES!
WINTER IS
COMING?
MICROSERVICES?
WHAT THE HELL ARE
API LEVEL TESTING, AGAIN?
— YOUR ARCHITECT
«We need to release each microservice separately and fast».
THE PYRAMID
https://martinfowler.com/ar
ticles/microservice-testing/
MICROSERVICES TEST AUTOMATION APPROACH
GUIDE THROUGH THE LEVELS
Unit tests
• Implemented by developers
• Concentrated on positive and corner cases
• Mocking and stubbing are heavily used
Integration tests: what to test
• Persistence: SQL and NoSQL storages
• Gateway: HTTP REST, Messaging, RPC,
etc.
Integration tests: how to test
• In – memory solutions for testing
• Dependencies in docker containers
• Using SQLUnit / NoSQLUnit / scripts for test data
Component tests: what
• Testing main functionality
of the microservice
• Testing corner cases if
external services are
unavailable
Component tests: how to test
• Testing through public / internal API
• Running service locally and / or dependencies in docker containers
Test Containers: https://bit.ly/2KYhc4N
Spring Boot Test Containers: https://bit.ly/2GTc13S
• Mocking out external services: e.g. via WireMock https://bit.ly/2pSFLZb
Contract
tests: what
• Testing semantics
• Do not test functionality
Contract tests:
example
Contract tests: how
PACT - https://bit.ly/2GUBIAX
Spring Cloud Contract - https://bit.ly/2GYi0Jy
End – to – End tests:
• Cover business flows
• Cover platform dependent cases
• Can be done on API or UI levels
So, what?
One bad
microservice?
Recommendations
• Sam Newman – Building Microservices https://oreil.ly/1pp6qmx
• Martin Fowler – Testing Strategies in Microservices
https://bit.ly/2pWi0AA
To sum up:
• Automate each microservice separately
• Run locally as much tests as you can
• End - to - end tests are important too
Twitter: @al8xr
Skype: alex_roma_nov
THANK YOU!

Contenu connexe

Tendances

Ankita- Hacker Proof your app using Functional Tests
Ankita- Hacker Proof your app using Functional TestsAnkita- Hacker Proof your app using Functional Tests
Ankita- Hacker Proof your app using Functional Tests
Ankita Gupta
 
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
Glance at Visual Studio 2013  ASP.NET and Web tools 2013Glance at Visual Studio 2013  ASP.NET and Web tools 2013
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
Shravan Kumar Kasagoni
 

Tendances (20)

Java to scala
Java to scalaJava to scala
Java to scala
 
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
#ITsubbotnik Spring 2017: Andriy Filatov "Ансамбль солёных поваров: сравнивае...
 
AnsibleFest 2019 - Greenfielding Network and Systems Automation in a Large an...
AnsibleFest 2019 - Greenfielding Network and Systems Automation in a Large an...AnsibleFest 2019 - Greenfielding Network and Systems Automation in a Large an...
AnsibleFest 2019 - Greenfielding Network and Systems Automation in a Large an...
 
Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012
 
Android CD
Android CDAndroid CD
Android CD
 
Angular2 Upgrade
Angular2 UpgradeAngular2 Upgrade
Angular2 Upgrade
 
swift-log について
swift-log についてswift-log について
swift-log について
 
2010.09.02 LT Doc fluxflex on JAWS-UG
2010.09.02 LT Doc fluxflex on JAWS-UG2010.09.02 LT Doc fluxflex on JAWS-UG
2010.09.02 LT Doc fluxflex on JAWS-UG
 
Backend, Simplified - A sane look on the mobile backend world, Nir Orpaz, Mob...
Backend, Simplified - A sane look on the mobile backend world, Nir Orpaz, Mob...Backend, Simplified - A sane look on the mobile backend world, Nir Orpaz, Mob...
Backend, Simplified - A sane look on the mobile backend world, Nir Orpaz, Mob...
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
 
Ankita- Hacker Proof your app using Functional Tests
Ankita- Hacker Proof your app using Functional TestsAnkita- Hacker Proof your app using Functional Tests
Ankita- Hacker Proof your app using Functional Tests
 
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
Railsのフロントエンドのトレンドと実際〜事業を進めながら、レールに乗り続けるためのテクニック〜
 
Attacking aws workshops - teaser
Attacking aws workshops - teaserAttacking aws workshops - teaser
Attacking aws workshops - teaser
 
Merging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec PerspectiveMerging Security with DevOps - An AppSec Perspective
Merging Security with DevOps - An AppSec Perspective
 
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
Glance at Visual Studio 2013  ASP.NET and Web tools 2013Glance at Visual Studio 2013  ASP.NET and Web tools 2013
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
 
既存の資産をXamarinで / Utilize existing assets as Xamarin library
既存の資産をXamarinで / Utilize existing assets as Xamarin library既存の資産をXamarinで / Utilize existing assets as Xamarin library
既存の資産をXamarinで / Utilize existing assets as Xamarin library
 
Elm & Elixir: Functional Programming and Web
Elm & Elixir: Functional Programming and WebElm & Elixir: Functional Programming and Web
Elm & Elixir: Functional Programming and Web
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
3 d printer
3 d printer3 d printer
3 d printer
 

Similaire à Automating microservices: what, where and when

Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019
Dane Weber
 
End to End Testing with nightwatchjs
End to End  Testing with nightwatchjsEnd to End  Testing with nightwatchjs
End to End Testing with nightwatchjs
Srikanth Madduri
 

Similaire à Automating microservices: what, where and when (20)

Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019Undercover Scrum Master - Agile2019
Undercover Scrum Master - Agile2019
 
What is Angular version 4?
What is Angular version 4?What is Angular version 4?
What is Angular version 4?
 
Scaling Your Architecture for the Long Term
Scaling Your Architecture for the Long TermScaling Your Architecture for the Long Term
Scaling Your Architecture for the Long Term
 
London SDET Meetup main presentation - How SDET can transform your organisati...
London SDET Meetup main presentation - How SDET can transform your organisati...London SDET Meetup main presentation - How SDET can transform your organisati...
London SDET Meetup main presentation - How SDET can transform your organisati...
 
Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++Kiss.ts - The Keep It Simple Software Stack for 2017++
Kiss.ts - The Keep It Simple Software Stack for 2017++
 
End to End Testing with nightwatchjs
End to End  Testing with nightwatchjsEnd to End  Testing with nightwatchjs
End to End Testing with nightwatchjs
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET Developers
 
How Vanguard Got to a CD-CD World by Craig Schwarzwald
How Vanguard Got to a CD-CD World by Craig SchwarzwaldHow Vanguard Got to a CD-CD World by Craig Schwarzwald
How Vanguard Got to a CD-CD World by Craig Schwarzwald
 
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
 
Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02Stackuptalks renttherunway-may62014-140514094321-phpapp02
Stackuptalks renttherunway-may62014-140514094321-phpapp02
 
Breaking the Monolith Road to Containers
Breaking the Monolith Road to ContainersBreaking the Monolith Road to Containers
Breaking the Monolith Road to Containers
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automation
 
Taking Micronaut out for a spin
Taking Micronaut out for a spinTaking Micronaut out for a spin
Taking Micronaut out for a spin
 
Nightwatch JS for End to End Tests
Nightwatch JS for End to End TestsNightwatch JS for End to End Tests
Nightwatch JS for End to End Tests
 
Angular Owin Katana TypeScript
Angular Owin Katana TypeScriptAngular Owin Katana TypeScript
Angular Owin Katana TypeScript
 
Web Application Testing with Selenium
Web Application Testing with Selenium Web Application Testing with Selenium
Web Application Testing with Selenium
 
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar SlidesReduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
Beyond The Rails Way
Beyond The Rails WayBeyond The Rails Way
Beyond The Rails Way
 

Plus de Oleksandr Romanov

Plus de Oleksandr Romanov (10)

Тестування Blockchain - Що там можна тестувати?
Тестування  Blockchain - Що там можна тестувати?Тестування  Blockchain - Що там можна тестувати?
Тестування Blockchain - Що там можна тестувати?
 
What does it mean to test a blockchain
What does it mean to test a blockchainWhat does it mean to test a blockchain
What does it mean to test a blockchain
 
Ups and downs of contract testing in real life
Ups and downs of contract testing in real lifeUps and downs of contract testing in real life
Ups and downs of contract testing in real life
 
Testing challenges at microservices world
Testing challenges at microservices worldTesting challenges at microservices world
Testing challenges at microservices world
 
Practical contract testing with Spring Cloud Contract [Test Con 2019]
Practical contract testing with Spring Cloud Contract [Test Con 2019]Practical contract testing with Spring Cloud Contract [Test Con 2019]
Practical contract testing with Spring Cloud Contract [Test Con 2019]
 
Turning automation education upside down [QAFest 2019]
Turning automation education upside down [QAFest 2019]Turning automation education upside down [QAFest 2019]
Turning automation education upside down [QAFest 2019]
 
Hidden complexities in microservices testing
Hidden complexities in microservices testingHidden complexities in microservices testing
Hidden complexities in microservices testing
 
Integration testing for microservices with Spring Boot
Integration testing for microservices with Spring BootIntegration testing for microservices with Spring Boot
Integration testing for microservices with Spring Boot
 
Introduction to web application security testing
Introduction to web application security testingIntroduction to web application security testing
Introduction to web application security testing
 
Introduction to pairwise testing
Introduction to pairwise testing Introduction to pairwise testing
Introduction to pairwise testing
 

Dernier

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 

Dernier (20)

Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 

Automating microservices: what, where and when