SlideShare a Scribd company logo
1 of 29
Agenda
• Introduction and background
– Functional Testing Automation
– Performance Testing Automation
– Motivation
• Proposal
– From functional test scripts to performance test
scripts
• Related Work
• Conclusion and future work
Funcional Testing Automation
• Record and Playback
• User interface level automation
• Selenium
Just in case you don’t know Selenium
Tester / User
SUT: System Under Test
Manual Test Case
Execution
Just in case you don’t know Selenium
Functional
Test Scripts
Selenium captures
User Interactions
Tester / User
Executes and reports
SUT: System Under Test
Manual Test Case
Execution
Improved Selenium Scripts
Performance Testing Automation
• Record and playback, but at a Protocol level
• Load generator (OpenSTA)
– Simulation of hundreds of
Concurrent Virtual Users from
few machines
– They cannot be simulated with
real Browsers
– So, the tool execute processes
that simulate the HTTP traffic
How do we capture the traffic?
Performance
Test Scripts
OpenSTA captures
HTTP traffic
Tester / User
Executes and reports
SUT: System Under Test
HTTP traffic
Web Server
Manual Test Case
Execution
Performance Test Script
Depending on the
application
1 line in Selenium is
equivalent to 200
lines in OpenSTA
Performance Testing Methodology
• Vázquez, G., Reina, M., Toledo, F., de Uvarow, S., Greisin, E., López, H.:
Metodología de Pruebas de Performance. Presented at the JCC (2008).
Test Design Automation
Execute
AnalyzeFixBetween 30% and 50% in
automation tasks
Performance Testing Automation
• What’s the problem?
• DEMO: record one click with Selenium. See
the generated HTTP traffic with Fiddler
• What do you think is easier? Functional or
performance test scripts?
Motivation
• Performance testing is too expensive
• No flexibility
– If the application changes, you need to rebuild the
scripts
Goals for performance testing automation
• Reduce costs
• Improve flexibility
Why is it important to Modernization
• When do we do performance testing?
– New system into production environment
– Architectural changes
• Windows to Web
– Platform changes
• Operating System
• DBMS
• Web application
– Hardware changes
Overview
Tester / User
Manual Test Case
Execution
Functional
Test Scripts
Selenium captures
User Interactions
System Under
Test Interface
Overview
Functional
Test Scripts
System Under
Test
HTTP traffic
Sniffer HTTP
Automatic Test Case
Execution
HTTP session
System Under
Test Interface
Overview
Functional
Test Scripts
Http session
Http session
model
Generate
Performance Test
Scripts
Generate
Artifacts of the Process
Meta-model
Test code generation
Automatic generation
• Addition of Timers
• Validations as in the Selenium Script
• Modularization as in the Selenium Script
• Parameterizations (data-driven testing) as in
the Selenium Script
• Any of those actions require more effort
working at a protocol level than in the UI
Industrial Use
Project SUT # Scripts # VU
Human Resources
System
AS400 database, Java Web
system on Websphere
14 317
Production
Management
System
AS400 database, C# Web system
on Internet Information Services
5 55
Courts
Management
System
Java Web system on Tomcat with
Oracle database
5 144
Auction System Java Web system on Tomcat with
MySQL database
1 2000
Logistics System Java Web system on Weblogic
with Oracle database
9 117
Model driven development tools
• GeneXus (www.genexus.com)
– Model driven / code generator
• Main difficulties
– Small changes in the models, big changes in the
generated code, big changes at the protocol level
– Paradox: if you find problems, changes must be
done, if you make changes, scripts should be
rebuild. Do not change in order to avoid rework in
testing.
Results
• The effort required with our framework was
reduced more than 5 times
– Traditional approach: 6 to 10 hours per script
– Our approach: 1 to 5 hours per script
• Flexibility
– Maintenance in traditional approach: rebuild the
script from scratch
– Our approach: adjust Selenium script, regenerate
Related Work
• Generation of performance tests (Web Services)
– García Domínguez et al.: Performance Test Case
Generation for Java and WSDL-based Web
Services from MARTE. Advances in Internet
Technology. 2012.
Related Work
• Generation of performance tests (Web Systems)
– Use Selenium scripts for performance testing
• TestMaker (www.pushtotest.com)
• Scaleborn (www.scaleborn.com)
Related Work
• Generation of performance tests (Web Systems)
– De Sousa: Reusing Functional Testing in order to
Decrease Performance and Stress Testing Costs.
SEKE 2011.
• Generate statically the Selenium scripts to JMeter
scripts. They do not consider the http traffic
– Secondary requests
– Java scripts
Conclusions
• Objectives for performance testing
– Improve flexibility
– Reduce costs
• Future work
– Generate for different Load Generators
• Jmeter (jmeter.apache.org)
• Considering different protocols (FTP, SOAP, etc.)
Acknowledgement:
(ftoledo@abstracta.com.uy)
(mreina@abstracta.com.uy)
(fbaptista@abstracta.com.uy)
(macario.polo@uclm.es)
(beatriz.plamancha@uclm.es)
From Functional Test Scripts to
Performance Test Scripts for Web Systems
MSc. Federico Toledo
Eng. Matías Reina
Eng. Fabián Baptista
PhD. Macario Polo Usaola
PhD. Beatriz Pérez Lamancha
Gracias / Merci / Thank you for your attention!
Questions?

