Test Automation for Dynamic Applications _ Applitools in Action.pdf

Applitools 54 views 15 slides Sep 05, 2024
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

Discover how Applitools' AI-powered solutions tackle the challenges of dynamic applications and content in test automation. Session resources and more info at https://applitools.info/vl4

• Establish a consistent testing pipeline for applications with frequently changing data.
• Minimize tes...


Slide Content

Test Automation
for Dynamic Applications

September 5th, 2024
Talia Melamed

Testing as an Alerting System
Reliability is Key
●The Cost of Unreliable Tests
●Lost Trust
●Wasted Resources


Reliable test suite→ Predictable and consistent behavior

Test Automation












% Predictability
reduces as we
climb up the
Pyramid

Common (Un)predictability Factors in UI Testing

#1 Dynamic Dom Elements
Manual, broken or dynamically generated locators


#2 Tests Environment
Browser, Device and Screen Size Variability

#3 Dynamic Content
Modern applications are dynamic by nature

Solution #1 - The Execution Cloud
First AI Selenium Grid

Self-healing locators

Reliably identify
broken UI elements at
run-time

Solution #2 - The Ultrafast Grid
Challenge - Inconsistent Rendering
●Browser Compatibility
●Device /Screen Size Variability

The Ultrafast Grid -
●Cross Browser Execution
●Cross Device Testing
●Uses DOM, HTML, CSS file, etc.
●Rendering in Parallel

Result-
●Increased stability
●Improved efficiency
●Reduced execution time
●Faster feedback

→ designing the baseline image to represent the predicted behavior
Solution #3 - Modern Apps - Dynamic by Nature

Solution #3 - The Layout Matching Algorithm
Use cases-
1)Fixed structure + Dynamic data
Date field, dynamic ID number
2)Localisation - cross languages testing

Implementation -
●Full page validation
●Layout regions
○Coded Layout region
○Via dashboard - Element Selector -
Autonomous
●Auto-maintenance capability

Localization Testing
Support multiple languages
Best Practices:
1)Maintaining a baseline for structurally related languages
2)Maintaining a baseline image per language - recommended

Same Content / Dynamic Location - Floating Region

Same Content / Dynamic Color - Ignore Color Region

Baselines - Easy to Create and Maintain
Use-case:
The application changes per user type: Admin / Student / Manager

Solution:
Creating a baseline per user type
Automatically maintaining the results - Auto-maintenance capability

Dynamic Structure / Fixed # Combinations
Solution:
Multi-baseline variations

Example:
Banners
Widgets
“Search” results # items
User Input Variations

Testing Dynamic Applications - Infinite Options
Implementation:

●Split the test
●Granular screenshots: Header, Footer, Body

Summary
Goals: Testing predictability is key to stability
Challenge:
●Code-base
●Environment
●Dynamic behaviour
Tools:
●Infrastructure - Execution Cloud, Ultrafast Grid
●Intelligent Test Case Generation - Algorithms
●Robust Testing Design
Steps:
●Categorise the use-case pattern
Fixed structure & Dynamic content (combinations)
●Aligning the solution

Documentation & Resources
How to use Applitools match levels
Baseline management
Layout region, Floating region
Why Use Match Level Regions?
Multi-baseline Variations
Coded Layout region
Applitools Self-healing Execution Cloud
Ultrafast Grid: Streamlining Cross Browser Testing