SlideShare a Scribd company logo
Using REST and UI Testing
to Test an Ajax Web
Application
Presented by
Adam Sandman
Software Testing Professionals Conference
Spring 2018 | Newport Beach, CA
2 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Agenda
Presentation Tier of Modern Applications
 Page Lifecycle in an AJAX Web Application
Explanation of Testable Areas
Recommended Test Strategy
 Integrating DOM and REST Testing
Practical Tips and Tools
Questions
3 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Takeaways
1. The value of testing an application from multiple
architectural tiers
2. The benefits of combined testing of the User Interface and
REST services
3. Tools, techniques and processes you can use to test the
UI and REST services
Web Presentation Tier
Modern Frameworks and the AJAX Page Lifecycle
Typical 3-Tier Architecture
Traditional Web Applications
<html>
<head>…. </head>
<body>
<h1>Products</h1>
<table id=“prd” style=“….”>
…..
</table>
</body>
</html>
The AJAX Web Application Model
{
products: [
{ id: 1, name: “product 1” },
{ id: 2, name: “product 2” },
{ id: 3, name: “product 3” }
]
}
Possible Web Frameworks
 First Generation
 Prototype, Mootools, jQuery, ASP.NET AJAX, ExtJS, YUI, GWT
 Second Generation
 AngularJS 1.0, Knockout, Backbone, Handlebars, Ember, Mustache
 Latest Generation
 React
 Angular 2.0+
 Vue
React – Components & Virtual DOM
<Table
cancelClick={props.dataCancelEdit}
data={props.data}
deleteClick={props.dataDelete}
editClick={props.dataSetEdit}
editId={props.dataEditingId}
editChange={props.dataChange}
…
- html
- head
- body
- h1: “Products”
- table id: “prd” style: “….”
- tr
…
Angular
<h1>Products</h1>
<table>
<tr *ngFor=“let product of products”>
<td>
{{ product.name }}
</td>
</tr>
</table>
export class ProductsComponent
implements OnInit {
products: Product[];
ngOnInit() {
this.products = this.svc.getProds();
}
}
Testable Areas
OK So What Can We Test?
 JSON Data Returned from REST Calls
 Rendered Browser DOM
 JS Framework
 React
 Virtual DOM
 Component State
 Angular
 Components
 Services
13 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
®
Test JSON Data Returned
Advantages
• Well defined API and data
structures – resilient
• Unit testing of key modules
• Fast to load in test data
• Not impacted by browser
speed or rendering quirks
Disadvantages
• Does not test the end user
experience
• No testing of any client side
business login, validation
• Does not validate rendering,
templating of JSON
14 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
®
Test Rendered Browser DOM
Advantages
• Most realistic testing,
validates what the end user
experiences
• Finds issues due to browser
quirks, differences
• Can test for usability,
performance, responsive
design, etc.
Disadvantages
• Scenario testing only,
cannot test until entire page
is rendered
• Hard to test specific page
components in isolation
• Changes in DOM, can
potentially break tests –
need skill to write resilient
tests
15 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
®
Test ReactJS Virtual DOM
Advantages
• Can test elements of the
rendered page without
needing the entire page
• Easier to test specific
components with varying
data sets
• Removes browser speed,
quirks from tests
Disadvantages
• Ignores browser differences
• Not full reflection of user
experience
• Changes to markup in
templates will break tests,
so not fully resilient
• Does not catch DOM-based
performance issues
16 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
®
Test ReactJS Component State
Advantages
• Easier to test specific
components with varying
data sets
• Tests the client-side
business logic (vs. server-
side unit tests)
• Can test exception cases
• Resilient to most UI changes
Disadvantages
• Does not test rendering of
state/properties into HTML
• Tests tied directly to React,
limited reusability with
other JS frameworks
• Does not test end user
experience of application
Test Strategy & Practical Demo
18 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Sample Test Coverage
Browser DOM
Virtual DOM
UI “Component” Tests
REST JSON Tests
Server Side Unit Tests
Testing Breadth
Resilience vs. Realism
19 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Sample Application – DOM & REST
20 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Sample Application – ReactJS
http://www.libraryinformationsystem.org/react-js
21 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Sample Application – Angular JS
http://www.libraryinformationsystem.org/angular-1/
22 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
See It In Action!
Tips and Tools
24 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Top Tools for REST Testing
Postman
SoapUI
Rapise
vREST
Parasoft
Groovy
25 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Top Tools for Browser DOM Testing
Selenium (WebDriver)
Rapise
Ranorex
TestComplete
Tricentis
HP UFT
Squish
26 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
®
JS Framework Specific Tools
React
• Testing Component State
• TestUtils + Jasmine
• TestUtils + JEST
• TestUtils + Mocha
• Testing Virtual DOM
• Enzyme + Mocha
Angular
• Testing Services
• Jasmine
• Mocha
• Testing Components
• TestBed + Jasmine
• TestBed + Mocha
27 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018
Wrap Up
 Modern web applications are complex and hard to test
 You need to test each of the different tiers
 Some tiers are easier to test than others
 You need to carefully plan your testing to have the best
