SlideShare a Scribd company logo
endava.com
QUALITY. PRODUCTIVITY. INNOVATION.
A healthy approach for
test automation
2
Agenda •Introduction
•Define test automation objectives
•The framework approach
•Strategies to run automated tests
faster
•Reporting for the execution of
automated tests
•Debugging automated tests
•Q & A
QUALITY. PRODUCTIVITY.
INNOVATION.
3
3
Define test automation
objectives
What are the testing types that are valuable to be automated?
●Regression testing
●Browser compatibility testing
What should verify a UI automated test?
●The existence of web elements from web pages
●A specific functionality by handling web elements with
●dynamic data
–Ex: create account, login, search user, update user
QUALITY. PRODUCTIVITY.
INNOVATION.
4
4
Define test automation
objectives
What are the main objectives for automated testing?
●To write automated tests fast
●To write automated tests that are easy to maintain
●To run automated tests fast
●To have a report for each execution of the automated tests
●To debug automated tests easy
QUALITY. PRODUCTIVITY.
INNOVATION.
5
5
The framework approach
Components of a test automation framework
QUALITY. PRODUCTIVITY.
INNOVATION.
6
6
The framework approach
Base package
●Class that handle initial requirements in order to start browser/setup for the
browser
●sets browser name and version
●sets the OS on which the browser will be used
●sets other capabilities:
–Profile of the browser
–Javascript on/off for the browser
–Accept or not certificates
●Quit browser action, close session
●Setup/tear down actions are implemented once and are used in all tests
QUALITY. PRODUCTIVITY.
INNOVATION.
7
7
The framework approach
Utility package
●Invest more at the beginning => write tests faster after
●Classes with methods to read and write to different types of files
●properties, .xls, .csv, xml,json files
●Classes with methods to check the database
●setup connection with the DB (ex: Oracle, Sybase, MySql)
●generic methods to insert, select and update different tables from DB
●Classes with methods to generate random/unique input data
●Classes with extra methods handle the interaction with browser(Ex: Selenium
Helper)
QUALITY. PRODUCTIVITY.
INNOVATION.
8
8
The framework approach
Pages package
QUALITY. PRODUCTIVITY.
INNOVATION.
9
9
The framework approach
Pages package
QUALITY. PRODUCTIVITY.
INNOVATION.
10
10
The framework approach
Pages package
●Page Object pattern
●Each web page should have web elements mapped in a separate class =>if the UI
changes, the fix need only be applied in one place.
●Reduces the amount of duplicated code (web elements)
●Enhance with “loadable” components to make sure that your that all web
elements are loaded
●Enhance with “populate” methods
●Should respect a naming convention: (Ex. LoginPage, CreateAccountPage)
QUALITY. PRODUCTIVITY.
INNOVATION.
11
11
The framework approach
Page data package
●For functional tests that are using dynamic data
●Handle easy data – once you set the input data, you can check this data anytime in
your test
●Reduces the amount of duplicated code
●Use “getters” and setters to handle data
●Each page object should have a page data
●Should respect a naming convention(Ex: LoginData, CreateAccountData)
QUALITY. PRODUCTIVITY.
INNOVATION.
12
12
The framework approach
Tests package
●Unit test style - JUnit, TestNG
●BDD style - JBehave
●Will use classes from base, utility, pages and page data packages
●Allows parametrization(“examples” in JBehave) of the tests => reduce code
duplication, increase readability
●Allows tests to be organized in suites
●The main difference between JUnit and TestNG/JBehave is that JUnit is using tests
in isolation and TestNG allows to make connections between tests(dependency
between tests)
QUALITY. PRODUCTIVITY.
INNOVATION.
13
13
Reporting for the test
execution of automated tests
Reporting with Surefire reports
●Can integrate results from JUnit, TestNG, JBehave tests
●Test classes, test methods, pass, failed, skipped(TestNG and JBehave)
●If a test is failed there's a link to the line of source code for the test
●Time for individual test methods, test classes and overall test suite are listed
●Can be integrated with CI tools (Ex: Jenkins)
QUALITY. PRODUCTIVITY.
INNOVATION.
14
14
Strategies to run tests faster
Parallelization of your tests
●Use multi-thread tests
●Tests can be run in parallel: test methods and test classes
●Make sure that the tests that you want to run are independent
●Major advantage - decrease time of running test=> early feedback
●Need to consider - a lot of RAM memory will be used
–use of virtual machines on the same machine will not increase the speed of your
tests
–if you want to use other machines to increase the memory, make sure that the
prerequisites to setup is minimum or none(Selenium Grid vs Jenkins)
QUALITY. PRODUCTIVITY.
INNOVATION.
15
15
Strategies to run tests faster
Build test suites wisely
●Different test suites/test packs
●Sanity checks, Smoke tests, Regression tests
●Sanity checks - identify those tests and make a package to check those cases
based on the previous experiences
●Schedule tests in cascade – A(pass - go to B, fail – skip all tests), B,C
=> early feedback in case of failure
QUALITY. PRODUCTIVITY.
INNOVATION.
16
16
Strategies to run tests faster
Use cloud solutions
●Providers: Saucelabs, Browserstack, Testing Bot
●Less of configuration - setup of virtual machines and devices is taking a few
seconds
●Browser compatibility
●Run tests on your local computer, on a computer in your LAN, on a server via VPN
●Mobile browsers - test across official iOS and Android mobile emulators.
QUALITY. PRODUCTIVITY.
INNOVATION.
17
17
Debugging automated tests
Common errors
●“Element not found” failure - when an element was not found
●Can appear in any step of a test
●Failure at verification level
●Appears only when the expected and the actual results are different
●Other errors – DB connectivity and browser setup
●Errors that occur when using files
QUALITY. PRODUCTIVITY.
INNOVATION.
18
18
Debugging automated tests
Investigation
●For “Element not found” failure – check the code line in the test to see which is
the element that was not found
●Check the page source to see if the element is present (can be done manually, and
automatically)
●For verification failures you need only to interpret what caused the failure of the
verification
●Adding logs to your steps to see exact data that was used and all the steps
performed (LOG4J)
●In case of tests written using BDD style(Given, when, then) you can see the exact
step that was failed
QUALITY. PRODUCTIVITY.
INNOVATION.
19
19
Debugging automated tests
Investigation using screenshots
●Different implementation depending of testing framework used
●The screenshots should be saved in a separate directory and the name of them
should follow some conventions:
●Name of the test should contain name of the test class concatenated to a
timestamp (if you ran multiple times same test, to be able to have all screenshots,
not to override the same screen )
●If it's a crash it's easy to debug the test only by seeing the screenshot
●Only at failure, to avoid checking every screenshot
●Cloud solutions provide videos of your tests
QUALITY. PRODUCTIVITY.
INNOVATION.
20
Thank you
QUALITY. PRODUCTIVITY.
INNOVATION.
Gabriel Cărăbăț
Test Automation Lead/CLD Test
Automation Practice Lead
gabriel.carabat@endava.com
+40 763 982 657
en_gcarabat

