SlideShare a Scribd company logo
Keeping pace with Product Evolution
UI Automation Framework Guidelines
V. Narayan Raman
CEO, Sahi Pro
@narayanraman
@sahipro
Initial Thoughts?
• Automation keeps breaking
• Waits and synchronization problems
• Object identifiers keep changing
• Frameworks need to created and maintained
• Reports don’t always make sense
• Playback is slow
• Version controlling not easy
Problem
• Rapid development is the need of the day
• Automated testing should ideally help. BUT
– Automation scripts break easily when applications
evolve
– Fixing automation scripts steals time from quality
testing
– Automation effort stagnates and quickly becomes
obsolete
Can Automation Help?
• When migrating a jquery application to Angular JS?
• When migrating from Angular 1 to Angular 2?
• When migrating from Salesforce Classic to Salesforce
Lightning?
• When migrating an applet or flex application to web?
• When extending a web application to mobile?
What should QA Automation solve?
• Software enables a business
• Better quality software means low risk to
business
• In dynamic businesses, where software and
business change, Software quality systems
should ensure continuity of business
Good Automation Effort
• Needs Maximum Utilization of
– People
• Dev, QA, BA etc.
– Processes
• Version Control
• Continuous Integration
– Automation Tools and Frameworks
• Great if
– Automation tool and framework is easy to use and
allows all people to contribute
Types of Changes
• Business case has changed
– Eg. ST and VAT replaced by GST
• Application flow has changed
– Eg. “Add Beneficiary” moved from “Transfers” screen
to “Requests” screen and has validation step
• Application UI has changed
– Elements have changed
• Eg. Textbox name has changed from “login” to “signin”
– Text for assertions have changed
• Eg. Message “Invalid Login” has changed to “Invalid Sign in”
Types of Changes - Responsibility
• Business case has changed
– BA*, QA
• Application flow has changed
– BA, QA*
• Application UI has changed
– Dev, QA
What’s a Framework?
• Inversion of control
– Hollywood Principle: "Don't call us, we'll call you"
– In a framework, unlike in libraries or in standard user
applications, the overall program's flow of control is not dictated
by the caller, but by the framework
• Extensibility
– A user can extend the framework - usually by selective
overriding; or programmers can add specialized user code to
provide specific functionality.
• Non-modifiable framework code:
– The framework code, in general, is not supposed to be modified,
while accepting user-implemented extensions. In other words,
users can extend the framework, but should not modify its code
Source: Wikipedia
Framework Expectations
• Execution: Should be able to execute automation
code!
– For speed: parallel, distributed execution
• Maintenance:
– Allow separation of concerns for easy maintenance
• Business Layer
• Implementation Layer
• Object Repository Layer
– Audit and Reporting:
• Error reporting with screenshots etc. for testers to validate
• Rich reports for various stake holders with traceability
Frameworks, Libraries and Tools
• Frameworks take care of execution, reporting,
and give hooks to call user libraries
• Libraries bunch together application specific
functionality like User creation, login etc.
• Tools allow interaction with systems eg UI
interface, webservices interface etc.
Frameworks, Libraries and Tools
Framework
Customer Module
Library
Web Automation
Tool
Loan Module
Library
Banking Module
Library
Desktop
Automation Tool
Executor
Reporting
ScenariosData
Wrong Implementation
http://www.seleniumeasy.com/selenium-
tutorials/keyword-driven-framework-example
Wrong Implementation
• https://www.sitepoint.com/smelly-cucumbers/
Layers of Automation
Business Layer
• Expresses business intent
• Agnostic of
– web application itself
– Testing tool
– interaction code
• Eg.
– Create user, Approve user, Login user
• Will change if business logic itself changes
• Survives across UI implementations (web or mobile or
desktop), survives architectural changes.
Framework Examples
Implementation Layer
• Understands interactions between different
actions performed on UI
– Eg.
function login($username, $password){
_setValue(_textbox("user"), $username);
_setValue(_password("password"), $password);
_click(_submit("Login"));
}
• Library file with implementation of keywords
used in Business Layer
• Will change if interaction flow changes
Element Repository Layer
• Central repository of all elements in the
automation code
• Changes when a particular element changes
due to HTML/Javascript changes in the
application UI
Framework Examples
• ROBOT Framework
• Cucumber
• Any Excel keyword framework you may have
built
• Sahi Pro Excel Framework
What Should Change?
• When migrating a jquery application to Angular JS?
• When migrating from Angular 1 to Angular 2?
• When migrating from Salesforce Classic to Salesforce
Lightning?
• When migrating an applet or flex application to web?
• When extending a web application to mobile?
Gyan
• Automation code is most useful when there is a lot of
change planned in your application
– Acts as a safety net and guideline
• Automation code should not be thrown away when
application technology changes
• Building the right layers and strictly following them helps in
minimal maintenance efforts and long lived useful
automation scripts
• QUESTIONS?
Sahi Pro
Sahi Pro – The ROI focused Automation Tool
Automatic Waits
Stable element identification
Inbuilt frameworks
Extensive reporting
Distributed fast playback
Minimum Code – Maximum Automation
www.sahipro.com
@sahipro

