SlideShare a Scribd company logo
1 of 28
Download to read offline
Functional API automation
with JMeter (real case)
by Mykola Kovsh
Speaker info
Hi, I’m Mykola Kovsh
Performance Test Engineer
Performance Testing Department at
Testing Center of Excellence,
Ciklum, Ukraine
• 4 years in IT
• Performance / Automation / Manual testing
www.linkedin.com/in/mykolakovsh/
Plan
1. Testing Product Description
2. Our Problem
3. JMeter as a Solution
4. Continuous Integration with JMeter. Reporting
5. Demo
6. Our Results
7. Conclusions
8. Useful Links
Questions
Testing Product Description
Client: Mobile / Facebook web sport betting application
Server: Amazon cloud-based application, REST API based
Technology stack: Java, Cassandra DB, Unity 3D
Product is in active development for near 3 years
A lot of parsing and integration logic with 3rd-party data providers
Frequent releases driven by business needs (startup)
Our Problem
 We should run full regression REST API functional tests each
release
 Manual runs took 4-5 days for 2 QAs what did not satisfy business
 No QA automation specialist on the project, but we use JMeter for
performance testing and have expertise in it
 A lot of GUI/usability testing in addition to functional
 To sum up: often we did not have time for full functional regression
testing before release what resulted in bugs and frequent hotfixes
on Production
Solution 1: Postman
Good as supplementary tool for manual testing
CI integration
Reports converting to HTML file
Team work option but NOT FREE
In case of tricky parametrization and custom
logic, some tool’s issues could influence auto
tests runs
JavaScript basic knowledge is required
Hard to maintain when a lot of test-cases
No ability of parallel runs
Reports are not very comprehensive
Solution 2: JMeter. Why for API?
Free tool with large community and support
GUI based - fast learning
Customization - through JMeter API and using scripting languages
Ability to reuse functional tests for load purposes
Ability to reuse GUI modules in different tests
Assertions - allow you to "test" whether your application returns the results you expect it to
Parallel test runs
CI integration
Comprehensive HTML reports
Basic knowledge of some scripting language and regular expressions is required
Hard to maintain on large projects
Version control: only JMX files could be tracked
JMeter: Functional Tests Creation
1. Thread Group (user) -> Test set/Test suite
2. Logic Controllers:
a) Transaction Controller -> Test suite/Test case
b) Loop/While/ForEach Controller
c) If Controller etc.
3. Samplers -> Requests (HTTP(s), TCP, SOAP, etc.)
4. Assertions -> Test your response/Customize/Parametrize
5. Timers
6. Configuration elements
1
2
3
4
5
6
JMeter: Customize/Parametrize/Test
Assertion types:
JSR223 Assertion
Response Assertion
Duration Assertion
Size Assertion
XML Assertion
BeanShell Assertion
MD5Hex Assertion
HTML Assertion
XPath Assertion
XML Schema Assertion
Compare Assertion, etc.
Reusable/Modular Scripts Approach
To make functional testing scripts
easy maintainable and reusable
use next JMeter elements:
Test Fragment
Simple / Transaction Controller
Module Controller
Parameterized Controller
Include Controller
Data + Keyword Driven Approach
To separate test scripts from test
cases design use next JMeter
elements:
Test Fragment
Switch Controller
Simple / Transaction Controller
Module Controller
ForEach Controller
CSV Data Set Config
JMeter: Continuous Integration
Process and tools:
1. JMeter: functional testing scripts
2. ANT build tool: converts results from JTL output files into HTML
reports
- ANT parses JTL logs using XSLT stylesheet file
3. Bamboo CI tool
Development Source Control Build Unit/Integration Testing Functional Testing Report
JMeter CI: Approaches
ANT standalone – all steps are
executed in ANT build.xml file,
using 1 Bamboo Task:
• Run JMeter tests
• Convert JTL logs to HTML
report
• Verify test results and pass/fail
build
PowerShell + ANT combination
– 3 Bamboo tasks:
• Task 1 Script: run JMeter
tests
• Task 2 ANT: convert JTL log
to HTML report
• Task 3 Script: verify results
and pass/fail build
CI 2nd Approach: Project Structure
Bamboo Task 1: Tests Running
del Jmeter_ci_with_antresultstest_report.html
del Jmeter_ci_with_antresultsresultlog.jtl
${bamboo.JMETER_HOME}binjmeter.bat -n -t Jmeter_ci_with_antJmeter_test_plan.jmx -l
Jmeter_ci_with_antresultsresultlog.jtl -q Jmeter_ci_with_antci_jmeter.properties
Bamboo Task 2: HTML Reporting
Bamboo Task 2: ANT Build File
After tests executed, generate
HTML report using build_report.xml
file (default name build.xml)
We have 3 <target> here:
• report - log process
• xslt-report – convert using
XSLT file
• copy_report – move reports to
separate folder to keep history
HTML: XSLT Stylesheet File Update
Our Improvements:
• Statistics by test suites (threads) and request
• Expand/Collapse test suits option
• Show only failed transactions filter
before after
*Origin: http://shanhe.me/node/18/314
*Updated XSLT:
https://drive.google.com/file/d/0B4SCa_HZT_OOQnoyQjc1TGw0a0E/view?usp=sharing
HTML Reporting: Investigate Issue
HTML Reporting: Limitation
In case different Thread Groups run under the same Test Plan, they are not separated in report
To deal with it, we suggest:
1) Run Thread Groups consequently. It can take some time, if there are a lot of cases
2) or Separate Test Plans (JMX files) by some logic and run them simultaneously
Bamboo Task 3: Verify results
Recommendations
1) Apply decomposition for faster tests runs:
- One functional area - One separate Test Plan
- Decompose tests runs by jobs in CI tool (Bamboo, Jenkins)
2) Run smoke functional test and, if success, make it trigger full coverage testing run
3) Use Modular approach to create maintainable/reusable scripts
4) Team work: use Include Controllers to run scripts created by each member
5) Use JSR223 Assertion element to customize/parametrize/test your custom logic in flexible way
6) Use User Defined Variables element to create and fast switch between Test/Stage/Prod hosts
7) Share your scripts with developers to debug current and new features
8) Use JMeter scripts for Load testing, if needed
Disadvantages
 Inappropriate for large projects/teams
 Hard to maintain scripts, if there are lot of them
 Scripts version control is absent
 Not very convenient for QA team use (if more than 1-2 QA specialists)
 You still need time to learn some scripting language (and regexp) to
