Test Automation For CMS
Backed Applications
C4- Case Study
Anand Ramdeo
anand@testinggeek.com
www.TestingGeek.com
@testing...
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
mo...
Two main challenges
Can editor publish pages with
different module combinations?
CMS ==> DB
Out of Scope for this talk
Can...
When a page is requested
Java applies magic to convert
information in DB to JSON
format.
Frontend understands JSON
and doe...
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
inform...
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 t...
For all the modules on the page..
For (Every_module_identified_on_the_page) {
Call structural_assertions of the module
Cal...
Structural Assertions..kind of acceptance criteria
for the modules
---> Video list module should have link to three video ...
Database Assertions.. Actual checks - compare
DB and information on the page
---> Order of the articles is same as DB
--->...
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 ...
Interested in
Improving efficiency &
effectiveness
of your test automation projects?
Shameless Promotion :-)
http://testsp...
Thank you for your time &
attention
@TestingGeek
www.TestingGeek.com
www.PlannedDeparture.com
anand@testinggeek.com
Tes automation for CMS Backed applications - Channel-4 Case Study
Upcoming SlideShare
Loading in...5
×

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

710

Published on

Testing and automating CMS backed applications is challenging. It is different from testing web applications. In most of the web applications - pages are well defined. Operations which can be performed on them is well defined and there are few moving parts on the page.

CMS backed applications on the other hand are usually dynamic. Pages in CMS backed applications are mostly container and pages can have different data and modules every time you look at them.

Channel-4, like many media organisations have many websites such as 4Food, 4Beauty, 4Home and so on. These websites are powered by a powerful CMS and test automation in a usual way wouldn't have worked. In this talk, I will share challenges I faced and approach I took for the automation of CMS backed web applications.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
710
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Test Automation For CMS Backed Applications C4- Case Study Anand Ramdeo anand@testinggeek.com www.TestingGeek.com @testinggeek
  2. 2. Single Content Management System Multiple Websites Challenge
  3. 3. 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
  4. 4. 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
  5. 5. 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.
  6. 6. Let's consider DB is our oracle.. what do we need to check?
  7. 7. 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..
  8. 8. Every site is a separate project Different Teams & Release Cycle Reuses core functionality Add New Functionality
  9. 9. Shared core functionality & modular architecture.
  10. 10. Is Page Object model appropriate? Test Automation
  11. 11. Page is the place holder for modules
  12. 12. Focus on Modules follow development Discovery Structure Data
  13. 13. 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!!
  14. 14. 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 }
  15. 15. 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
  16. 16. 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
  17. 17. Little more fun?
  18. 18. 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
  19. 19. Interested in Improving efficiency & effectiveness of your test automation projects? Shameless Promotion :-) http://testspicer.com/
  20. 20. Thank you for your time & attention @TestingGeek www.TestingGeek.com www.PlannedDeparture.com anand@testinggeek.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×