SlideShare a Scribd company logo
1 of 27
© 2022 Thoughtworks | Confidential
Testing Strategy in
Micro Frontend
architecture
- Vishal Sharma
- Brijendra Singh
© 2022 Thoughtworks | Confidential 2
Monoliths
Monolith
Frontend
Backend
Monoliths aren’t a bad
design choice
© 2022 Thoughtworks | Confidential 3
Microservices
● Strong module boundaries
● Independant deployments
● Diversified Technologies
service 1 service 2 service 3
© 2022 Thoughtworks | Confidential 4
MicroServices + UI Monolith
There was mostly a monolith UI,
which made independent
deployments less true.
service 1 service 2 service 3
UI Monolith
Independent deployments aren’t
independent releases.
© 2022 Thoughtworks | Confidential 5
Micro-frontends
Microservices’ promises +
Independent releases.
Micro frontends is an architectural
design pattern to break down
monolith UI to a smaller and
manageable deployable units.
service 1 service 2 service 3
© 2022 Thoughtworks
Agenda
Advantages of the micro-frontend architecture 07
Micro Frontend Example 08
Orchestrating Micro Frontends 09
Demo of the Micro Frontend App 10
Testing Strategy 12
Advantages of the architecture in terms of testing 14
Challenges of the architecture in terms of testing 24
Teams and Collaboration 21
6
© 2022 Thoughtworks | Confidential 7
● Independent teams
● Independent releases
● Simple, decoupled codebases
● Incremental upgrades
What you get from
Micro-frontends
7
© 2022 Thoughtworks | Confidential 8
Image carousel Product Summary
Pricing & Promotion
Recommendations
Product Information
Customer Reviews
Ratings
Micro Frontend
Example
Product Detail Page
© 2022 Thoughtworks | Confidential 9
Orchestration
Options
Build Time Run Time
Client
Side
Edge
Side
Server
Side
Orchestrating Micro-
frontends
© 2022 Thoughtworks | Confidential
Demo of a Micro Frontend App
10
© 2022 Thoughtworks | Confidential
Key decisions
Orchestrating
Micro-frontends
Testing Micro-
frontends
Slicing the Micro-
frontends
Micro-frontends
communication
Key Questions that need to
be answered
11
●How to identify and slice the micro-
frontends.
●How should we test the micro-
frontends?
●How do the micro-frontends
communicate with each other.
●How do multiple micro-frontends come
together to form a single application.
© 2022 Thoughtworks | Confidential 12
Testing Approach
Manual session
based testing
Automated unit tests
Automated component tests
Automated integration tests
Automated API test
Automated
GUI tests
Pyramid
Swiss Cheese - Korny’s Blog
© 2022 Thoughtworks | Confidential
Advantages of the Architecture in terms of
testing
14
© 2022 Thoughtworks | Confidential
MFE component can be tested in isolation
15
Faster feedback
© 2022 Thoughtworks | Confidential
MFE component can be tested in isolation
16
Ways of working
Definition of Done
x-platform
Performance [UI/API]
Security
Accessibility
Reporting
Testing Metrics
Tailor made Quality Strategy can be build for
Individual MFE based on its use case
© 2022 Thoughtworks | Confidential
Appropriate automation testing
17
© 2022 Thoughtworks | Confidential
High quality e2es - less flaky UI tests
18
Appropriate automation testing
© 2022 Thoughtworks | Confidential
Can be Independently Released
19
© 2022 Thoughtworks | Confidential
Demo of Test Suit and CI/CD Pipeline
22
© 2022 Thoughtworks | Confidential
Pipeline Overview of a Mobile Micro frontend
© 2022 Thoughtworks | Confidential
App level automation test might get
delayed
24
An application can have multiple e2e
solution and repositories
App level Integration/smoke e2e
ownership will be required
Team collaboration might be needed
depending on the Integration pattern
Challenges of the
Architecture in terms
of testing
© 2021 Thoughtworks | Confidential
Teams and collaboration -
Communication is the Key
25
© 2022 Thoughtworks | Confidential
© 2021 Thoughtworks | Confidential 26
Shared guidelines
● All teams should speak the same vocabulary
● Agree on terms of responsibility and ownership.
Each team owns their own MFE but all the teams
are responsible for the quality of the App.
● Maintaining proper documentation, testing
guidelines and conventions which can be shared
across teams.
● Try to maintain a global project scaffolding (but
make it optional)
© 2022 Thoughtworks | Confidential
© 2021 Thoughtworks | Confidential
Team guilds
Forum for like minded people from different teams to share and discuss
27
27
© 2021 Thoughtworks
© 2022 Thoughtworks | Confidential
Quality Guild
© 2022 Thoughtworks | Confidential
Micro-frontends is a
marathon. Not a sprint
28
28
© 2022 Thoughtworks
Q&A
© 2021 Thoughtworks | Confidential
Q&A
29
© 2022 Thoughtworks | Confidential
© 2022 Thoughtworks
Thank You
30
© 2022 Thoughtworks
Brijendra Singh Vishal Sharma