More Related Content

What's hot

Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
Sauce Labs
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh Mohan
vodQA
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
Sauce Labs
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
Sauce Labs
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentalsCygnet Infotech
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
Agile Testing Alliance
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
Applitools
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality
Fabricio Epaminondas
 
Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation
Ho Chi Minh City Software Testing Club
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
eleksdev
 
Building an effective mobile testing strategy
Building an effective mobile testing strategyBuilding an effective mobile testing strategy
Building an effective mobile testing strategy
Ho Chi Minh City Software Testing Club
 
The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
DevOps.com
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
TechWell
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Applitools
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
Sencha
 
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Narayanan Palani
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
Mike McGarr
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
Melissa Benua
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
Perfecto by Perforce
 
Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in Microservices
Alper Mermer
 

What's hot (20)

Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh Mohan
 
SauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App AutomatableSauceCon 2017: Making Your Mobile App Automatable
SauceCon 2017: Making Your Mobile App Automatable
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
 
Continuous integration testing fundamentals
Continuous integration testing fundamentalsContinuous integration testing fundamentals
Continuous integration testing fundamentals
 
Continuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and JmeterContinuous Performance Testing with Taurus and Jmeter
Continuous Performance Testing with Taurus and Jmeter
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality
 
Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation Common Web UI Problems Transforming Manual to Automation
Common Web UI Problems Transforming Manual to Automation
 
SDLC. QA Role
SDLC. QA RoleSDLC. QA Role
SDLC. QA Role
 
Building an effective mobile testing strategy
Building an effective mobile testing strategyBuilding an effective mobile testing strategy
Building an effective mobile testing strategy
 
The Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the PipelineThe Key to DevOps? Testing Early in the Pipeline
The Key to DevOps? Testing Early in the Pipeline
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
Learn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research ReportLearn Key Insights from The State of Web Application Testing Research Report
Learn Key Insights from The State of Web Application Testing Research Report
 
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Integration as a Way of Life
Continuous Integration as a Way of LifeContinuous Integration as a Way of Life
Continuous Integration as a Way of Life
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
 
Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in Microservices
 