More Related Content

What's hot

Build Your Custom Performance Testing Framework
Build Your Custom Performance Testing FrameworkBuild Your Custom Performance Testing Framework
Build Your Custom Performance Testing FrameworkTechWell
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Red Gate Software
 
Brightcove presentation on Automated Testing
Brightcove presentation on Automated TestingBrightcove presentation on Automated Testing
Brightcove presentation on Automated TestingMassTLC
 
Testing Web Services - QA or the Highway 2016
Testing Web Services - QA or the Highway 2016Testing Web Services - QA or the Highway 2016
Testing Web Services - QA or the Highway 2016Steinn 'Stan' Jónsson
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingparamadeep
 
Acquia presented at MassTLC event on automated testing
Acquia presented at MassTLC event on automated testingAcquia presented at MassTLC event on automated testing
Acquia presented at MassTLC event on automated testingMassTLC
 
Continuous Delivery without Significant Test Automation
Continuous Delivery without Significant Test AutomationContinuous Delivery without Significant Test Automation
Continuous Delivery without Significant Test AutomationMaaret Pyhäjärvi
 
Using The Right Tool For The Job
Using The Right Tool For The JobUsing The Right Tool For The Job
Using The Right Tool For The JobChris Baldock
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangRed Gate Software
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting startedQualitest
 
Using JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous TestingUsing JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous TestingJennifer Finney
 
Fast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCFast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCAnkit Kashyap
 
RedTree OpenCMS 8
RedTree OpenCMS 8RedTree OpenCMS 8
RedTree OpenCMS 8RedTreeECM
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance TestingAntonio Hernandez
 
AlwaysOn Availability Group Job Management
AlwaysOn Availability Group Job ManagementAlwaysOn Availability Group Job Management
AlwaysOn Availability Group Job ManagementKen Wilson
 

What's hot (20)

Build Your Custom Performance Testing Framework
Build Your Custom Performance Testing FrameworkBuild Your Custom Performance Testing Framework
Build Your Custom Performance Testing Framework
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
 
Brightcove presentation on Automated Testing
Brightcove presentation on Automated TestingBrightcove presentation on Automated Testing
Brightcove presentation on Automated Testing
 
Mobile Testing
Mobile TestingMobile Testing
Mobile Testing
 
Test eng-meetup-taki take
Test eng-meetup-taki takeTest eng-meetup-taki take
Test eng-meetup-taki take
 
Testing Web Services - QA or the Highway 2016
Testing Web Services - QA or the Highway 2016Testing Web Services - QA or the Highway 2016
Testing Web Services - QA or the Highway 2016
 
Test driven
Test drivenTest driven
Test driven
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Acquia presented at MassTLC event on automated testing
Acquia presented at MassTLC event on automated testingAcquia presented at MassTLC event on automated testing
Acquia presented at MassTLC event on automated testing
 
Selenium
SeleniumSelenium
Selenium
 
Continuous Delivery without Significant Test Automation
Continuous Delivery without Significant Test AutomationContinuous Delivery without Significant Test Automation
Continuous Delivery without Significant Test Automation
 
Using The Right Tool For The Job
Using The Right Tool For The JobUsing The Right Tool For The Job
Using The Right Tool For The Job
 