More Related Content

What's hot

MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysAngel Alberici
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesAraf Karsh Hamid
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Tech Triveni
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-CommerceDivante
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0WSO2
 
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. Kellton Tech Solutions Ltd
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API PlatformJohannes Ridderstedt
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101Sander Knape
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyWSO2
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven DevelopmentMike Douglas
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitecturePaul Mooney
 
Azure API Management
Azure API ManagementAzure API Management
Azure API ManagementDaniel Toomey
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SREAraf Karsh Hamid
 
Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3Dmitry Skaredov
 

What's hot (20)

MuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleysMuleSoft Sizing Guidelines - VirtualMuleys
MuleSoft Sizing Guidelines - VirtualMuleys
 
Introduction to MuleSoft
Introduction to MuleSoftIntroduction to MuleSoft
Introduction to MuleSoft
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities Overview
 
Mule api management
Mule  api managementMule  api management
Mule api management
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)Micro Frontends Architecture - Jitendra kumawat (Guavus)
Micro Frontends Architecture - Jitendra kumawat (Guavus)
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
 
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain. What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
What’s Mule 4.3? How Does Anytime RTF Help? Our insights explain.
 
The Architecture of an API Platform
The Architecture of an API PlatformThe Architecture of an API Platform
The Architecture of an API Platform
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
Acceptance Test Driven Development
Acceptance Test Driven DevelopmentAcceptance Test Driven Development
Acceptance Test Driven Development
 
Microservice vs. Monolithic Architecture
Microservice vs. Monolithic ArchitectureMicroservice vs. Monolithic Architecture
Microservice vs. Monolithic Architecture
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
Microservices architecture overview v3
Microservices architecture overview v3Microservices architecture overview v3
Microservices architecture overview v3
 

Similar to Testing Strategy in Micro Frontend architecture

Mdd test qa_test2014_bryan_bakker
Mdd test qa_test2014_bryan_bakkerMdd test qa_test2014_bryan_bakker
Mdd test qa_test2014_bryan_bakkerBryan Bakker
 
Patterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesPatterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesKarina Mora
 
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...SEAA 2022
 
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...Edge AI and Vision Alliance
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & IstioRinor Maloku
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceThousandEyes
 
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...AgileNetwork
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionAndreas Weidinger
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Michael Elder
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksIRJET Journal
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?Rohit Kelapure
 
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...Daniel Berg
 
DevOps - What is | Advantages | Challenges | DevSecOps | Capabilities
DevOps - What is | Advantages | Challenges | DevSecOps | CapabilitiesDevOps - What is | Advantages | Challenges | DevSecOps | Capabilities
DevOps - What is | Advantages | Challenges | DevSecOps | CapabilitiesSoftClouds LLC
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Nicholas Bowman
 
Presentation citrix receiver road
Presentation   citrix receiver roadPresentation   citrix receiver road
Presentation citrix receiver roadxKinAnx
 
software architecture
software architecturesoftware architecture
software architecturearnav gupta
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...David Currie
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with CapellaObeo
 

Similar to Testing Strategy in Micro Frontend architecture (20)

Mdd test qa_test2014_bryan_bakker
Mdd test qa_test2014_bryan_bakkerMdd test qa_test2014_bryan_bakker
Mdd test qa_test2014_bryan_bakker
 
Patterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservicesPatterns of evolution from monolith to microservices
Patterns of evolution from monolith to microservices
 
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
An Empirical Analysis of Microservices Systems Using Consumer-Driven Contract...
 
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...
“IoT and Vision: Why It’s a Security Minefield and How to Navigate It,” a Pre...
 
Intro to service mesh & Istio
Intro to service mesh & IstioIntro to service mesh & Istio
Intro to service mesh & Istio
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
 
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...
Agile Chennai 2023 | AI-Powered Agile : Transforming How We Deliver Extraordi...
 
Modular Enterprise Systems - An Introduction
Modular Enterprise Systems - An IntroductionModular Enterprise Systems - An Introduction
Modular Enterprise Systems - An Introduction
 