coverage of the tiers with least effort
Questions?
Thank you for attending this
workshop/session.
Please fill out an evaluation form.

More Related Content

What's hot

TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)
Inflectra
 
KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)
Inflectra
 
Inflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start PackageInflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start Package
Inflectra
 
Inflectra Overview Presentation (2022)
Inflectra Overview Presentation (2022)Inflectra Overview Presentation (2022)
Inflectra Overview Presentation (2022)
Inflectra
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code Management
Inflectra
 
Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with Inflectra
Adam Sandman
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)
Inflectra
 
The Future Of ALM - All Silos Are Banned
The Future Of ALM - All Silos Are BannedThe Future Of ALM - All Silos Are Banned
The Future Of ALM - All Silos Are Banned
Inflectra
 
From Manual To Automated Software Testing - A Webinar Presentation
From Manual To Automated Software Testing - A Webinar PresentationFrom Manual To Automated Software Testing - A Webinar Presentation
From Manual To Automated Software Testing - A Webinar Presentation
Inflectra
 
Rapise Overview Presentation (2021)
Rapise Overview Presentation (2021)Rapise Overview Presentation (2021)
Rapise Overview Presentation (2021)
Inflectra
 
Inflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 ConferenceInflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 Conference
Adam Sandman
 
Rapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with RapiseRapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with Rapise
Adam Sandman
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
Adam Sandman
 
Inflectra 2017 Mannheim User Summit
Inflectra 2017 Mannheim User SummitInflectra 2017 Mannheim User Summit
Inflectra 2017 Mannheim User Summit
Adam Sandman
 
Testing 2: Advanced Test Management
Testing 2: Advanced Test Management Testing 2: Advanced Test Management
Testing 2: Advanced Test Management
Inflectra
 
Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)
Inflectra
 
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra PlatformTransform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Inflectra
 
Rapise Overview Presentation
Rapise Overview PresentationRapise Overview Presentation
Rapise Overview Presentation
Adam Sandman
 
SpiraTest Overview Presentation (2022)
SpiraTest Overview Presentation (2022)SpiraTest Overview Presentation (2022)
SpiraTest Overview Presentation (2022)
Inflectra
 
SQADAYS 21 Moscow 2017
SQADAYS 21 Moscow 2017SQADAYS 21 Moscow 2017
SQADAYS 21 Moscow 2017
Adam Sandman
 

What's hot (20)

TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)TaraVault Overview Presentation (2021)
TaraVault Overview Presentation (2021)
 
KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)KronoDesk Overview Presentation (2019)
KronoDesk Overview Presentation (2019)
 
Inflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start PackageInflectra Rapise Implementation Quick Start Package
Inflectra Rapise Implementation Quick Start Package
 
Inflectra Overview Presentation (2022)
Inflectra Overview Presentation (2022)Inflectra Overview Presentation (2022)
Inflectra Overview Presentation (2022)
 
