SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à Functional API automation with JMeter (real case

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
 
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
 

Similaire à Functional API automation with JMeter (real case (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
 
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
 
Test Automation for QTP
Test Automation for QTPTest Automation for QTP
Test Automation for QTP
 

Plus de 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
 

Plus de 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...
 

Dernier

Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 

Dernier (20)

Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 

Functional API automation with JMeter (real case

  • 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