Mendix Platform
Mendix PlatformMendix Platform
Mendix Platform
 
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
Hybrid Cloud: How to Get a Return from an Investment Made Three Decades Ago (...
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web Frameworks
 
Should That Be a Microservice ?
Should That Be a Microservice ?Should That Be a Microservice ?
Should That Be a Microservice ?
 
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
InterConnect 2015: 3045 Hybrid Cloud - How to get a return from an investment...
 
DevOps - What is | Advantages | Challenges | DevSecOps | Capabilities
DevOps - What is | Advantages | Challenges | DevSecOps | CapabilitiesDevOps - What is | Advantages | Challenges | DevSecOps | Capabilities
DevOps - What is | Advantages | Challenges | DevSecOps | Capabilities
 
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
 
Presentation citrix receiver road
Presentation   citrix receiver roadPresentation   citrix receiver road
Presentation citrix receiver road
 
software architecture
software architecturesoftware architecture
software architecture
 
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
Microservice Builder: A Microservice DevOps Pipeline for Rapid Delivery and P...
 
System of systems modeling with Capella
System of systems modeling with CapellaSystem of systems modeling with Capella
System of systems modeling with Capella
 
SmartCLIDE Project Vision
SmartCLIDE Project VisionSmartCLIDE Project Vision
SmartCLIDE Project Vision
 

More from vodQA

Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overviewvodQA
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobilevodQA
 
Testing cna
Testing cnaTesting cna
Testing cnavodQA
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scalavodQA
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAsvodQA
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...vodQA
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...vodQA
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptxvodQA
 
An approach to app security - For beginners
An approach to app security - For beginnersAn approach to app security - For beginners
An approach to app security - For beginnersvodQA
 

More from vodQA (20)

Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overview
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
 
Testing cna
Testing cnaTesting cna
Testing cna
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
An approach to app security - For beginners
An approach to app security - For beginnersAn approach to app security - For beginners
An approach to app security - For beginners
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Testing Strategy in Micro Frontend architecture

  • 1. © 2022 Thoughtworks | Confidential Testing Strategy in Micro Frontend architecture - Vishal Sharma - Brijendra Singh
  • 2. © 2022 Thoughtworks | Confidential 2 Monoliths Monolith Frontend Backend Monoliths aren’t a bad design choice
  • 3. © 2022 Thoughtworks | Confidential 3 Microservices ● Strong module boundaries ● Independant deployments ● Diversified Technologies service 1 service 2 service 3
  • 4. © 2022 Thoughtworks | Confidential 4 MicroServices + UI Monolith There was mostly a monolith UI, which made independent deployments less true. service 1 service 2 service 3 UI Monolith Independent deployments aren’t independent releases.
  • 5. © 2022 Thoughtworks | Confidential 5 Micro-frontends Microservices’ promises + Independent releases. Micro frontends is an architectural design pattern to break down monolith UI to a smaller and manageable deployable units. service 1 service 2 service 3
  • 6. © 2022 Thoughtworks Agenda Advantages of the micro-frontend architecture 07 Micro Frontend Example 08 Orchestrating Micro Frontends 09 Demo of the Micro Frontend App 10 Testing Strategy 12 Advantages of the architecture in terms of testing 14 Challenges of the architecture in terms of testing 24 Teams and Collaboration 21 6
  • 7. © 2022 Thoughtworks | Confidential 7 ● Independent teams ● Independent releases ● Simple, decoupled codebases ● Incremental upgrades What you get from Micro-frontends 7
  • 8. © 2022 Thoughtworks | Confidential 8 Image carousel Product Summary Pricing & Promotion Recommendations Product Information Customer Reviews Ratings Micro Frontend Example Product Detail Page
  • 9. © 2022 Thoughtworks | Confidential 9 Orchestration Options Build Time Run Time Client Side Edge Side Server Side Orchestrating Micro- frontends
  • 10. © 2022 Thoughtworks | Confidential Demo of a Micro Frontend App 10
  • 11. © 2022 Thoughtworks | Confidential Key decisions Orchestrating Micro-frontends Testing Micro- frontends Slicing the Micro- frontends Micro-frontends communication Key Questions that need to be answered 11 ●How to identify and slice the micro- frontends. ●How should we test the micro- frontends? ●How do the micro-frontends communicate with each other. ●How do multiple micro-frontends come together to form a single application.
  • 12. © 2022 Thoughtworks | Confidential 12 Testing Approach Manual session based testing Automated unit tests Automated component tests Automated integration tests Automated API test Automated GUI tests Pyramid Swiss Cheese - Korny’s Blog
  • 13. © 2022 Thoughtworks | Confidential Advantages of the Architecture in terms of testing 14
  • 14. © 2022 Thoughtworks | Confidential MFE component can be tested in isolation 15 Faster feedback
  • 15. © 2022 Thoughtworks | Confidential MFE component can be tested in isolation 16 Ways of working Definition of Done x-platform Performance [UI/API] Security Accessibility Reporting Testing Metrics Tailor made Quality Strategy can be build for Individual MFE based on its use case
  • 16. © 2022 Thoughtworks | Confidential Appropriate automation testing 17
  • 17. © 2022 Thoughtworks | Confidential High quality e2es - less flaky UI tests 18 Appropriate automation testing
  • 18. © 2022 Thoughtworks | Confidential Can be Independently Released 19
  • 19. © 2022 Thoughtworks | Confidential Demo of Test Suit and CI/CD Pipeline 22
  • 20. © 2022 Thoughtworks | Confidential Pipeline Overview of a Mobile Micro frontend
  • 21. © 2022 Thoughtworks | Confidential App level automation test might get delayed 24 An application can have multiple e2e solution and repositories App level Integration/smoke e2e ownership will be required Team collaboration might be needed depending on the Integration pattern Challenges of the Architecture in terms of testing
  • 22. © 2021 Thoughtworks | Confidential Teams and collaboration - Communication is the Key 25 © 2022 Thoughtworks | Confidential
  • 23. © 2021 Thoughtworks | Confidential 26 Shared guidelines ● All teams should speak the same vocabulary ● Agree on terms of responsibility and ownership. Each team owns their own MFE but all the teams are responsible for the quality of the App. ● Maintaining proper documentation, testing guidelines and conventions which can be shared across teams. ● Try to maintain a global project scaffolding (but make it optional) © 2022 Thoughtworks | Confidential
  • 24. © 2021 Thoughtworks | Confidential Team guilds Forum for like minded people from different teams to share and discuss 27 27 © 2021 Thoughtworks © 2022 Thoughtworks | Confidential Quality Guild
  • 25. © 2022 Thoughtworks | Confidential Micro-frontends is a marathon. Not a sprint 28 28 © 2022 Thoughtworks Q&A
  • 26. © 2021 Thoughtworks | Confidential Q&A 29 © 2022 Thoughtworks | Confidential
  • 27. © 2022 Thoughtworks Thank You 30 © 2022 Thoughtworks Brijendra Singh Vishal Sharma

Editor's Notes

  1. Let us start by looking at the architecture has evolved in the past.
  2. Talk in terms of Miro services so that audience can relate.
  3. Let them explore the Amazon PDP page.
  4. Talk in very laymans terms Build time is like npm packages. Relate them to jar files. Run time is downloading the artifact on run time.
  5. Focus more on how testing can be performed on sliced micro-fontends and also how Integration of different Micro-Frontends can be tested
  6. The test pyramid -> A classic metaphor in automated testing is the test pyramid: it's been a useful model for ages, and still a good conversation starter, but it lacks a few things: It isn't clear really what the horizontal dimension is - does wider mean more tests? More test scenarios? More features tested? It isn't clear what the vertical dimension is - where do contract tests fit? What if you test at an API not a UI? Should you test in a particular order? In many cases the best shape is nothing like a pyramid - some systems are well suited to integration tests, and tend to a pear-shape. Some systems are more of an hourglass, with lots of UI/API tests and lots of unit tests and not much between. I've seen people tweak the pyramid - adding layers, adding axes, adding explanations. And in some point of time it can be confusing too. A different perspective - Swiss Cheese the Swiss Cheese model of testing . It's a lot more helpful when it comes to talking about both why we test, and how we should test. The basic idea is: consider your tests like a big stack of swiss cheese slices - you know, the kind with holes in them: Now layer those cheese slices vertically - each layer represents a different kind of tests. Order them in the order you run them - usually simplest, fastest feedback first, then slower layers below them: You can imagine defects as physical bugs which fall down the diagram, and are caught at different levels - different slices of cheese. Some bugs might fall all the way through a series of holes and not get caught. This is bad.
  7. I do think there's value in some browser-driven end-to-end tests - there are bugs we can only catch that way. But we can call them "smoke tests" or "end-to-end tests" or something, not "acceptance tests". If we want lots of tests of UI features, consider tools that test within the framework we use - we might want several "cheese slices" of UI tests - see how the material UI tests are layered for an example.
  8. Lets understand the testing strategy by going through the advantages of the architecture.
  9. Tailor made Quality Strategy can be build for Individual MFE based on their use case. Quality Strategy can include Ways of working Definition of Done Satisfy x-functional testing needs Performance [UI/API] Security Accessibility x-platform Bug bash Testing layers
  10. Brijendra
  11. Brijendra
  12. Brijendra
  13. With all the good things, comes its challenges also. An application can have multiple e2e solution and repositories : there might be some level of duplicate tests in app level automation suite, and that is perfectly ok considering the ways these tests are executed.