create comprehensive scripts with JMeter
Our Results
For 5 months ~200 (30%) of API functional high priority test cases were automated
~100 regression and ~80 new features bugs found
Functional API regression testing period shortened from 5 to 2 days
QA team has more time to focus on GUI and cross-platform testing
Overall quality of the application was improved and more stable builds released
to Prod
Conclusions
Involve automation QA engineer(s) to implement automation testing on
the project within high standards (Python/Java/etc. frameworks)
IF Your team/project is relatively small (near 5-8 members) and limited
time for full regression runs, to improve product quality you can:
• use JMeter automation testing as complement to manual testing
• automate high priority API test cases to verify main product
functionality - smoke and short acceptance testing
• automate new features testing
• integrate JMeter API testing into product CI pipeline
ELSE
Useful Links
• Functional Testing with JMeter: https://www.packtpub.com/books/content/functional-testing-jmeter
• JMeter как относительно удобное и практичное средство для тестирования API:
https://habrahabr.ru/post/243097/
• Test cloud-based applications with Apache JMeter: https://www.ibm.com/developerworks/cloud/library/cl-jmeter-
restful/#listing3
• JMeter – Continuous Performance Testing – JMeter + ANT + Jenkins Integration – Part 1 and 2:
http://www.testautomationguru.com/jmeter-continuous-performance-testing-part1/
• JMeter – Creating Modular / Reusable Test Scripts: http://www.testautomationguru.com/jmeter-modularizing-
test-scripts/
• JMeter – How to create a Data + Keyword Driven Framework for Performance Testing:
http://www.testautomationguru.com/jmeter-how-to-create-a-data-keyword-driven-framework-for-performance-
testing/
• How to Use JMeter Assertions in Three Easy Steps: https://www.blazemeter.com/blog/how-use-jmeter-
assertions-3-easy-steps
• A collection of resources covering different aspects of JMeter usage: https://github.com/aliesbelik/awesome-
jmeter
Questions
5 minutes.
You can also ask questions for me in the lounge zone

More Related Content

