• Save
From Functional Test Scripts to Performance Test Scripts for Web Systems
Upcoming SlideShare
Loading in...5
×
 

From Functional Test Scripts to Performance Test Scripts for Web Systems

on

  • 858 views

When modernizing systems the software is migrated from one platform to another. There are big risks concerning the performance the system should have in the new platform. A new system cannot take more ...

When modernizing systems the software is migrated from one platform to another. There are big risks concerning the performance the system should have in the new platform. A new system cannot take more time to perform the same operations than the previous one as the users will refuse it. Therefore, the preventive performance test is crucial to guarantee the success of the modernization project. However, the automation tasks for performance testing are too demanding, in terms of time and effort, as the tools work at a communication protocol level. Though not free, the functional testing automation is easier to accomplish than the performance testing automation as the tools work at a graphic user interface level; the tools are therefore more intuitive and they have to handle less variables and technical issues. In this article we present a tool that we developed for industrial usage to automatically generate performance tests scripts from automated functional tests. The tool has been used in several projects in the industry, achieving important effort savings and improving flexibility.

Statistics

Views

Total Views
858
Views on SlideShare
539
Embed Views
319

Actions

Likes
0
Downloads
0
Comments
0

8 Embeds 319

http://blog.abstracta.com.uy 157
http://www.scoop.it 82
http://jadcode.blogspot.com 30
http://jadcode.blogspot.mx 24
http://jadcode.blogspot.com.es 19
http://jadcode.blogspot.com.ar 4
https://www.google.com.mx 2
http://jadcode.blogspot.pt 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

From Functional Test Scripts to Performance Test Scripts for Web Systems From Functional Test Scripts to Performance Test Scripts for Web Systems Presentation Transcript

  • Agenda• Introduction and background– Functional Testing Automation– Performance Testing Automation– Motivation• Proposal– From functional test scripts to performance testscripts• Related Work• Conclusion and future work
  • Funcional Testing Automation• Record and Playback• User interface level automation• Selenium
  • Just in case you don’t know SeleniumTester / UserSUT: System Under TestManual Test CaseExecution
  • Just in case you don’t know SeleniumFunctionalTest ScriptsSelenium capturesUser InteractionsTester / UserExecutes and reportsSUT: System Under TestManual Test CaseExecution
  • Improved Selenium Scripts
  • Performance Testing Automation• Record and playback, but at a Protocol level• Load generator (OpenSTA)– Simulation of hundreds ofConcurrent Virtual Users fromfew machines– They cannot be simulated withreal Browsers– So, the tool execute processesthat simulate the HTTP traffic
  • How do we capture the traffic?PerformanceTest ScriptsOpenSTA capturesHTTP trafficTester / UserExecutes and reportsSUT: System Under TestHTTP trafficWeb ServerManual Test CaseExecution
  • Performance Test ScriptDepending on theapplication1 line in Selenium isequivalent to 200lines 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 AutomationExecuteAnalyzeFixBetween 30% and 50% inautomation tasks
  • Performance Testing Automation• What’s the problem?• DEMO: record one click with Selenium. Seethe generated HTTP traffic with Fiddler• What do you think is easier? Functional orperformance test scripts?
  • Motivation• Performance testing is too expensive• No flexibility– If the application changes, you need to rebuild thescriptsGoals 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
  • OverviewTester / UserManual Test CaseExecutionFunctionalTest ScriptsSelenium capturesUser InteractionsSystem UnderTest Interface
  • OverviewFunctionalTest ScriptsSystem UnderTestHTTP trafficSniffer HTTPAutomatic Test CaseExecutionHTTP sessionSystem UnderTest Interface
  • OverviewFunctionalTest ScriptsHttp sessionHttp sessionmodelGeneratePerformance TestScriptsGenerate
  • 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 inthe Selenium Script• Any of those actions require more effortworking at a protocol level than in the UI
  • Industrial UseProject SUT # Scripts # VUHuman ResourcesSystemAS400 database, Java Websystem on Websphere14 317ProductionManagementSystemAS400 database, C# Web systemon Internet Information Services5 55CourtsManagementSystemJava Web system on Tomcat withOracle database5 144Auction System Java Web system on Tomcat withMySQL database1 2000Logistics System Java Web system on Weblogicwith Oracle database9 117
  • Model driven development tools• GeneXus (www.genexus.com)– Model driven / code generator• Main difficulties– Small changes in the models, big changes in thegenerated code, big changes at the protocol level– Paradox: if you find problems, changes must bedone, if you make changes, scripts should berebuild. Do not change in order to avoid rework intesting.
  • Results• The effort required with our framework wasreduced 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 thescript from scratch– Our approach: adjust Selenium script, regenerate
  • Related Work• Generation of performance tests (Web Services)– García Domínguez et al.: Performance Test CaseGeneration for Java and WSDL-based WebServices from MARTE. Advances in InternetTechnology. 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 toDecrease Performance and Stress Testing Costs.SEKE 2011.• Generate statically the Selenium scripts to JMeterscripts. 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 toPerformance Test Scripts for Web SystemsMSc. Federico ToledoEng. Matías ReinaEng. Fabián BaptistaPhD. Macario Polo UsaolaPhD. Beatriz Pérez LamanchaGracias / Merci / Thank you for your attention!Questions?