Developer 1: Workflows And Code Management
Developer 1: Workflows And Code ManagementDeveloper 1: Workflows And Code Management
Developer 1: Workflows And Code Management
 
Agile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with InflectraAgile Application Lifecycle Management (ALM) with Inflectra
Agile Application Lifecycle Management (ALM) with Inflectra
 
KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)KronoDesk Overview Presentation (2021)
KronoDesk Overview Presentation (2021)
 
The Future Of ALM - All Silos Are Banned
The Future Of ALM - All Silos Are BannedThe Future Of ALM - All Silos Are Banned
The Future Of ALM - All Silos Are Banned
 
From Manual To Automated Software Testing - A Webinar Presentation
From Manual To Automated Software Testing - A Webinar PresentationFrom Manual To Automated Software Testing - A Webinar Presentation
From Manual To Automated Software Testing - A Webinar Presentation
 
Rapise Overview Presentation (2021)
Rapise Overview Presentation (2021)Rapise Overview Presentation (2021)
Rapise Overview Presentation (2021)
 
Inflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 ConferenceInflectra Agile Alliance Agile2015 Conference
Inflectra Agile Alliance Agile2015 Conference
 
Rapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with RapiseRapid Web UI Test Automation with Rapise
Rapid Web UI Test Automation with Rapise
 
Spira Test Overview Presentation
Spira Test Overview PresentationSpira Test Overview Presentation
Spira Test Overview Presentation
 
Inflectra 2017 Mannheim User Summit
Inflectra 2017 Mannheim User SummitInflectra 2017 Mannheim User Summit
Inflectra 2017 Mannheim User Summit
 
Testing 2: Advanced Test Management
Testing 2: Advanced Test Management Testing 2: Advanced Test Management
Testing 2: Advanced Test Management
 
Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)Rapise Overview Presentation (2019)
Rapise Overview Presentation (2019)
 
Transform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra PlatformTransform Software Testing and Quality with the Neotys-Inflectra Platform
Transform Software Testing and Quality with the Neotys-Inflectra Platform
 
Rapise Overview Presentation
Rapise Overview PresentationRapise Overview Presentation
Rapise Overview Presentation
 
SpiraTest Overview Presentation (2022)
SpiraTest Overview Presentation (2022)SpiraTest Overview Presentation (2022)
SpiraTest Overview Presentation (2022)
 
SQADAYS 21 Moscow 2017
SQADAYS 21 Moscow 2017SQADAYS 21 Moscow 2017
SQADAYS 21 Moscow 2017
 

Similar to Using REST and UI Testing to Test Ajax Web Applications

Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6
Knoldus Inc.
 
Web and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 UltimateWeb and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 Ultimate
Abhimanyu Singhal
 
Magento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and OverviewMagento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and Overview
Tom Erskine
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Conslutingsarbajit Chakrabarty
 
Shashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTINGShashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTINGShashank Shetkar
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
Anand Bagmar
 
Cutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesCutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce Websites
TechWell
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Meet Magento Italy
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
HarshJ
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing ApproachHarshaVJoshi
 
Mapping mobileandweblandscape motb
Mapping mobileandweblandscape motbMapping mobileandweblandscape motb
Mapping mobileandweblandscape motb
Perfecto Mobile
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Dakiry
 
RahulAnand_Testing_5.9years_exp_CV
RahulAnand_Testing_5.9years_exp_CVRahulAnand_Testing_5.9years_exp_CV
RahulAnand_Testing_5.9years_exp_CVRahul Anand
 
Solving micro-services and one site problem
Solving micro-services and one site problemSolving micro-services and one site problem
Solving micro-services and one site problem
aragavan
 
Using Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and QualityUsing Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and Quality
Neotys
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Esraa Farrag
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_ResumeNeha Arora
 
Improving user experience with real user measurements
Improving user experience with real user measurements Improving user experience with real user measurements
Improving user experience with real user measurements
Samar Panda
 