What's hot

Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester CertificationVskills
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeterlethibichhoa
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeterMikael Kundert
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introMykola Kovsh
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
Introduction to jmeter & how to view jmeter Test Result in Real-Time
Introduction to jmeter & how to view jmeter Test Result in Real-TimeIntroduction to jmeter & how to view jmeter Test Result in Real-Time
Introduction to jmeter & how to view jmeter Test Result in Real-TimeBugRaptors
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionRuslan Strazhnyk
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd SessionTharinda Liyanage
 
Day1 JMeter_training_overview
Day1 JMeter_training_overviewDay1 JMeter_training_overview
Day1 JMeter_training_overviewSravanthiN
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webappAmit Solanki
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on JmeterViviana Lesmes
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeterGalih Lasahido
 
How we can measure server performance using jmeter?
How we can measure server performance using jmeter?How we can measure server performance using jmeter?
How we can measure server performance using jmeter?BugRaptors
 
JMeter Post-Processors
JMeter Post-ProcessorsJMeter Post-Processors
JMeter Post-ProcessorsLoadium
 
Apache Jmeter 3.2 Performance & Load Testing 2017
Apache Jmeter 3.2 Performance & Load Testing 2017Apache Jmeter 3.2 Performance & Load Testing 2017
Apache Jmeter 3.2 Performance & Load Testing 2017Shay Ginsbourg
 

What's hot (20)

Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester Certification
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
Performance testing with JMeter
Performance testing with JMeterPerformance testing with JMeter
Performance testing with JMeter
 
Performance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter introPerformance Testing from Scratch + JMeter intro
Performance Testing from Scratch + JMeter intro
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Introduction to jmeter & how to view jmeter Test Result in Real-Time
Introduction to jmeter & how to view jmeter Test Result in Real-TimeIntroduction to jmeter & how to view jmeter Test Result in Real-Time
Introduction to jmeter & how to view jmeter Test Result in Real-Time
 
Using Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solutionUsing Jenkins and Jmeter to build a scalable Load Testing solution
Using Jenkins and Jmeter to build a scalable Load Testing solution
 
Automation Testing with JMeter
Automation Testing with JMeterAutomation Testing with JMeter
Automation Testing with JMeter
 
Load testing with J meter
Load testing with J meterLoad testing with J meter
Load testing with J meter
 
"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session"Introduction to JMeter" @ CPTM 3rd Session
"Introduction to JMeter" @ CPTM 3rd Session
 
Day1 JMeter_training_overview
Day1 JMeter_training_overviewDay1 JMeter_training_overview
Day1 JMeter_training_overview
 
JMeter_ Cubet Seminar ppt
JMeter_ Cubet Seminar pptJMeter_ Cubet Seminar ppt
JMeter_ Cubet Seminar ppt
 
JMeter - Performance testing your webapp
JMeter - Performance testing your webappJMeter - Performance testing your webapp
JMeter - Performance testing your webapp
 
Elments Used on Jmeter
Elments Used on JmeterElments Used on Jmeter
Elments Used on Jmeter
 
Introduction to JMeter
Introduction to JMeterIntroduction to JMeter
Introduction to JMeter
 
How we can measure server performance using jmeter?
How we can measure server performance using jmeter?How we can measure server performance using jmeter?
How we can measure server performance using jmeter?
 
JMeter Post-Processors
JMeter Post-ProcessorsJMeter Post-Processors
JMeter Post-Processors
 
Apache jMeter
Apache jMeterApache jMeter
Apache jMeter
 
Apache Jmeter 3.2 Performance & Load Testing 2017
Apache Jmeter 3.2 Performance & Load Testing 2017Apache Jmeter 3.2 Performance & Load Testing 2017
Apache Jmeter 3.2 Performance & Load Testing 2017
 

Viewers also liked

Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketchIT Weekend
 
Web services automation workshop sreedhar dakshinamurthy
Web services automation workshop   sreedhar dakshinamurthyWeb services automation workshop   sreedhar dakshinamurthy
Web services automation workshop sreedhar dakshinamurthyvodQA
 
Pugazhvanan_Ganapathy_Web_Services_Test_Automation
Pugazhvanan_Ganapathy_Web_Services_Test_AutomationPugazhvanan_Ganapathy_Web_Services_Test_Automation
Pugazhvanan_Ganapathy_Web_Services_Test_AutomationPugazhvanan Ganapathy
 
Major Incident Management Trends: 2016 Survey Report
Major Incident Management Trends: 2016 Survey ReportMajor Incident Management Trends: 2016 Survey Report
Major Incident Management Trends: 2016 Survey ReportxMatters Inc
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 
Automation anywhere Training Materials
Automation anywhere Training MaterialsAutomation anywhere Training Materials
Automation anywhere Training MaterialsShekar S
 