More Related Content

What's hot

Sahi-Web Automation and Testing Tool
Sahi-Web Automation and Testing ToolSahi-Web Automation and Testing Tool
Sahi-Web Automation and Testing ToolKurapati Vishwak
 
Economical, Robust Web Automation using Sahi
Economical, Robust Web Automation using SahiEconomical, Robust Web Automation using Sahi
Economical, Robust Web Automation using SahiRIA RUI Society
 
Tests supporting multiple mobile platforms
Tests supporting multiple mobile platformsTests supporting multiple mobile platforms
Tests supporting multiple mobile platforms
vodqancr
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolvertboyt
 
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support EngineerSupport Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Nicole Szigeti
 
"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец
Fwdays
 
What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5
Robert MacLean
 
Introduction to Selenium Webdriver - SpringPeople
Introduction to Selenium Webdriver - SpringPeopleIntroduction to Selenium Webdriver - SpringPeople
Introduction to Selenium Webdriver - SpringPeople
SpringPeople
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
Salesforce Developers
 
Rhodes
RhodesRhodes
Rhodes
jwallace41
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan
 
Laravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consLaravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & cons
ElenorWisozk
 
Laravel session 1
Laravel  session 1Laravel  session 1
Laravel session 1
Ashish Kumar
 
Architecting test automation using selenium
Architecting test automation using seleniumArchitecting test automation using selenium
Architecting test automation using selenium
David Adams
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
Sachin-QA
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
iScripts
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
ANKUR-BA
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORKSpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
Fabulous Tests on Spock and Groovy
Fabulous Tests on Spock and GroovyFabulous Tests on Spock and Groovy
Fabulous Tests on Spock and Groovy
Yaroslav Pernerovsky
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksRobert MacLean
 

What's hot (20)

Sahi-Web Automation and Testing Tool
Sahi-Web Automation and Testing ToolSahi-Web Automation and Testing Tool
Sahi-Web Automation and Testing Tool
 
Economical, Robust Web Automation using Sahi
Economical, Robust Web Automation using SahiEconomical, Robust Web Automation using Sahi
Economical, Robust Web Automation using Sahi
 
Tests supporting multiple mobile platforms
Tests supporting multiple mobile platformsTests supporting multiple mobile platforms
Tests supporting multiple mobile platforms
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
 
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support EngineerSupport Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
Support Tools für die Admin-Konsole - Nebil Kisa, Advanced Support Engineer
 
"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец"Spring Boot. Boot up your development" Сергей Моренец
"Spring Boot. Boot up your development" Сергей Моренец
 
What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5What’s new in Visual Studio 2012 & .NET 4.5
What’s new in Visual Studio 2012 & .NET 4.5
 
Introduction to Selenium Webdriver - SpringPeople
Introduction to Selenium Webdriver - SpringPeopleIntroduction to Selenium Webdriver - SpringPeople
Introduction to Selenium Webdriver - SpringPeople
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Rhodes
RhodesRhodes
Rhodes
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
 
Laravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & consLaravel and CodeIgniter: pros & cons
Laravel and CodeIgniter: pros & cons
 
Laravel session 1
Laravel  session 1Laravel  session 1
Laravel session 1
 
Architecting test automation using selenium
Architecting test automation using seleniumArchitecting test automation using selenium
Architecting test automation using selenium
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
PHP framework difference
PHP framework differencePHP framework difference
PHP framework difference
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORKSpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
 
Fabulous Tests on Spock and Groovy
Fabulous Tests on Spock and GroovyFabulous Tests on Spock and Groovy
Fabulous Tests on Spock and Groovy
 
Windows Store Apps: Tips & Tricks
Windows Store Apps: Tips & TricksWindows Store Apps: Tips & Tricks
Windows Store Apps: Tips & Tricks
 

