SlideShare a Scribd company logo
1 of 21
Download to read offline
Test Automation For CMS
Backed Applications
C4- Case Study
Anand Ramdeo
anand@testinggeek.com
www.TestingGeek.com
@testinggeek
Single Content
Management
System
Multiple
Websites
Challenge
Let's break the problem
Can editor publish pages with
different module combinations?
CMS ==> DB
Can page render all the
modules properly?
DB ==> Front End
Two main challenges
Can editor publish pages with
different module combinations?
CMS ==> DB
Out of Scope for this talk
Can page render all
the modules
properly?
DB ==> Front End
When a page is requested
Java applies magic to convert
information in DB to JSON
format.
Frontend understands JSON
and does its magic to render
the web page.
Let's consider DB is our oracle.. what
do we need to check?
Let's consider DB is our oracle.. what
do we need to check?
Java is doing magic properly,
i.e information in DB and
information present in the
JSON is consistent.
Frontend understands Java's
magic properly and rendering
modules properly.
And there are few more challenges..
Every site is a separate project
Different Teams &
Release Cycle
Reuses core
functionality
Add New
Functionality
Shared core functionality &
modular architecture.
Is Page Object model appropriate?
Test Automation
Page is the place holder for
modules
Focus on Modules
follow development
Discovery Structure Data
Discovery Module - What's on the page?
?debug
?debug&xml
Use any XML Parser to get
information on the modules
present on the page.
Use Data Assertor to check number & type of modules on the
page. Testability for the WIN!!
For all the modules on the page..
For (Every_module_identified_on_the_page) {
Call structural_assertions of the module
Call data_assertions of the module
}
Structural Assertions..kind of acceptance criteria
for the modules
---> Video list module should have link to three video articles
---> Every item in the list should have an image
---> There should be a little play button on top of image
---> Video links should always be internal
---> Every list item should have an image, title and description
Database Assertions.. Actual checks - compare
DB and information on the page
---> Order of the articles is same as DB
---> Right images are present on the module
---> Title text of all the article is proper
---> Right description is appearing for all the items in the list
Little more fun?
Go to Sitemap on UAT
Get links_of_all_the_pages
For (Every_link_in_the_sitemap) {
Go to that_page
Get list_of_modules
For (Every_module_on_the_page) {
Call structural_assertions of the module
Call data_assertions of the module
}
}
Efficient
&
Effective
Interested in
Improving efficiency &
effectiveness
of your test automation projects?
Shameless Promotion :-)
http://testspicer.com/
Thank you for your time &
attention
@TestingGeek
www.TestingGeek.com
www.PlannedDeparture.com
anand@testinggeek.com

More Related Content

What's hot

Rapid application development for WordPress using AWF
Rapid application development for WordPress using AWFRapid application development for WordPress using AWF
Rapid application development for WordPress using AWFTim Plummer
 
Temp pakistani-ladies-party-dresses
Temp pakistani-ladies-party-dressesTemp pakistani-ladies-party-dresses
Temp pakistani-ladies-party-dressesZahida Parveen
 
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012Sabuj Kundu
 
Using maven with mule
Using maven with muleUsing maven with mule
Using maven with muleSindhu VL
 

What's hot (6)

Mule velocity
Mule velocityMule velocity
Mule velocity
 
Rapid application development for WordPress using AWF
Rapid application development for WordPress using AWFRapid application development for WordPress using AWF
Rapid application development for WordPress using AWF
 
Temp pakistani-ladies-party-dresses
Temp pakistani-ladies-party-dressesTemp pakistani-ladies-party-dresses
Temp pakistani-ladies-party-dresses
 
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012Developing Joomla Extensions JUG  Bangladesh meetup dhaka-2012
Developing Joomla Extensions JUG Bangladesh meetup dhaka-2012
 
Java mule
Java muleJava mule
Java mule
 
Using maven with mule
Using maven with muleUsing maven with mule
Using maven with mule
 

Similar to Tes automation for CMS Backed applications - Channel-4 Case Study

Microsoft MCPD 70-492 it examen dumps
Microsoft MCPD 70-492 it examen dumpsMicrosoft MCPD 70-492 it examen dumps
Microsoft MCPD 70-492 it examen dumpslilylucy
 
Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20kraqa
 
.NET 1.1 Base Page Framework Article
.NET 1.1 Base Page Framework Article.NET 1.1 Base Page Framework Article
.NET 1.1 Base Page Framework Articlebitburner93
 
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Andy Maleh
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part IIMichael Fons
 
Zend_Layout & Zend_View Enhancements
Zend_Layout & Zend_View EnhancementsZend_Layout & Zend_View Enhancements
Zend_Layout & Zend_View EnhancementsRalph Schindler
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrineisaaczfoster
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20Vivek chan
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextSvilen Sabev
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolAdriaan Venter
 
Introduce PlutoCMS
Introduce PlutoCMSIntroduce PlutoCMS
Introduce PlutoCMSxhan87
 
Design Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressDesign Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressJesse James Arnold
 
The Rails Engine That Could - In Motion
The Rails Engine That Could - In MotionThe Rails Engine That Could - In Motion
The Rails Engine That Could - In MotionAndy Maleh
 
BDD approach with Selenium RC
BDD approach with Selenium RCBDD approach with Selenium RC
BDD approach with Selenium RCMykola Kolisnyk
 
Welcome to React & Flux !
Welcome to React & Flux !Welcome to React & Flux !
Welcome to React & Flux !Ritesh Kumar
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!Evan Mullins
 
RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014Henry Van Styn
 

Similar to Tes automation for CMS Backed applications - Channel-4 Case Study (20)