Similar to Gabriel carabat a healthy approach for test automation

Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
Artem Nagornyi
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
Andrey Oleynik
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
Ineke Scheffers
 
Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
JWORKS powered by Ordina
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
Quontra Solutions
 
StarWest 2019 - End to end testing: Stupid or Legit?
StarWest 2019 - End to end testing: Stupid or Legit?StarWest 2019 - End to end testing: Stupid or Legit?
StarWest 2019 - End to end testing: Stupid or Legit?
mabl
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
Lohika_Odessa_TechTalks
 
QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)
Anesthezia
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation Solution
Alan Lee White
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
ANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Sachin-QA
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
Ranorex
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Murageppa-QA
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdf
SpiritsoftsTraining
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
ShivareddyGangam
 
Neotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da SilvaNeotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da Silva
Neotys_Partner
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
Sadaaki Emura
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Example
automated-testing.info
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An Overview
Anant Corporation
 

Similar to Gabriel carabat a healthy approach for test automation (20)

Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomonDevelopers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
 
Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
StarWest 2019 - End to end testing: Stupid or Legit?
StarWest 2019 - End to end testing: Stupid or Legit?StarWest 2019 - End to end testing: Stupid or Legit?
StarWest 2019 - End to end testing: Stupid or Legit?
 
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)QA Meetup at Signavio (Berlin, 06.06.19)
QA Meetup at Signavio (Berlin, 06.06.19)
 
Innovative Test Automation Solution
Innovative Test Automation SolutionInnovative Test Automation Solution
Innovative Test Automation Solution
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
How To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test AutomationHow To Transform the Manual Testing Process to Incorporate Test Automation
How To Transform the Manual Testing Process to Incorporate Test Automation
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Testing Tools Online Training.pdf
Testing Tools Online Training.pdfTesting Tools Online Training.pdf
Testing Tools Online Training.pdf
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
Neotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da SilvaNeotys PAC 2018 - Bruno Da Silva
Neotys PAC 2018 - Bruno Da Silva
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Example
 
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile EnvironmentWSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
WSO2Con Asia 2014 - Effective Test Automation in an Agile Environment
 
Quality Assurance: An Overview
Quality Assurance: An OverviewQuality Assurance: An Overview
Quality Assurance: An Overview
 

More from Romania Testing

Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testingRomania Testing
 
Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Romania Testing
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalRomania Testing
 
Luis fraile exploratory testing myths ro
Luis fraile   exploratory testing myths roLuis fraile   exploratory testing myths ro
Luis fraile exploratory testing myths roRomania Testing
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, rightRomania Testing
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6Romania Testing
 
Rene tuinhout passionate dating for testers and vice versa
Rene tuinhout   passionate dating for testers and vice versaRene tuinhout   passionate dating for testers and vice versa
Rene tuinhout passionate dating for testers and vice versaRomania Testing
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automationRomania Testing
 
Daniel billing exploring the security testers toolbox
Daniel billing   exploring the security testers toolboxDaniel billing   exploring the security testers toolbox
Daniel billing exploring the security testers toolboxRomania Testing
 
Codruta bunea establishing a test approach for a private cloud environment
Codruta bunea   establishing a test approach for a private cloud environmentCodruta bunea   establishing a test approach for a private cloud environment
Codruta bunea establishing a test approach for a private cloud environmentRomania Testing
 
Andy glover - Artist within everyone
Andy glover - Artist within everyoneAndy glover - Artist within everyone
Andy glover - Artist within everyoneRomania Testing
 
Andy glover - Visual Testing Workshop
Andy glover  - Visual Testing WorkshopAndy glover  - Visual Testing Workshop
Andy glover - Visual Testing WorkshopRomania Testing
 
Adrian bolboaca sherlock holmesandpairing-adibolboaca
Adrian bolboaca   sherlock holmesandpairing-adibolboacaAdrian bolboaca   sherlock holmesandpairing-adibolboaca
Adrian bolboaca sherlock holmesandpairing-adibolboacaRomania Testing
 
Stephen blower inspiring testers - rtc2014
Stephen blower   inspiring testers - rtc2014Stephen blower   inspiring testers - rtc2014
Stephen blower inspiring testers - rtc2014Romania Testing
 
Testing-as-a-service on demand
Testing-as-a-service on demandTesting-as-a-service on demand
Testing-as-a-service on demandRomania Testing
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automationRomania Testing
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automationRomania Testing
 
Mentoring embedded testing
Mentoring embedded testingMentoring embedded testing
Mentoring embedded testingRomania Testing
 

More from Romania Testing (18)

Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testing
 
Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-final
 