Designing REST API automation tests in Kotlin
Designing REST API automation tests in KotlinDesigning REST API automation tests in Kotlin
Designing REST API automation tests in KotlinDmitriy Sobko
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolSperasoft
 

Viewers also liked (8)

Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketch
 
Web services automation workshop sreedhar dakshinamurthy
Web services automation workshop   sreedhar dakshinamurthyWeb services automation workshop   sreedhar dakshinamurthy
Web services automation workshop sreedhar dakshinamurthy
 
Pugazhvanan_Ganapathy_Web_Services_Test_Automation
Pugazhvanan_Ganapathy_Web_Services_Test_AutomationPugazhvanan_Ganapathy_Web_Services_Test_Automation
Pugazhvanan_Ganapathy_Web_Services_Test_Automation
 
Major Incident Management Trends: 2016 Survey Report
Major Incident Management Trends: 2016 Survey ReportMajor Incident Management Trends: 2016 Survey Report
Major Incident Management Trends: 2016 Survey Report
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Automation anywhere Training Materials
Automation anywhere Training MaterialsAutomation anywhere Training Materials
Automation anywhere Training Materials
 
Designing REST API automation tests in Kotlin
Designing REST API automation tests in KotlinDesigning REST API automation tests in Kotlin
Designing REST API automation tests in Kotlin
 
Web Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI ToolWeb Services Automated Testing via SoapUI Tool
Web Services Automated Testing via SoapUI Tool
 

Similar to Mykola Kovsh - Functional API automation with Jmeter

Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven TestingHarish MS
 
Qa case study
Qa case studyQa case study
Qa case studyhopperdev
 
Automation testing
Automation testingAutomation testing
Automation testingTomy Rhymond
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Nitish Bhardwaj
 
Test case management
Test case managementTest case management
Test case managementAshari Juang
 
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 SolutionsQuontra Solutions
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Qtp questions and answers
Qtp questions and answersQtp questions and answers
Qtp questions and answersRamu Palanki
 
WiKi Based Automation Testing: Fitness & DevOps
WiKi Based Automation Testing: Fitness & DevOpsWiKi Based Automation Testing: Fitness & DevOps
WiKi Based Automation Testing: Fitness & DevOpsAgile Testing Alliance
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter Shub
 
Marathon Testing Tool
Marathon Testing ToolMarathon Testing Tool
Marathon Testing Toolnarayan dudhe
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияAlex
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceBartosz Górski
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceBartosz Górski
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...QueBIT Consulting
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIsJason Weden
 

Similar to Mykola Kovsh - Functional API automation with Jmeter (20)

Keyword Driven Testing
Keyword Driven TestingKeyword Driven Testing
Keyword Driven Testing
 
Qa case study
Qa case studyQa case study
Qa case study
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
 
Test case management
Test case managementTest case management
Test case management
 
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
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Hot sos em12c_metric_extensions
Hot sos em12c_metric_extensionsHot sos em12c_metric_extensions
Hot sos em12c_metric_extensions
 
Qtp questions and answers
Qtp questions and answersQtp questions and answers
Qtp questions and answers
 
WiKi Based Automation Testing: Fitness & DevOps
WiKi Based Automation Testing: Fitness & DevOpsWiKi Based Automation Testing: Fitness & DevOps
WiKi Based Automation Testing: Fitness & DevOps
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
 
Marathon Testing Tool
Marathon Testing ToolMarathon Testing Tool
Marathon Testing Tool
 
Qtp basics
Qtp basicsQtp basics
Qtp basics
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe Commerce
 
Introduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe CommerceIntroduction to Integration Tests in Magento / Adobe Commerce
Introduction to Integration Tests in Magento / Adobe Commerce
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Shalini Sharma Resume
Shalini Sharma ResumeShalini Sharma Resume
Shalini Sharma Resume
 
Performance Testing REST APIs
Performance Testing REST APIsPerformance Testing REST APIs
Performance Testing REST APIs
 

More from Ievgenii Katsan

8 andrew kalyuzhin - 30 ux-advices, that will make users love you
8   andrew kalyuzhin - 30 ux-advices, that will make users love you8   andrew kalyuzhin - 30 ux-advices, that will make users love you
8 andrew kalyuzhin - 30 ux-advices, that will make users love youIevgenii Katsan
 