Click2Cloud UAT Tool
Click2Cloud UAT ToolClick2Cloud UAT Tool
Click2Cloud UAT Tool
Click2Cloud Inc
 
1.3.5 more than autocomplete
1.3.5 more than autocomplete1.3.5 more than autocomplete
1.3.5 more than autocomplete
John Foliot
 

Similar to Using REST and UI Testing to Test Ajax Web Applications (20)

Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6Browser-Based Load Testing with Grafana K6
Browser-Based Load Testing with Grafana K6
 
Web and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 UltimateWeb and load testing with Visual Studio 2010 Ultimate
Web and load testing with Visual Studio 2010 Ultimate
 
Magento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and OverviewMagento Function Testing Framework - Intro and Overview
Magento Function Testing Framework - Intro and Overview
 
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation ConslutingSarbajit Resume - Delivery Manager QA - Test Automation Consluting
Sarbajit Resume - Delivery Manager QA - Test Automation Consluting
 
Shashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTINGShashank_Shetkar_CV TESTING
Shashank_Shetkar_CV TESTING
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Cutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce WebsitesCutting-edge Performance Testing on eCommerce Websites
Cutting-edge Performance Testing on eCommerce Websites
 
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum PerformanceEugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
Eugene Shaksuvarov - Tuning Magento 2 for Maximum Performance
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Ajax Testing Approach
Ajax Testing ApproachAjax Testing Approach
Ajax Testing Approach
 
Mapping mobileandweblandscape motb
Mapping mobileandweblandscape motbMapping mobileandweblandscape motb
Mapping mobileandweblandscape motb
 
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
Микола Ковш “Performance Testing Implementation From Scratch. Why? When and H...
 
RahulAnand_Testing_5.9years_exp_CV
RahulAnand_Testing_5.9years_exp_CVRahulAnand_Testing_5.9years_exp_CV
RahulAnand_Testing_5.9years_exp_CV
 
Solving micro-services and one site problem
Solving micro-services and one site problemSolving micro-services and one site problem
Solving micro-services and one site problem
 
Using Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and QualityUsing Automation to Meet Demands for Performance and Quality
Using Automation to Meet Demands for Performance and Quality
 
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
 
Neha Arora_Resume
Neha Arora_ResumeNeha Arora_Resume
Neha Arora_Resume
 
Improving user experience with real user measurements
Improving user experience with real user measurements Improving user experience with real user measurements
Improving user experience with real user measurements
 
Click2Cloud UAT Tool
Click2Cloud UAT ToolClick2Cloud UAT Tool
Click2Cloud UAT Tool
 
1.3.5 more than autocomplete
1.3.5 more than autocomplete1.3.5 more than autocomplete
1.3.5 more than autocomplete
 

More from Adam Sandman

Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0
Adam Sandman
 
Alternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA SuiteAlternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA Suite
Adam Sandman
 
Codeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicCodeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or Magic
Adam Sandman
 
5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam
Adam Sandman
 
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra   pta - shortEnsuring Project Success with SpiraTeam and Rapise from Inflectra   pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
Adam Sandman
 
Inflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, GermanyInflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, Germany
Adam Sandman
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Adam Sandman
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Adam Sandman
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Adam Sandman
 
SpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to JiraSpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to Jira
Adam Sandman
 
Real Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory TestingReal Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory Testing
Adam Sandman
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For Success
Adam Sandman
 
Agile in Software Testing - The Government Edition
Agile in Software Testing - The Government EditionAgile in Software Testing - The Government Edition
Agile in Software Testing - The Government Edition
Adam Sandman
 
Software Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & BankingSoftware Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & Banking
Adam Sandman
 
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Adam Sandman
 
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Adam Sandman
 
Testing & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the CloudTesting & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the Cloud
Adam Sandman
 
Testing Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with RapiseTesting Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with Rapise
Adam Sandman
 
Inflectra Partner Summit 2017 Q4 - Presentation
Inflectra Partner Summit 2017 Q4 - PresentationInflectra Partner Summit 2017 Q4 - Presentation
Inflectra Partner Summit 2017 Q4 - Presentation
Adam Sandman
 