Luis fraile exploratory testing myths ro
Luis fraile   exploratory testing myths roLuis fraile   exploratory testing myths ro
Luis fraile exploratory testing myths ro
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, right
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6
 
Rene tuinhout passionate dating for testers and vice versa
Rene tuinhout   passionate dating for testers and vice versaRene tuinhout   passionate dating for testers and vice versa
Rene tuinhout passionate dating for testers and vice versa
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automation
 
Daniel billing exploring the security testers toolbox
Daniel billing   exploring the security testers toolboxDaniel billing   exploring the security testers toolbox
Daniel billing exploring the security testers toolbox
 
Codruta bunea establishing a test approach for a private cloud environment
Codruta bunea   establishing a test approach for a private cloud environmentCodruta bunea   establishing a test approach for a private cloud environment
Codruta bunea establishing a test approach for a private cloud environment
 
Andy glover - Artist within everyone
Andy glover - Artist within everyoneAndy glover - Artist within everyone
Andy glover - Artist within everyone
 
Andy glover - Visual Testing Workshop
Andy glover  - Visual Testing WorkshopAndy glover  - Visual Testing Workshop
Andy glover - Visual Testing Workshop
 
Adrian bolboaca sherlock holmesandpairing-adibolboaca
Adrian bolboaca   sherlock holmesandpairing-adibolboacaAdrian bolboaca   sherlock holmesandpairing-adibolboaca
Adrian bolboaca sherlock holmesandpairing-adibolboaca
 
Stephen blower inspiring testers - rtc2014
Stephen blower   inspiring testers - rtc2014Stephen blower   inspiring testers - rtc2014
Stephen blower inspiring testers - rtc2014
 
Testing-as-a-service on demand
Testing-as-a-service on demandTesting-as-a-service on demand
Testing-as-a-service on demand
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automation
 
Programming skills for test automation
Programming skills for test automationProgramming skills for test automation
Programming skills for test automation
 
Mentoring embedded testing
Mentoring embedded testingMentoring embedded testing
Mentoring embedded testing
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
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
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
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
 
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
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
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
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
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
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
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
 
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
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 