Similar to Keeping Pace with Product Evolution - UI Automation Framework Guidelines

20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform
Harezmi IT Solutions
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
Teamstudio
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
Agile Testing Alliance
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
Jeremy Likness
 
QA in an Agile Environment
QA in an Agile EnvironmentQA in an Agile Environment
QA in an Agile Environment
Intelliware Development Inc.
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
Vadym Kazulkin
 
Anupam chaturvedi resume latest
Anupam chaturvedi resume  latestAnupam chaturvedi resume  latest
Anupam chaturvedi resume latest
Anupam chaturvedi
 
Are processes masquerading as projects hurting your business
Are processes masquerading as projects hurting your businessAre processes masquerading as projects hurting your business
Are processes masquerading as projects hurting your business
Ben Bradley
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
Abdullah al Mamun
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
Abdullah al Mamun
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Php Web Frameworks
Php Web FrameworksPhp Web Frameworks
Php Web Frameworks
Shreyans Jasoriya
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
XBOSoft
 
Sustainable solutions with SharePoint 2013
Sustainable solutions with SharePoint 2013Sustainable solutions with SharePoint 2013
Sustainable solutions with SharePoint 2013
Delta-N
 
OpenMRS Reference Application, Getting Started
OpenMRS Reference Application, Getting StartedOpenMRS Reference Application, Getting Started
OpenMRS Reference Application, Getting Started
djazayeri
 
Sahi
SahiSahi
Wonderware Skelta BPM Software Brochure
Wonderware Skelta BPM Software BrochureWonderware Skelta BPM Software Brochure
Wonderware Skelta BPM Software Brochure
msteidinger
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
Phil Leggetter
 
Tech Talk on Cloud Computing
Tech Talk on Cloud ComputingTech Talk on Cloud Computing
Tech Talk on Cloud Computing
ITviec
 
How to Manage Digital User Experience for Web Applications
How to Manage Digital User Experience for Web ApplicationsHow to Manage Digital User Experience for Web Applications
How to Manage Digital User Experience for Web Applications
eG Innovations
 

Similar to Keeping Pace with Product Evolution - UI Automation Framework Guidelines (20)

20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform20160422 Speedy Framework Enterprise Application Development Platform
20160422 Speedy Framework Enterprise Application Development Platform
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
QA in an Agile Environment
QA in an Agile EnvironmentQA in an Agile Environment
QA in an Agile Environment
 
Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...Measure and increase developer productivity with help of Severless by Kazulki...
Measure and increase developer productivity with help of Severless by Kazulki...
 
Anupam chaturvedi resume latest
Anupam chaturvedi resume  latestAnupam chaturvedi resume  latest
Anupam chaturvedi resume latest
 
Are processes masquerading as projects hurting your business
Are processes masquerading as projects hurting your businessAre processes masquerading as projects hurting your business
Are processes masquerading as projects hurting your business
 
DevOps Presentation.pptx
DevOps Presentation.pptxDevOps Presentation.pptx
DevOps Presentation.pptx
 
Session on evaluation of DevSecOps
Session on evaluation of DevSecOpsSession on evaluation of DevSecOps
Session on evaluation of DevSecOps
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Php Web Frameworks
Php Web FrameworksPhp Web Frameworks
Php Web Frameworks
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
Sustainable solutions with SharePoint 2013
Sustainable solutions with SharePoint 2013Sustainable solutions with SharePoint 2013
Sustainable solutions with SharePoint 2013
 
OpenMRS Reference Application, Getting Started
OpenMRS Reference Application, Getting StartedOpenMRS Reference Application, Getting Started
OpenMRS Reference Application, Getting Started
 
Sahi
SahiSahi
Sahi
 
Wonderware Skelta BPM Software Brochure
Wonderware Skelta BPM Software BrochureWonderware Skelta BPM Software Brochure
Wonderware Skelta BPM Software Brochure
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
 
Tech Talk on Cloud Computing
Tech Talk on Cloud ComputingTech Talk on Cloud Computing
Tech Talk on Cloud Computing
 
How to Manage Digital User Experience for Web Applications
How to Manage Digital User Experience for Web ApplicationsHow to Manage Digital User Experience for Web Applications
How to Manage Digital User Experience for Web Applications
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 

