SlideShare une entreprise Scribd logo
1  sur  20
Mesut ÖZEN
Software Developer
@mstzn36
https://github.com/mesut/test-practice
• Pros
• Independent Scability
• Independent/Parallel Deployment
• Tech Agnostic
• Cons
• Increased Complexity Problem with Data Consistency
• Hard to maintenance
• Orchestration
Single Responsibility at the architecture level
Continuous Delivery is the ability to get changes of all types—including new features,
configuration changes, bug fixes and experiments—into production, or into the hands of
users, safely and quickly in a sustainable way(*)
* https://continuousdelivery.com/ -Jez Humble
• Faster time to
market
• Higher Quality
• Lower Costs
• Happier People
How do you know that your latest change still results in releasable software?
• Time-consuming
• Repetitive and boring work
• Leads mistake
Traditionally testing?
Code Done Auto
Automated
Testing
Auto Staging Auto
Automated
Testing
Manuel
Deploy to
Production
Use build pipelines to automatically and reliably get your software into production
* http://laraveldaily.com/automated-testing-6-open-source-laravel-projects/
https://martinfowler.com/bliki/TestPyramid.html
Write tests with different granularity
The more high-level you get the fewer tests you should have
Controllers
Service Layer
Repositories
Domain
Data Mappers
Datastore
HttpClient
AmqpClient
ExternalService
Message Broker
Network Boundary
Logical Boundary
https://martinfowler.com/articles/practical-test-pyramid.html
 Junit as our test runner
 Mockito for mocking dependencies
 Wiremock for stubbing out third-party services
 MockMVC fir writing HTTP integration test
 Pact for writing CDC tests
 Selenium for writing UI-driven end-to-end tests
 REST-assured for writing REST API-driven end-to-end test
Testing smallest piece of software
whether determine behaves as expected
or notSolitary : Heavy usage of Test
Doubles
• Dummy
• Stub
• Mock
• Spy
• Fake
Solidatary : Use real objects
if you can
Controllers
Service Layer
Repositories
Domain
Data Mappers
• Test first makes design better
• Cover all edge cases
• Not to close to production code
• Don’t worry about private. Just public
interface
• Trivial code? Forget it
 How about integrate with other parts
(db,network calls,filesystem)
 Live at the boundary of your service
 Test Double
 Where you either serialize or deserialize data
 Testing the user interface of your application works
correctly
 No need to be end-to-end testing
 Multiple aspects that we want to test.
(behaviour,usability,layout)
 Unit testing for behaviour of UI
Common interfaces between microservices
• Rest via Http
• gRpc
• event driven
Provider serves data to consumers
Consumer processes data from provider
Consumer –Driven Contact tests
Consumer drives the implementation of contract
• Postel’s law
- Consumer team writes tests and publish it to provi
- Providing team now can develop their API by runni
Pact can be used
Biggest confidence whether software working or not as expected
Often fail for unexpected and unforseeable reasons
Pretty slow and and need a lot of maintenance
 Write as few end-to-end tests as possible
 Choose your ends wisely
 Data is not centralized
 Should be unique across test suite
 Deletes only the data is created
Even the most diligent test automation efforts are not perfect
Can miss edge cases in automated tests
The tester’s freedom and creativity to spot quality issues
Great feedback for maturating build pipeline
Exploratory
E2E
Contract
Integration
Unit
Any Questions?

Contenu connexe

Tendances

Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
Software testing
Software testingSoftware testing
Software testingnidhip216
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 
Why Ranorex
Why RanorexWhy Ranorex
Why RanorexRanorex
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Automated Desktop and Web Testing Webinars
Automated Desktop and Web Testing WebinarsAutomated Desktop and Web Testing Webinars
Automated Desktop and Web Testing WebinarsRanorex
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingASIT Education
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveMalinda Kapuruge
 
Regulated Software Testing - Griffin Jones - TISQA 2014
Regulated Software Testing  - Griffin Jones - TISQA 2014Regulated Software Testing  - Griffin Jones - TISQA 2014
Regulated Software Testing - Griffin Jones - TISQA 2014Griffin Jones
 
Continuous integration with Drone.IO
Continuous integration with Drone.IOContinuous integration with Drone.IO
Continuous integration with Drone.IOHoffman Lab
 
Engineering-Best-Practices
Engineering-Best-PracticesEngineering-Best-Practices
Engineering-Best-PracticesGaurav Kumkar
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 

Tendances (20)

Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Software testing
Software testingSoftware testing
Software testing
 
Benefits from AATs
Benefits from AATsBenefits from AATs
Benefits from AATs
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 
Why Ranorex
Why RanorexWhy Ranorex
Why Ranorex
 
Continuous Testing With Terraform
Continuous Testing With TerraformContinuous Testing With Terraform
Continuous Testing With Terraform
 
Automated testing for sfl presentation
Automated testing for sfl presentationAutomated testing for sfl presentation
Automated testing for sfl presentation
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Automated Desktop and Web Testing Webinars
Automated Desktop and Web Testing WebinarsAutomated Desktop and Web Testing Webinars
Automated Desktop and Web Testing Webinars
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Test Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s PerspectiveTest Driven Development - a Practitioner’s Perspective
Test Driven Development - a Practitioner’s Perspective
 