Gabriel carabat a healthy approach for test automation

  • 1. endava.com QUALITY. PRODUCTIVITY. INNOVATION. A healthy approach for test automation
  • 2. 2 Agenda •Introduction •Define test automation objectives •The framework approach •Strategies to run automated tests faster •Reporting for the execution of automated tests •Debugging automated tests •Q & A QUALITY. PRODUCTIVITY. INNOVATION.
  • 3. 3 3 Define test automation objectives What are the testing types that are valuable to be automated? ●Regression testing ●Browser compatibility testing What should verify a UI automated test? ●The existence of web elements from web pages ●A specific functionality by handling web elements with ●dynamic data –Ex: create account, login, search user, update user QUALITY. PRODUCTIVITY. INNOVATION.
  • 4. 4 4 Define test automation objectives What are the main objectives for automated testing? ●To write automated tests fast ●To write automated tests that are easy to maintain ●To run automated tests fast ●To have a report for each execution of the automated tests ●To debug automated tests easy QUALITY. PRODUCTIVITY. INNOVATION.
  • 5. 5 5 The framework approach Components of a test automation framework QUALITY. PRODUCTIVITY. INNOVATION.
  • 6. 6 6 The framework approach Base package ●Class that handle initial requirements in order to start browser/setup for the browser ●sets browser name and version ●sets the OS on which the browser will be used ●sets other capabilities: –Profile of the browser –Javascript on/off for the browser –Accept or not certificates ●Quit browser action, close session ●Setup/tear down actions are implemented once and are used in all tests QUALITY. PRODUCTIVITY. INNOVATION.
  • 7. 7 7 The framework approach Utility package ●Invest more at the beginning => write tests faster after ●Classes with methods to read and write to different types of files ●properties, .xls, .csv, xml,json files ●Classes with methods to check the database ●setup connection with the DB (ex: Oracle, Sybase, MySql) ●generic methods to insert, select and update different tables from DB ●Classes with methods to generate random/unique input data ●Classes with extra methods handle the interaction with browser(Ex: Selenium Helper) QUALITY. PRODUCTIVITY. INNOVATION.
  • 8. 8 8 The framework approach Pages package QUALITY. PRODUCTIVITY. INNOVATION.
  • 9. 9 9 The framework approach Pages package QUALITY. PRODUCTIVITY. INNOVATION.
  • 10. 10 10 The framework approach Pages package ●Page Object pattern ●Each web page should have web elements mapped in a separate class =>if the UI changes, the fix need only be applied in one place. ●Reduces the amount of duplicated code (web elements) ●Enhance with “loadable” components to make sure that your that all web elements are loaded ●Enhance with “populate” methods ●Should respect a naming convention: (Ex. LoginPage, CreateAccountPage) QUALITY. PRODUCTIVITY. INNOVATION.
  • 11. 11 11 The framework approach Page data package ●For functional tests that are using dynamic data ●Handle easy data – once you set the input data, you can check this data anytime in your test ●Reduces the amount of duplicated code ●Use “getters” and setters to handle data ●Each page object should have a page data ●Should respect a naming convention(Ex: LoginData, CreateAccountData) QUALITY. PRODUCTIVITY. INNOVATION.
  • 12. 12 12 The framework approach Tests package ●Unit test style - JUnit, TestNG ●BDD style - JBehave ●Will use classes from base, utility, pages and page data packages ●Allows parametrization(“examples” in JBehave) of the tests => reduce code duplication, increase readability ●Allows tests to be organized in suites ●The main difference between JUnit and TestNG/JBehave is that JUnit is using tests in isolation and TestNG allows to make connections between tests(dependency between tests) QUALITY. PRODUCTIVITY. INNOVATION.
  • 13. 13 13 Reporting for the test execution of automated tests Reporting with Surefire reports ●Can integrate results from JUnit, TestNG, JBehave tests ●Test classes, test methods, pass, failed, skipped(TestNG and JBehave) ●If a test is failed there's a link to the line of source code for the test ●Time for individual test methods, test classes and overall test suite are listed ●Can be integrated with CI tools (Ex: Jenkins) QUALITY. PRODUCTIVITY. INNOVATION.
  • 14. 14 14 Strategies to run tests faster Parallelization of your tests ●Use multi-thread tests ●Tests can be run in parallel: test methods and test classes ●Make sure that the tests that you want to run are independent ●Major advantage - decrease time of running test=> early feedback ●Need to consider - a lot of RAM memory will be used –use of virtual machines on the same machine will not increase the speed of your tests –if you want to use other machines to increase the memory, make sure that the prerequisites to setup is minimum or none(Selenium Grid vs Jenkins) QUALITY. PRODUCTIVITY. INNOVATION.
  • 15. 15 15 Strategies to run tests faster Build test suites wisely ●Different test suites/test packs ●Sanity checks, Smoke tests, Regression tests ●Sanity checks - identify those tests and make a package to check those cases based on the previous experiences ●Schedule tests in cascade – A(pass - go to B, fail – skip all tests), B,C => early feedback in case of failure QUALITY. PRODUCTIVITY. INNOVATION.
  • 16. 16 16 Strategies to run tests faster Use cloud solutions ●Providers: Saucelabs, Browserstack, Testing Bot ●Less of configuration - setup of virtual machines and devices is taking a few seconds ●Browser compatibility ●Run tests on your local computer, on a computer in your LAN, on a server via VPN ●Mobile browsers - test across official iOS and Android mobile emulators. QUALITY. PRODUCTIVITY. INNOVATION.
  • 17. 17 17 Debugging automated tests Common errors ●“Element not found” failure - when an element was not found ●Can appear in any step of a test ●Failure at verification level ●Appears only when the expected and the actual results are different ●Other errors – DB connectivity and browser setup ●Errors that occur when using files QUALITY. PRODUCTIVITY. INNOVATION.
  • 18. 18 18 Debugging automated tests Investigation ●For “Element not found” failure – check the code line in the test to see which is the element that was not found ●Check the page source to see if the element is present (can be done manually, and automatically) ●For verification failures you need only to interpret what caused the failure of the verification ●Adding logs to your steps to see exact data that was used and all the steps performed (LOG4J) ●In case of tests written using BDD style(Given, when, then) you can see the exact step that was failed QUALITY. PRODUCTIVITY. INNOVATION.
  • 19. 19 19 Debugging automated tests Investigation using screenshots ●Different implementation depending of testing framework used ●The screenshots should be saved in a separate directory and the name of them should follow some conventions: ●Name of the test should contain name of the test class concatenated to a timestamp (if you ran multiple times same test, to be able to have all screenshots, not to override the same screen ) ●If it's a crash it's easy to debug the test only by seeing the screenshot ●Only at failure, to avoid checking every screenshot ●Cloud solutions provide videos of your tests QUALITY. PRODUCTIVITY. INNOVATION.
  • 20. 20 Thank you QUALITY. PRODUCTIVITY. INNOVATION. Gabriel Cărăbăț Test Automation Lead/CLD Test Automation Practice Lead gabriel.carabat@endava.com +40 763 982 657 en_gcarabat