Microsoft MCPD 70-492 it examen dumps
Microsoft MCPD 70-492 it examen dumpsMicrosoft MCPD 70-492 it examen dumps
Microsoft MCPD 70-492 it examen dumps
 
Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20Stanislaw potoczny kra_qa_21.01.20
Stanislaw potoczny kra_qa_21.01.20
 
AD0-E116-demo.pdf
AD0-E116-demo.pdfAD0-E116-demo.pdf
AD0-E116-demo.pdf
 
.NET 1.1 Base Page Framework Article
.NET 1.1 Base Page Framework Article.NET 1.1 Base Page Framework Article
.NET 1.1 Base Page Framework Article
 
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part II
 
Zend_Layout & Zend_View Enhancements
Zend_Layout & Zend_View EnhancementsZend_Layout & Zend_View Enhancements
Zend_Layout & Zend_View Enhancements
 
Zend Framework And Doctrine
Zend Framework And DoctrineZend Framework And Doctrine
Zend Framework And Doctrine
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
 
Drupal SEO
Drupal SEODrupal SEO
Drupal SEO
 
Introduce PlutoCMS
Introduce PlutoCMSIntroduce PlutoCMS
Introduce PlutoCMS
 
Design Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPressDesign Systems, Pattern Libraries & WordPress
Design Systems, Pattern Libraries & WordPress
 
The Rails Engine That Could - In Motion
The Rails Engine That Could - In MotionThe Rails Engine That Could - In Motion
The Rails Engine That Could - In Motion
 
BDD approach with Selenium RC
BDD approach with Selenium RCBDD approach with Selenium RC
BDD approach with Selenium RC
 
Welcome to React & Flux !
Welcome to React & Flux !Welcome to React & Flux !
Welcome to React & Flux !
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014RapidApp - YAPC::NA 2014
RapidApp - YAPC::NA 2014
 
Fame
FameFame
Fame
 

More from Anand Ramdeo

Misleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenMisleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenAnand Ramdeo
 
Keeping London On The Move - Interesting Solutions For Challenging Problems
Keeping London On The Move - Interesting Solutions For Challenging ProblemsKeeping London On The Move - Interesting Solutions For Challenging Problems
Keeping London On The Move - Interesting Solutions For Challenging ProblemsAnand Ramdeo
 
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Anand Ramdeo
 
Workshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitWorkshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitAnand Ramdeo
 
Testing strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoTesting strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoAnand Ramdeo
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeAnand Ramdeo
 
Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsiteAnand Ramdeo
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 

More from Anand Ramdeo (13)

Rano fest
Rano fest Rano fest
Rano fest
 
Ranosys jobs
Ranosys jobsRanosys jobs
Ranosys jobs
 
Misleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenMisleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of Green
 
Keeping London On The Move - Interesting Solutions For Challenging Problems
Keeping London On The Move - Interesting Solutions For Challenging ProblemsKeeping London On The Move - Interesting Solutions For Challenging Problems
Keeping London On The Move - Interesting Solutions For Challenging Problems
 
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
 
Workshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitWorkshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication Toolkit
 
Testing strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoTesting strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on Magento
 
Java primer
Java primerJava primer
Java primer
 
Ramdeo green
Ramdeo greenRamdeo green
Ramdeo green
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A Time
 
Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsite
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 

Tes automation for CMS Backed applications - Channel-4 Case Study

  • 1. Test Automation For CMS Backed Applications C4- Case Study Anand Ramdeo anand@testinggeek.com www.TestingGeek.com @testinggeek
  • 3.
  • 4. Let's break the problem Can editor publish pages with different module combinations? CMS ==> DB Can page render all the modules properly? DB ==> Front End
  • 5. Two main challenges Can editor publish pages with different module combinations? CMS ==> DB Out of Scope for this talk Can page render all the modules properly? DB ==> Front End
  • 6. When a page is requested Java applies magic to convert information in DB to JSON format. Frontend understands JSON and does its magic to render the web page.
  • 7. Let's consider DB is our oracle.. what do we need to check?
  • 8. Let's consider DB is our oracle.. what do we need to check? Java is doing magic properly, i.e information in DB and information present in the JSON is consistent. Frontend understands Java's magic properly and rendering modules properly. And there are few more challenges..
  • 9. Every site is a separate project Different Teams & Release Cycle Reuses core functionality Add New Functionality
  • 10. Shared core functionality & modular architecture.
  • 11. Is Page Object model appropriate? Test Automation
  • 12. Page is the place holder for modules
  • 13. Focus on Modules follow development Discovery Structure Data
  • 14. Discovery Module - What's on the page? ?debug ?debug&xml Use any XML Parser to get information on the modules present on the page. Use Data Assertor to check number & type of modules on the page. Testability for the WIN!!
  • 15. For all the modules on the page.. For (Every_module_identified_on_the_page) { Call structural_assertions of the module Call data_assertions of the module }
  • 16. Structural Assertions..kind of acceptance criteria for the modules ---> Video list module should have link to three video articles ---> Every item in the list should have an image ---> There should be a little play button on top of image ---> Video links should always be internal ---> Every list item should have an image, title and description
  • 17. Database Assertions.. Actual checks - compare DB and information on the page ---> Order of the articles is same as DB ---> Right images are present on the module ---> Title text of all the article is proper ---> Right description is appearing for all the items in the list
  • 19. Go to Sitemap on UAT Get links_of_all_the_pages For (Every_link_in_the_sitemap) { Go to that_page Get list_of_modules For (Every_module_on_the_page) { Call structural_assertions of the module Call data_assertions of the module } } Efficient & Effective
  • 20. Interested in Improving efficiency & effectiveness of your test automation projects? Shameless Promotion :-) http://testspicer.com/
  • 21. Thank you for your time & attention @TestingGeek www.TestingGeek.com www.PlannedDeparture.com anand@testinggeek.com