Testing a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven FrameworkTesting a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven Framework
Adam Sandman
 

More from Adam Sandman (20)

Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0Rapise - Introduction to Powerful New Rapise 6.0
Rapise - Introduction to Powerful New Rapise 6.0
 
Alternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA SuiteAlternatives to the Micro Focus QA Suite
Alternatives to the Micro Focus QA Suite
 
Codeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or MagicCodeless Test Automation - Myth or Magic
Codeless Test Automation - Myth or Magic
 
5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam5 Principles to Managing Your Application Lifecycle with SpiraTeam
5 Principles to Managing Your Application Lifecycle with SpiraTeam
 
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra   pta - shortEnsuring Project Success with SpiraTeam and Rapise from Inflectra   pta - short
Ensuring Project Success with SpiraTeam and Rapise from Inflectra pta - short
 
Inflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, GermanyInflectra User Summit in Mannheim, Germany
Inflectra User Summit in Mannheim, Germany
 
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics AX- Robotic Process Automation (RPA) with Rapise
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
 
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with RapiseMicrosoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
Microsoft Dynamics NAV - Robotic Process Automation (RPA) with Rapise
 
SpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to JiraSpiraTest adds Quality & Test Management to Jira
SpiraTest adds Quality & Test Management to Jira
 
Real Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory TestingReal Testing Scenario Strategy - The Role of Exploratory Testing
Real Testing Scenario Strategy - The Role of Exploratory Testing
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For Success
 
Agile in Software Testing - The Government Edition
Agile in Software Testing - The Government EditionAgile in Software Testing - The Government Edition
Agile in Software Testing - The Government Edition
 
Software Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & BankingSoftware Development & Testing Challenges in Finance & Banking
Software Development & Testing Challenges in Finance & Banking
 
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
Inflectra User Summit California 2018 - SpiraTeam, SpiraTest, SpiraPlan, Rapi...
 
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018Inflectra Enterprise Agile Planning Briefing for Gartner 2018
Inflectra Enterprise Agile Planning Briefing for Gartner 2018
 
Testing & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the CloudTesting & Compliance Challenges for Healthcare in the Cloud
Testing & Compliance Challenges for Healthcare in the Cloud
 
Testing Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with RapiseTesting Microsoft Dynamics NAV with Rapise
Testing Microsoft Dynamics NAV with Rapise
 
Inflectra Partner Summit 2017 Q4 - Presentation
Inflectra Partner Summit 2017 Q4 - PresentationInflectra Partner Summit 2017 Q4 - Presentation
Inflectra Partner Summit 2017 Q4 - Presentation
 
Testing a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven FrameworkTesting a Complex ERP Application Using a Data-Driven Framework
Testing a Complex ERP Application Using a Data-Driven Framework
 

Recently uploaded

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 

Recently uploaded (20)

Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 