Database Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest HwangDatabase Build and Release - SQL In The City - Ernest Hwang
Database Build and Release - SQL In The City - Ernest Hwang
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
Using JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous TestingUsing JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous Testing
 
Testing
TestingTesting
Testing
 
Fast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCFast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVC
 
RedTree OpenCMS 8
RedTree OpenCMS 8RedTree OpenCMS 8
RedTree OpenCMS 8
 
Automated Performance Testing
Automated Performance TestingAutomated Performance Testing
Automated Performance Testing
 
AlwaysOn Availability Group Job Management
AlwaysOn Availability Group Job ManagementAlwaysOn Availability Group Job Management
AlwaysOn Availability Group Job Management
 

Viewers also liked

Proposal Automation of An Enrollment Process
Proposal Automation of An Enrollment ProcessProposal Automation of An Enrollment Process
Proposal Automation of An Enrollment ProcessDeborah Obasogie
 
Proposal Version 5
Proposal  Version 5Proposal  Version 5
Proposal Version 5Mark Forster
 
[SIP 2015] QA Intern: Test Automation
[SIP 2015] QA Intern: Test Automation[SIP 2015] QA Intern: Test Automation
[SIP 2015] QA Intern: Test AutomationSilicon Straits
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testingpooja deshmukh
 
Develop skills in functional and non functional testing
Develop skills in functional and non functional testingDevelop skills in functional and non functional testing
Develop skills in functional and non functional testingMaveric Systems
 
Non functional testing
Non functional testingNon functional testing
Non functional testingVaibhav Dash
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanSampath kumar Mohan
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach Iosif Itkin
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Assaf Halperin
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional TestingNishant Worah
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testingKanoah
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planningSivaprasanthRentala1975
 

Viewers also liked (13)

Proposal Automation of An Enrollment Process
Proposal Automation of An Enrollment ProcessProposal Automation of An Enrollment Process
Proposal Automation of An Enrollment Process
 
Proposal Version 5
Proposal  Version 5Proposal  Version 5
Proposal Version 5
 
[SIP 2015] QA Intern: Test Automation
[SIP 2015] QA Intern: Test Automation[SIP 2015] QA Intern: Test Automation
[SIP 2015] QA Intern: Test Automation
 
Non Functional Test Management
Non Functional Test ManagementNon Functional Test Management
Non Functional Test Management
 
Difference between functional testing and non functional testing
Difference between functional testing and non functional testingDifference between functional testing and non functional testing
Difference between functional testing and non functional testing
 
Develop skills in functional and non functional testing
Develop skills in functional and non functional testingDevelop skills in functional and non functional testing
Develop skills in functional and non functional testing
 
Non functional testing
Non functional testingNon functional testing
Non functional testing
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar Mohan
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach
 
Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview Non-functional Testing (NFT) Overview
Non-functional Testing (NFT) Overview
 
Non Functional Testing
Non Functional TestingNon Functional Testing
Non Functional Testing
 
Non-Functional testing
Non-Functional testingNon-Functional testing
Non-Functional testing
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 

Similar to ENASE 2013 - SEM - (Francia) From Functional Test Scripts to Performance Test Scripts for Web Systems

Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testingsthicks14
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalQA or the Highway
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...DevDay.org
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
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 UltimateAbhimanyu Singhal
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testingrdekleijn
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation FrameworkAgile Testing Alliance
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfMinh Quân Đoàn
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010TEST Huddle
 

Similar to ENASE 2013 - SEM - (Francia) From Functional Test Scripts to Performance Test Scripts for Web Systems (20)

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Netserv Software Testing
Netserv Software TestingNetserv Software Testing
Netserv Software Testing
 
Abhilash Alwandi resume
Abhilash Alwandi resumeAbhilash Alwandi resume
Abhilash Alwandi resume
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
Abhilash Alwandi_Resume
Abhilash Alwandi_ResumeAbhilash Alwandi_Resume
Abhilash Alwandi_Resume
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
[DevDay2019] Power of Test Automation and DevOps combination - One click savi...
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
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
 
JMeter
JMeterJMeter
JMeter
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testing
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework#ATAGTR2020 Presentation - Universal Test Automation Framework
#ATAGTR2020 Presentation - Universal Test Automation Framework
 
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdfLesson_06_Software_and_Automation_Testing_Frameworks.pdf
Lesson_06_Software_and_Automation_Testing_Frameworks.pdf
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 