Keeping Pace with Product Evolution - UI Automation Framework Guidelines

  • 1. Keeping pace with Product Evolution UI Automation Framework Guidelines V. Narayan Raman CEO, Sahi Pro @narayanraman @sahipro
  • 2. Initial Thoughts? • Automation keeps breaking • Waits and synchronization problems • Object identifiers keep changing • Frameworks need to created and maintained • Reports don’t always make sense • Playback is slow • Version controlling not easy
  • 3. Problem • Rapid development is the need of the day • Automated testing should ideally help. BUT – Automation scripts break easily when applications evolve – Fixing automation scripts steals time from quality testing – Automation effort stagnates and quickly becomes obsolete
  • 4. Can Automation Help? • When migrating a jquery application to Angular JS? • When migrating from Angular 1 to Angular 2? • When migrating from Salesforce Classic to Salesforce Lightning? • When migrating an applet or flex application to web? • When extending a web application to mobile?
  • 5. What should QA Automation solve? • Software enables a business • Better quality software means low risk to business • In dynamic businesses, where software and business change, Software quality systems should ensure continuity of business
  • 6. Good Automation Effort • Needs Maximum Utilization of – People • Dev, QA, BA etc. – Processes • Version Control • Continuous Integration – Automation Tools and Frameworks • Great if – Automation tool and framework is easy to use and allows all people to contribute
  • 7. Types of Changes • Business case has changed – Eg. ST and VAT replaced by GST • Application flow has changed – Eg. “Add Beneficiary” moved from “Transfers” screen to “Requests” screen and has validation step • Application UI has changed – Elements have changed • Eg. Textbox name has changed from “login” to “signin” – Text for assertions have changed • Eg. Message “Invalid Login” has changed to “Invalid Sign in”
  • 8. Types of Changes - Responsibility • Business case has changed – BA*, QA • Application flow has changed – BA, QA* • Application UI has changed – Dev, QA
  • 9. What’s a Framework? • Inversion of control – Hollywood Principle: "Don't call us, we'll call you" – In a framework, unlike in libraries or in standard user applications, the overall program's flow of control is not dictated by the caller, but by the framework • Extensibility – A user can extend the framework - usually by selective overriding; or programmers can add specialized user code to provide specific functionality. • Non-modifiable framework code: – The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but should not modify its code Source: Wikipedia
  • 10. Framework Expectations • Execution: Should be able to execute automation code! – For speed: parallel, distributed execution • Maintenance: – Allow separation of concerns for easy maintenance • Business Layer • Implementation Layer • Object Repository Layer – Audit and Reporting: • Error reporting with screenshots etc. for testers to validate • Rich reports for various stake holders with traceability
  • 11. Frameworks, Libraries and Tools • Frameworks take care of execution, reporting, and give hooks to call user libraries • Libraries bunch together application specific functionality like User creation, login etc. • Tools allow interaction with systems eg UI interface, webservices interface etc.
  • 12. Frameworks, Libraries and Tools Framework Customer Module Library Web Automation Tool Loan Module Library Banking Module Library Desktop Automation Tool Executor Reporting ScenariosData
  • 16. Business Layer • Expresses business intent • Agnostic of – web application itself – Testing tool – interaction code • Eg. – Create user, Approve user, Login user • Will change if business logic itself changes • Survives across UI implementations (web or mobile or desktop), survives architectural changes.
  • 18. Implementation Layer • Understands interactions between different actions performed on UI – Eg. function login($username, $password){ _setValue(_textbox("user"), $username); _setValue(_password("password"), $password); _click(_submit("Login")); } • Library file with implementation of keywords used in Business Layer • Will change if interaction flow changes
  • 19.
  • 20. Element Repository Layer • Central repository of all elements in the automation code • Changes when a particular element changes due to HTML/Javascript changes in the application UI
  • 21. Framework Examples • ROBOT Framework • Cucumber • Any Excel keyword framework you may have built • Sahi Pro Excel Framework
  • 22. What Should Change? • When migrating a jquery application to Angular JS? • When migrating from Angular 1 to Angular 2? • When migrating from Salesforce Classic to Salesforce Lightning? • When migrating an applet or flex application to web? • When extending a web application to mobile?
  • 23. Gyan • Automation code is most useful when there is a lot of change planned in your application – Acts as a safety net and guideline • Automation code should not be thrown away when application technology changes • Building the right layers and strictly following them helps in minimal maintenance efforts and long lived useful automation scripts • QUESTIONS?
  • 24. Sahi Pro Sahi Pro – The ROI focused Automation Tool Automatic Waits Stable element identification Inbuilt frameworks Extensive reporting Distributed fast playback Minimum Code – Maximum Automation www.sahipro.com @sahipro