Regulated Software Testing - Griffin Jones - TISQA 2014
Regulated Software Testing  - Griffin Jones - TISQA 2014Regulated Software Testing  - Griffin Jones - TISQA 2014
Regulated Software Testing - Griffin Jones - TISQA 2014
 
Continuous integration with Drone.IO
Continuous integration with Drone.IOContinuous integration with Drone.IO
Continuous integration with Drone.IO
 
Engineering-Best-Practices
Engineering-Best-PracticesEngineering-Best-Practices
Engineering-Best-Practices
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 

Similaire à Test Strategies in Microservices

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
bqurious Test Automation & Management Suite
bqurious Test Automation & Management Suitebqurious Test Automation & Management Suite
bqurious Test Automation & Management SuiteAbhay Goel
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool OverviewANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewSachin-QA
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile ME
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10Solano Labs
 
Vishal_Final_Evaluation_PPT
Vishal_Final_Evaluation_PPTVishal_Final_Evaluation_PPT
Vishal_Final_Evaluation_PPTVishal Sharma
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTOri Bendet
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for youAmbientia
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous deliveryOlympicSoftware
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 

Similaire à Test Strategies in Microservices (20)

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
bqurious Test Automation & Management Suite
bqurious Test Automation & Management Suitebqurious Test Automation & Management Suite
bqurious Test Automation & Management Suite
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
NYC MeetUp 10.9
NYC MeetUp 10.9NYC MeetUp 10.9
NYC MeetUp 10.9
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
ResRAM2016
ResRAM2016ResRAM2016
ResRAM2016
 
Boston MeetUp 10.10
Boston MeetUp 10.10Boston MeetUp 10.10
Boston MeetUp 10.10
 
Vishal_Final_Evaluation_PPT
Vishal_Final_Evaluation_PPTVishal_Final_Evaluation_PPT
Vishal_Final_Evaluation_PPT
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Testing NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFTTesting NodeJS, REST APIs and MongoDB with UFT
Testing NodeJS, REST APIs and MongoDB with UFT
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 

Dernier

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 

Dernier (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

Test Strategies in Microservices

  • 2. • Pros • Independent Scability • Independent/Parallel Deployment • Tech Agnostic • Cons • Increased Complexity Problem with Data Consistency • Hard to maintenance • Orchestration Single Responsibility at the architecture level
  • 3. Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way(*) * https://continuousdelivery.com/ -Jez Humble • Faster time to market • Higher Quality • Lower Costs • Happier People
  • 4. How do you know that your latest change still results in releasable software? • Time-consuming • Repetitive and boring work • Leads mistake Traditionally testing? Code Done Auto Automated Testing Auto Staging Auto Automated Testing Manuel Deploy to Production Use build pipelines to automatically and reliably get your software into production
  • 6. https://martinfowler.com/bliki/TestPyramid.html Write tests with different granularity The more high-level you get the fewer tests you should have
  • 9.  Junit as our test runner  Mockito for mocking dependencies  Wiremock for stubbing out third-party services  MockMVC fir writing HTTP integration test  Pact for writing CDC tests  Selenium for writing UI-driven end-to-end tests  REST-assured for writing REST API-driven end-to-end test
  • 10. Testing smallest piece of software whether determine behaves as expected or notSolitary : Heavy usage of Test Doubles • Dummy • Stub • Mock • Spy • Fake Solidatary : Use real objects if you can Controllers Service Layer Repositories Domain Data Mappers
  • 11. • Test first makes design better • Cover all edge cases • Not to close to production code • Don’t worry about private. Just public interface • Trivial code? Forget it
  • 12.  How about integrate with other parts (db,network calls,filesystem)  Live at the boundary of your service  Test Double  Where you either serialize or deserialize data
  • 13.  Testing the user interface of your application works correctly  No need to be end-to-end testing  Multiple aspects that we want to test. (behaviour,usability,layout)  Unit testing for behaviour of UI
  • 14. Common interfaces between microservices • Rest via Http • gRpc • event driven Provider serves data to consumers Consumer processes data from provider
  • 15. Consumer –Driven Contact tests Consumer drives the implementation of contract • Postel’s law - Consumer team writes tests and publish it to provi - Providing team now can develop their API by runni Pact can be used
  • 16. Biggest confidence whether software working or not as expected Often fail for unexpected and unforseeable reasons Pretty slow and and need a lot of maintenance
  • 17.  Write as few end-to-end tests as possible  Choose your ends wisely  Data is not centralized  Should be unique across test suite  Deletes only the data is created
  • 18. Even the most diligent test automation efforts are not perfect Can miss edge cases in automated tests The tester’s freedom and creativity to spot quality issues Great feedback for maturating build pipeline

Notes de l'éditeur

  1. Configuration/ Loggin / Tracing hard.
  2. Higher Quality,faster time to market,lower costs,happier teams.
  3. Given when then
  4. Test containers Database Test Example 3rd party service test
  5. Postel's law,
  6. Inverted pyramid