5 hans van loenhoud - master-class the 7 skills of highly successful teams
5   hans van loenhoud - master-class the 7 skills of highly successful teams5   hans van loenhoud - master-class the 7 skills of highly successful teams
5 hans van loenhoud - master-class the 7 skills of highly successful teamsIevgenii Katsan
 
4 alexey orlov - life of product in startup and enterprise
4   alexey orlov - life of product in startup and enterprise4   alexey orlov - life of product in startup and enterprise
4 alexey orlov - life of product in startup and enterpriseIevgenii Katsan
 
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
3   dmitry gomeniuk - how to make data-driven decisions in saa s products3   dmitry gomeniuk - how to make data-driven decisions in saa s products
3 dmitry gomeniuk - how to make data-driven decisions in saa s productsIevgenii Katsan
 
7 hans van loenhoud - the problem-goal-solution trinity
7   hans van loenhoud - the problem-goal-solution trinity7   hans van loenhoud - the problem-goal-solution trinity
7 hans van loenhoud - the problem-goal-solution trinityIevgenii Katsan
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...Ievgenii Katsan
 
5 victoria cupet - learn to play business analysis
5   victoria cupet - learn to play business analysis5   victoria cupet - learn to play business analysis
5 victoria cupet - learn to play business analysisIevgenii Katsan
 
5 alina petrenko - key requirements elicitation during the first contact wi...
5   alina petrenko - key requirements elicitation during the first contact wi...5   alina petrenko - key requirements elicitation during the first contact wi...
5 alina petrenko - key requirements elicitation during the first contact wi...Ievgenii Katsan
 
3 karabak kuyavets transformation of business analyst to product owner
3   karabak kuyavets transformation of business analyst to product owner3   karabak kuyavets transformation of business analyst to product owner
3 karabak kuyavets transformation of business analyst to product ownerIevgenii Katsan
 
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...
4   andrii melnykov - stakeholder management for pd ms and b-as and why it is...4   andrii melnykov - stakeholder management for pd ms and b-as and why it is...
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...Ievgenii Katsan
 
3 zornitsa nikolova - the product manager between decision making and facil...
3   zornitsa nikolova - the product manager between decision making and facil...3   zornitsa nikolova - the product manager between decision making and facil...
3 zornitsa nikolova - the product manager between decision making and facil...Ievgenii Katsan
 
4 viktoriya gudym - how to effectively manage remote employees
4   viktoriya gudym - how to effectively manage remote employees4   viktoriya gudym - how to effectively manage remote employees
4 viktoriya gudym - how to effectively manage remote employeesIevgenii Katsan
 
9 natali renska - product and outsource development, how to cook 2 meals in...
9   natali renska - product and outsource development, how to cook 2 meals in...9   natali renska - product and outsource development, how to cook 2 meals in...
9 natali renska - product and outsource development, how to cook 2 meals in...Ievgenii Katsan
 
7 denis parkhomenko - from idea to execution how to make a product that cus...
7   denis parkhomenko - from idea to execution how to make a product that cus...7   denis parkhomenko - from idea to execution how to make a product that cus...
7 denis parkhomenko - from idea to execution how to make a product that cus...Ievgenii Katsan
 
6 anton vitiaz - inside the mvp in 3 days
6   anton vitiaz - inside the mvp in 3 days6   anton vitiaz - inside the mvp in 3 days
6 anton vitiaz - inside the mvp in 3 daysIevgenii Katsan
 
5 mariya popova - ideal product management. unicorns in our reality
5   mariya popova - ideal product management. unicorns in our reality5   mariya popova - ideal product management. unicorns in our reality
5 mariya popova - ideal product management. unicorns in our realityIevgenii Katsan
 
2 victor podzubanov - design thinking game
2   victor podzubanov - design thinking game2   victor podzubanov - design thinking game
2 victor podzubanov - design thinking gameIevgenii Katsan
 
3 sergiy potapov - analyst to product owner
3   sergiy potapov - analyst to product owner3   sergiy potapov - analyst to product owner
3 sergiy potapov - analyst to product ownerIevgenii Katsan
 
4 anton parkhomenko - how to make effective user research with no budget at...
4   anton parkhomenko - how to make effective user research with no budget at...4   anton parkhomenko - how to make effective user research with no budget at...
4 anton parkhomenko - how to make effective user research with no budget at...Ievgenii Katsan
 