More from Federico Toledo

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en LatinoaméricaFederico Toledo
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfFederico Toledo
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...Federico Toledo
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfFederico Toledo
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesFederico Toledo
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?Federico Toledo
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the artFederico Toledo
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?Federico Toledo
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyFederico Toledo
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingFederico Toledo
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroFederico Toledo
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Federico Toledo
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Federico Toledo
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?Federico Toledo
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testingFederico Toledo
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIteFederico Toledo
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceFederico Toledo
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingFederico Toledo
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileFederico Toledo
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryFederico Toledo
 

More from Federico Toledo (20)

Pasado, presente y futuro del testing en Latinoamérica
Pasado, presente y futuro del testing en  LatinoaméricaPasado, presente y futuro del testing en  Latinoamérica
Pasado, presente y futuro del testing en Latinoamérica
 
Probando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdfProbando aplicaciones basadas en LLMs.pdf
Probando aplicaciones basadas en LLMs.pdf
 
QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...QA or the Highway - Extra-functional testing, improve how you observe the sys...
QA or the Highway - Extra-functional testing, improve how you observe the sys...
 
Invitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdfInvitación a sponsors - Quality Sense Conf 23.pdf
Invitación a sponsors - Quality Sense Conf 23.pdf
 
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionalesPruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
Pruebas extra-funcionales, más observabilidad durante tus pruebas funcionales
 
How do you help motivate testers?
How do you help motivate testers?How do you help motivate testers?
How do you help motivate testers?
 
Low code for test automation, state of the art
Low code for test automation, state of the artLow code for test automation, state of the art
Low code for test automation, state of the art
 
¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?¿Qué hacer ante la falta de personal calificado en IT?
¿Qué hacer ante la falta de personal calificado en IT?
 
TSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategyTSQA - Improving test automation code and strategy
TSQA - Improving test automation code and strategy
 
Comunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en TestingComunicación Segura y Efectiva en Testing
Comunicación Segura y Efectiva en Testing
 
Testing Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde ceroTesting Day Bolivia - Formar testers desde cero
Testing Day Bolivia - Formar testers desde cero
 
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021Low Code Test Automation - Jornadas de Ingeniería de Software 2021
Low Code Test Automation - Jornadas de Ingeniería de Software 2021
 
Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021Los errores del 2020 - Argentesting 2021
Los errores del 2020 - Argentesting 2021
 
¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?¿Cómo mejorar la calidad de tu automatización?
¿Cómo mejorar la calidad de tu automatización?
 
Shift left and shift right performance testing
Shift left and shift right performance testingShift left and shift right performance testing
Shift left and shift right performance testing
 
Ask me anything - ReconverTIte
Ask me anything - ReconverTIteAsk me anything - ReconverTIte
Ask me anything - ReconverTIte
 
Webinar: Migrar el testing a open source
Webinar: Migrar el testing a open sourceWebinar: Migrar el testing a open source
Webinar: Migrar el testing a open source
 
Webinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testingWebinar: Estrategias para optimizar los costos de testing
Webinar: Estrategias para optimizar los costos de testing
 
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en ChileCómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
Cómo revisar tu estrategia de pruebas? Meetup de QA & Testing en Chile
 
Neotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous DeliveryNeotys PAC - Adding Performance Verifications in Continuous Delivery
Neotys PAC - Adding Performance Verifications in Continuous Delivery
 