Using REST and UI Testing to Test Ajax Web Applications

  • 1. Using REST and UI Testing to Test an Ajax Web Application Presented by Adam Sandman Software Testing Professionals Conference Spring 2018 | Newport Beach, CA
  • 2. 2 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Agenda Presentation Tier of Modern Applications  Page Lifecycle in an AJAX Web Application Explanation of Testable Areas Recommended Test Strategy  Integrating DOM and REST Testing Practical Tips and Tools Questions
  • 3. 3 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Takeaways 1. The value of testing an application from multiple architectural tiers 2. The benefits of combined testing of the User Interface and REST services 3. Tools, techniques and processes you can use to test the UI and REST services
  • 4. Web Presentation Tier Modern Frameworks and the AJAX Page Lifecycle
  • 6. Traditional Web Applications <html> <head>…. </head> <body> <h1>Products</h1> <table id=“prd” style=“….”> ….. </table> </body> </html>
  • 7. The AJAX Web Application Model { products: [ { id: 1, name: “product 1” }, { id: 2, name: “product 2” }, { id: 3, name: “product 3” } ] }
  • 8. Possible Web Frameworks  First Generation  Prototype, Mootools, jQuery, ASP.NET AJAX, ExtJS, YUI, GWT  Second Generation  AngularJS 1.0, Knockout, Backbone, Handlebars, Ember, Mustache  Latest Generation  React  Angular 2.0+  Vue
  • 9. React – Components & Virtual DOM <Table cancelClick={props.dataCancelEdit} data={props.data} deleteClick={props.dataDelete} editClick={props.dataSetEdit} editId={props.dataEditingId} editChange={props.dataChange} … - html - head - body - h1: “Products” - table id: “prd” style: “….” - tr …
  • 10. Angular <h1>Products</h1> <table> <tr *ngFor=“let product of products”> <td> {{ product.name }} </td> </tr> </table> export class ProductsComponent implements OnInit { products: Product[]; ngOnInit() { this.products = this.svc.getProds(); } }
  • 12. OK So What Can We Test?  JSON Data Returned from REST Calls  Rendered Browser DOM  JS Framework  React  Virtual DOM  Component State  Angular  Components  Services
  • 13. 13 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 ® Test JSON Data Returned Advantages • Well defined API and data structures – resilient • Unit testing of key modules • Fast to load in test data • Not impacted by browser speed or rendering quirks Disadvantages • Does not test the end user experience • No testing of any client side business login, validation • Does not validate rendering, templating of JSON
  • 14. 14 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 ® Test Rendered Browser DOM Advantages • Most realistic testing, validates what the end user experiences • Finds issues due to browser quirks, differences • Can test for usability, performance, responsive design, etc. Disadvantages • Scenario testing only, cannot test until entire page is rendered • Hard to test specific page components in isolation • Changes in DOM, can potentially break tests – need skill to write resilient tests
  • 15. 15 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 ® Test ReactJS Virtual DOM Advantages • Can test elements of the rendered page without needing the entire page • Easier to test specific components with varying data sets • Removes browser speed, quirks from tests Disadvantages • Ignores browser differences • Not full reflection of user experience • Changes to markup in templates will break tests, so not fully resilient • Does not catch DOM-based performance issues
  • 16. 16 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 ® Test ReactJS Component State Advantages • Easier to test specific components with varying data sets • Tests the client-side business logic (vs. server- side unit tests) • Can test exception cases • Resilient to most UI changes Disadvantages • Does not test rendering of state/properties into HTML • Tests tied directly to React, limited reusability with other JS frameworks • Does not test end user experience of application
  • 17. Test Strategy & Practical Demo
  • 18. 18 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Sample Test Coverage Browser DOM Virtual DOM UI “Component” Tests REST JSON Tests Server Side Unit Tests Testing Breadth Resilience vs. Realism
  • 19. 19 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Sample Application – DOM & REST
  • 20. 20 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Sample Application – ReactJS http://www.libraryinformationsystem.org/react-js
  • 21. 21 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Sample Application – Angular JS http://www.libraryinformationsystem.org/angular-1/
  • 22. 22 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 See It In Action!
  • 24. 24 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Top Tools for REST Testing Postman SoapUI Rapise vREST Parasoft Groovy
  • 25. 25 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Top Tools for Browser DOM Testing Selenium (WebDriver) Rapise Ranorex TestComplete Tricentis HP UFT Squish
  • 26. 26 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 ® JS Framework Specific Tools React • Testing Component State • TestUtils + Jasmine • TestUtils + JEST • TestUtils + Mocha • Testing Virtual DOM • Enzyme + Mocha Angular • Testing Services • Jasmine • Mocha • Testing Components • TestBed + Jasmine • TestBed + Mocha
  • 27. 27 | 4/15/2018 STP | Software Test Professionals Conference | Spring 2018 Wrap Up  Modern web applications are complex and hard to test  You need to test each of the different tiers  Some tiers are easier to test than others  You need to carefully plan your testing to have the best coverage of the tiers with least effort
  • 29. Thank you for attending this workshop/session. Please fill out an evaluation form.