More from Ievgenii Katsan (20)

8 andrew kalyuzhin - 30 ux-advices, that will make users love you
8   andrew kalyuzhin - 30 ux-advices, that will make users love you8   andrew kalyuzhin - 30 ux-advices, that will make users love you
8 andrew kalyuzhin - 30 ux-advices, that will make users love you
 
5 hans van loenhoud - master-class the 7 skills of highly successful teams
5   hans van loenhoud - master-class the 7 skills of highly successful teams5   hans van loenhoud - master-class the 7 skills of highly successful teams
5 hans van loenhoud - master-class the 7 skills of highly successful teams
 
4 alexey orlov - life of product in startup and enterprise
4   alexey orlov - life of product in startup and enterprise4   alexey orlov - life of product in startup and enterprise
4 alexey orlov - life of product in startup and enterprise
 
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
3   dmitry gomeniuk - how to make data-driven decisions in saa s products3   dmitry gomeniuk - how to make data-driven decisions in saa s products
3 dmitry gomeniuk - how to make data-driven decisions in saa s products
 
7 hans van loenhoud - the problem-goal-solution trinity
7   hans van loenhoud - the problem-goal-solution trinity7   hans van loenhoud - the problem-goal-solution trinity
7 hans van loenhoud - the problem-goal-solution trinity
 
1 hans van loenhoud -
1   hans van loenhoud - 1   hans van loenhoud -
1 hans van loenhoud -
 
3 denys gobov - change request specification the knowledge base or the task...
3   denys gobov - change request specification the knowledge base or the task...3   denys gobov - change request specification the knowledge base or the task...
3 denys gobov - change request specification the knowledge base or the task...
 
5 victoria cupet - learn to play business analysis
5   victoria cupet - learn to play business analysis5   victoria cupet - learn to play business analysis
5 victoria cupet - learn to play business analysis
 
5 alina petrenko - key requirements elicitation during the first contact wi...
5   alina petrenko - key requirements elicitation during the first contact wi...5   alina petrenko - key requirements elicitation during the first contact wi...
5 alina petrenko - key requirements elicitation during the first contact wi...
 
3 karabak kuyavets transformation of business analyst to product owner
3   karabak kuyavets transformation of business analyst to product owner3   karabak kuyavets transformation of business analyst to product owner
3 karabak kuyavets transformation of business analyst to product owner
 
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...
4   andrii melnykov - stakeholder management for pd ms and b-as and why it is...4   andrii melnykov - stakeholder management for pd ms and b-as and why it is...
4 andrii melnykov - stakeholder management for pd ms and b-as and why it is...
 
3 zornitsa nikolova - the product manager between decision making and facil...
3   zornitsa nikolova - the product manager between decision making and facil...3   zornitsa nikolova - the product manager between decision making and facil...
3 zornitsa nikolova - the product manager between decision making and facil...
 
4 viktoriya gudym - how to effectively manage remote employees
4   viktoriya gudym - how to effectively manage remote employees4   viktoriya gudym - how to effectively manage remote employees
4 viktoriya gudym - how to effectively manage remote employees
 
9 natali renska - product and outsource development, how to cook 2 meals in...
9   natali renska - product and outsource development, how to cook 2 meals in...9   natali renska - product and outsource development, how to cook 2 meals in...
9 natali renska - product and outsource development, how to cook 2 meals in...
 
7 denis parkhomenko - from idea to execution how to make a product that cus...
7   denis parkhomenko - from idea to execution how to make a product that cus...7   denis parkhomenko - from idea to execution how to make a product that cus...
7 denis parkhomenko - from idea to execution how to make a product that cus...
 
6 anton vitiaz - inside the mvp in 3 days
6   anton vitiaz - inside the mvp in 3 days6   anton vitiaz - inside the mvp in 3 days
6 anton vitiaz - inside the mvp in 3 days
 
5 mariya popova - ideal product management. unicorns in our reality
5   mariya popova - ideal product management. unicorns in our reality5   mariya popova - ideal product management. unicorns in our reality
5 mariya popova - ideal product management. unicorns in our reality
 
2 victor podzubanov - design thinking game
2   victor podzubanov - design thinking game2   victor podzubanov - design thinking game
2 victor podzubanov - design thinking game
 
3 sergiy potapov - analyst to product owner
3   sergiy potapov - analyst to product owner3   sergiy potapov - analyst to product owner
3 sergiy potapov - analyst to product owner
 