Recently uploaded

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Recently uploaded (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

ENASE 2013 - SEM - (Francia) From Functional Test Scripts to Performance Test Scripts for Web Systems

  • 1.
  • 2.
  • 3. Agenda • Introduction and background – Functional Testing Automation – Performance Testing Automation – Motivation • Proposal – From functional test scripts to performance test scripts • Related Work • Conclusion and future work
  • 4. Funcional Testing Automation • Record and Playback • User interface level automation • Selenium
  • 5. Just in case you don’t know Selenium Tester / User SUT: System Under Test Manual Test Case Execution
  • 6. Just in case you don’t know Selenium Functional Test Scripts Selenium captures User Interactions Tester / User Executes and reports SUT: System Under Test Manual Test Case Execution
  • 8. Performance Testing Automation • Record and playback, but at a Protocol level • Load generator (OpenSTA) – Simulation of hundreds of Concurrent Virtual Users from few machines – They cannot be simulated with real Browsers – So, the tool execute processes that simulate the HTTP traffic
  • 9. How do we capture the traffic? Performance Test Scripts OpenSTA captures HTTP traffic Tester / User Executes and reports SUT: System Under Test HTTP traffic Web Server Manual Test Case Execution
  • 10. Performance Test Script Depending on the application 1 line in Selenium is equivalent to 200 lines in OpenSTA
  • 11. Performance Testing Methodology • Vázquez, G., Reina, M., Toledo, F., de Uvarow, S., Greisin, E., López, H.: Metodología de Pruebas de Performance. Presented at the JCC (2008). Test Design Automation Execute AnalyzeFixBetween 30% and 50% in automation tasks
  • 12. Performance Testing Automation • What’s the problem? • DEMO: record one click with Selenium. See the generated HTTP traffic with Fiddler • What do you think is easier? Functional or performance test scripts?
  • 13. Motivation • Performance testing is too expensive • No flexibility – If the application changes, you need to rebuild the scripts Goals for performance testing automation • Reduce costs • Improve flexibility
  • 14. Why is it important to Modernization • When do we do performance testing? – New system into production environment – Architectural changes • Windows to Web – Platform changes • Operating System • DBMS • Web application – Hardware changes
  • 15. Overview Tester / User Manual Test Case Execution Functional Test Scripts Selenium captures User Interactions System Under Test Interface
  • 16. Overview Functional Test Scripts System Under Test HTTP traffic Sniffer HTTP Automatic Test Case Execution HTTP session System Under Test Interface
  • 17. Overview Functional Test Scripts Http session Http session model Generate Performance Test Scripts Generate
  • 18. Artifacts of the Process
  • 21. Automatic generation • Addition of Timers • Validations as in the Selenium Script • Modularization as in the Selenium Script • Parameterizations (data-driven testing) as in the Selenium Script • Any of those actions require more effort working at a protocol level than in the UI
  • 22. Industrial Use Project SUT # Scripts # VU Human Resources System AS400 database, Java Web system on Websphere 14 317 Production Management System AS400 database, C# Web system on Internet Information Services 5 55 Courts Management System Java Web system on Tomcat with Oracle database 5 144 Auction System Java Web system on Tomcat with MySQL database 1 2000 Logistics System Java Web system on Weblogic with Oracle database 9 117
  • 23. Model driven development tools • GeneXus (www.genexus.com) – Model driven / code generator • Main difficulties – Small changes in the models, big changes in the generated code, big changes at the protocol level – Paradox: if you find problems, changes must be done, if you make changes, scripts should be rebuild. Do not change in order to avoid rework in testing.
  • 24. Results • The effort required with our framework was reduced more than 5 times – Traditional approach: 6 to 10 hours per script – Our approach: 1 to 5 hours per script • Flexibility – Maintenance in traditional approach: rebuild the script from scratch – Our approach: adjust Selenium script, regenerate
  • 25. Related Work • Generation of performance tests (Web Services) – García Domínguez et al.: Performance Test Case Generation for Java and WSDL-based Web Services from MARTE. Advances in Internet Technology. 2012.
  • 26. Related Work • Generation of performance tests (Web Systems) – Use Selenium scripts for performance testing • TestMaker (www.pushtotest.com) • Scaleborn (www.scaleborn.com)
  • 27. Related Work • Generation of performance tests (Web Systems) – De Sousa: Reusing Functional Testing in order to Decrease Performance and Stress Testing Costs. SEKE 2011. • Generate statically the Selenium scripts to JMeter scripts. They do not consider the http traffic – Secondary requests – Java scripts
  • 28. Conclusions • Objectives for performance testing – Improve flexibility – Reduce costs • Future work – Generate for different Load Generators • Jmeter (jmeter.apache.org) • Considering different protocols (FTP, SOAP, etc.)
  • 29. Acknowledgement: (ftoledo@abstracta.com.uy) (mreina@abstracta.com.uy) (fbaptista@abstracta.com.uy) (macario.polo@uclm.es) (beatriz.plamancha@uclm.es) From Functional Test Scripts to Performance Test Scripts for Web Systems MSc. Federico Toledo Eng. Matías Reina Eng. Fabián Baptista PhD. Macario Polo Usaola PhD. Beatriz Pérez Lamancha Gracias / Merci / Thank you for your attention! Questions?