4 anton parkhomenko - how to make effective user research with no budget at...
4   anton parkhomenko - how to make effective user research with no budget at...4   anton parkhomenko - how to make effective user research with no budget at...
4 anton parkhomenko - how to make effective user research with no budget at...
 

Recently uploaded

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 

Recently uploaded (20)

Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 

Mykola Kovsh - Functional API automation with Jmeter

  • 1. Functional API automation with JMeter (real case) by Mykola Kovsh
  • 2. Speaker info Hi, I’m Mykola Kovsh Performance Test Engineer Performance Testing Department at Testing Center of Excellence, Ciklum, Ukraine • 4 years in IT • Performance / Automation / Manual testing www.linkedin.com/in/mykolakovsh/
  • 3. Plan 1. Testing Product Description 2. Our Problem 3. JMeter as a Solution 4. Continuous Integration with JMeter. Reporting 5. Demo 6. Our Results 7. Conclusions 8. Useful Links Questions
  • 4. Testing Product Description Client: Mobile / Facebook web sport betting application Server: Amazon cloud-based application, REST API based Technology stack: Java, Cassandra DB, Unity 3D Product is in active development for near 3 years A lot of parsing and integration logic with 3rd-party data providers Frequent releases driven by business needs (startup)
  • 5. Our Problem  We should run full regression REST API functional tests each release  Manual runs took 4-5 days for 2 QAs what did not satisfy business  No QA automation specialist on the project, but we use JMeter for performance testing and have expertise in it  A lot of GUI/usability testing in addition to functional  To sum up: often we did not have time for full functional regression testing before release what resulted in bugs and frequent hotfixes on Production
  • 6. Solution 1: Postman Good as supplementary tool for manual testing CI integration Reports converting to HTML file Team work option but NOT FREE In case of tricky parametrization and custom logic, some tool’s issues could influence auto tests runs JavaScript basic knowledge is required Hard to maintain when a lot of test-cases No ability of parallel runs Reports are not very comprehensive
  • 7. Solution 2: JMeter. Why for API? Free tool with large community and support GUI based - fast learning Customization - through JMeter API and using scripting languages Ability to reuse functional tests for load purposes Ability to reuse GUI modules in different tests Assertions - allow you to "test" whether your application returns the results you expect it to Parallel test runs CI integration Comprehensive HTML reports Basic knowledge of some scripting language and regular expressions is required Hard to maintain on large projects Version control: only JMX files could be tracked
  • 8. JMeter: Functional Tests Creation 1. Thread Group (user) -> Test set/Test suite 2. Logic Controllers: a) Transaction Controller -> Test suite/Test case b) Loop/While/ForEach Controller c) If Controller etc. 3. Samplers -> Requests (HTTP(s), TCP, SOAP, etc.) 4. Assertions -> Test your response/Customize/Parametrize 5. Timers 6. Configuration elements 1 2 3 4 5 6
  • 9. JMeter: Customize/Parametrize/Test Assertion types: JSR223 Assertion Response Assertion Duration Assertion Size Assertion XML Assertion BeanShell Assertion MD5Hex Assertion HTML Assertion XPath Assertion XML Schema Assertion Compare Assertion, etc.
  • 10. Reusable/Modular Scripts Approach To make functional testing scripts easy maintainable and reusable use next JMeter elements: Test Fragment Simple / Transaction Controller Module Controller Parameterized Controller Include Controller
  • 11. Data + Keyword Driven Approach To separate test scripts from test cases design use next JMeter elements: Test Fragment Switch Controller Simple / Transaction Controller Module Controller ForEach Controller CSV Data Set Config
  • 12. JMeter: Continuous Integration Process and tools: 1. JMeter: functional testing scripts 2. ANT build tool: converts results from JTL output files into HTML reports - ANT parses JTL logs using XSLT stylesheet file 3. Bamboo CI tool Development Source Control Build Unit/Integration Testing Functional Testing Report
  • 13. JMeter CI: Approaches ANT standalone – all steps are executed in ANT build.xml file, using 1 Bamboo Task: • Run JMeter tests • Convert JTL logs to HTML report • Verify test results and pass/fail build PowerShell + ANT combination – 3 Bamboo tasks: • Task 1 Script: run JMeter tests • Task 2 ANT: convert JTL log to HTML report • Task 3 Script: verify results and pass/fail build
  • 14. CI 2nd Approach: Project Structure
  • 15. Bamboo Task 1: Tests Running del Jmeter_ci_with_antresultstest_report.html del Jmeter_ci_with_antresultsresultlog.jtl ${bamboo.JMETER_HOME}binjmeter.bat -n -t Jmeter_ci_with_antJmeter_test_plan.jmx -l Jmeter_ci_with_antresultsresultlog.jtl -q Jmeter_ci_with_antci_jmeter.properties
  • 16. Bamboo Task 2: HTML Reporting
  • 17. Bamboo Task 2: ANT Build File After tests executed, generate HTML report using build_report.xml file (default name build.xml) We have 3 <target> here: • report - log process • xslt-report – convert using XSLT file • copy_report – move reports to separate folder to keep history
  • 18. HTML: XSLT Stylesheet File Update Our Improvements: • Statistics by test suites (threads) and request • Expand/Collapse test suits option • Show only failed transactions filter before after *Origin: http://shanhe.me/node/18/314 *Updated XSLT: https://drive.google.com/file/d/0B4SCa_HZT_OOQnoyQjc1TGw0a0E/view?usp=sharing
  • 20. HTML Reporting: Limitation In case different Thread Groups run under the same Test Plan, they are not separated in report To deal with it, we suggest: 1) Run Thread Groups consequently. It can take some time, if there are a lot of cases 2) or Separate Test Plans (JMX files) by some logic and run them simultaneously
  • 21. Bamboo Task 3: Verify results
  • 22.
  • 23. Recommendations 1) Apply decomposition for faster tests runs: - One functional area - One separate Test Plan - Decompose tests runs by jobs in CI tool (Bamboo, Jenkins) 2) Run smoke functional test and, if success, make it trigger full coverage testing run 3) Use Modular approach to create maintainable/reusable scripts 4) Team work: use Include Controllers to run scripts created by each member 5) Use JSR223 Assertion element to customize/parametrize/test your custom logic in flexible way 6) Use User Defined Variables element to create and fast switch between Test/Stage/Prod hosts 7) Share your scripts with developers to debug current and new features 8) Use JMeter scripts for Load testing, if needed
  • 24. Disadvantages  Inappropriate for large projects/teams  Hard to maintain scripts, if there are lot of them  Scripts version control is absent  Not very convenient for QA team use (if more than 1-2 QA specialists)  You still need time to learn some scripting language (and regexp) to create comprehensive scripts with JMeter
  • 25. Our Results For 5 months ~200 (30%) of API functional high priority test cases were automated ~100 regression and ~80 new features bugs found Functional API regression testing period shortened from 5 to 2 days QA team has more time to focus on GUI and cross-platform testing Overall quality of the application was improved and more stable builds released to Prod
  • 26. Conclusions Involve automation QA engineer(s) to implement automation testing on the project within high standards (Python/Java/etc. frameworks) IF Your team/project is relatively small (near 5-8 members) and limited time for full regression runs, to improve product quality you can: • use JMeter automation testing as complement to manual testing • automate high priority API test cases to verify main product functionality - smoke and short acceptance testing • automate new features testing • integrate JMeter API testing into product CI pipeline ELSE
  • 27. Useful Links • Functional Testing with JMeter: https://www.packtpub.com/books/content/functional-testing-jmeter • JMeter как относительно удобное и практичное средство для тестирования API: https://habrahabr.ru/post/243097/ • Test cloud-based applications with Apache JMeter: https://www.ibm.com/developerworks/cloud/library/cl-jmeter- restful/#listing3 • JMeter – Continuous Performance Testing – JMeter + ANT + Jenkins Integration – Part 1 and 2: http://www.testautomationguru.com/jmeter-continuous-performance-testing-part1/ • JMeter – Creating Modular / Reusable Test Scripts: http://www.testautomationguru.com/jmeter-modularizing- test-scripts/ • JMeter – How to create a Data + Keyword Driven Framework for Performance Testing: http://www.testautomationguru.com/jmeter-how-to-create-a-data-keyword-driven-framework-for-performance- testing/ • How to Use JMeter Assertions in Three Easy Steps: https://www.blazemeter.com/blog/how-use-jmeter- assertions-3-easy-steps • A collection of resources covering different aspects of JMeter usage: https://github.com/aliesbelik/awesome- jmeter
  • 28. Questions 5 minutes. You can also ask questions for me in the lounge zone