SlideShare uma empresa Scribd logo
1 de 37
© 2022 Thoughtworks | Confidential
The Art of Performance Strategy
Bharath Hemachandran - Principal Consultant
Samar Ranjan - Lead Consultant
© 2022 Thoughtworks | Confidential
Why did we want to present on this topic?
The reasons for the existence of
Performance testing is not well understood
2
Performance is commonly an after-thought
in the dev cycle
People do not think about performance
testing holistically
A well crafted performance strategy is
hard to come by
It is more about the tool than the process
leading up to testing
Performance is seen as primarily a
scripting (not coding exercise)
© 2022 Thoughtworks | Confidential
What is performance?
3
© 2022 Thoughtworks | Confidential
Performance of the System Under Test
4
What does it depend on?
Depends on the key business requirements, the Architecture and Tech Stack of the System Under
Test
© 2022 Thoughtworks | Confidential
Key Performance Parameters
5
What defines Performance of a System Under Test?
Response Time Responsiveness Availability
Reliability Resource Usage Throughput
Stability Error-Handling
Scalability
© 2022 Thoughtworks | Confidential
Key Parameters for Interfaces
6
Response Time Responsiveness Availability
Reliability Resource Usage Throughput
Stability Error-Handling
Scalability
© 2022 Thoughtworks | Confidential
Key Parameters of an IOT System
7
Response Time Responsiveness Availability
Reliability Resource Usage Throughput
Stability Error-Handling
Scalability
© 2022 Thoughtworks | Confidential
Key Parameters for an AI System
8
Response Time Responsiveness Availability
Reliability Resource Usage Throughput
Stability Error-Handling
Scalability
© 2022 Thoughtworks | Confidential
Creating a strategy
9
© 2022 Thoughtworks | Confidential 10
What would a perf strategy look like?
Purpose
Stakeholders
Goals & Objectives of Performance Tests
Tool Comparison
Converting workflows to Performance Workloads
Type of tests to run
Explanation/Evaluation of Tool Choice(s)
Executions
Reporting
Insights
© 2022 Thoughtworks | Confidential
Market analysis/research data (New
application)
Factors to consider
It is essential to understand the
business & as well as technological
factors. It determines the direction
where all the stakeholders interest lies.
11
Know the application usage
User workflow
Data interactions
Constraints & Dependencies
Analytics/Traffic (Existing application only)
© 2022 Thoughtworks | Confidential 12
Market analysis/research data
Image source: https://amazeemetrics.com
© 2022 Thoughtworks | Confidential 13
Know the application usage
Image source: https://indiamart.com
© 2022 Thoughtworks | Confidential 14
User workflow
Image source: https://zenaton.com
© 2022 Thoughtworks | Confidential 15
Data Interactions
Image source: https://sourcecodehero.com
© 2022 Thoughtworks | Confidential 16
Constraints & dependencies
© 2022 Thoughtworks | Confidential 17
Analytics/Traffic
Image source: https://oreilly.com
© 2022 Thoughtworks | Confidential
Who is who in your
performance test
Stakeholders play a big role in
performance test strategy. Each stake
holder provides certain information
without which the test might be useless.
Business/Domain
Specialist
Architect/Dev
Lead
18
Dev Ops
Product Owner
© 2022 Thoughtworks | Confidential
Identification of an actual user flow &
prioritizing the most expected user
journey
Creating a
performance load
design
Your stakeholders provides you the
pattern for the performance load & you
need to follow same to build
performance load design.
19
Pattern of user entry and exit
Test Data
Tools & monitoring
Load & Concurrency
Environment
© 2022 Thoughtworks | Confidential
Performance
Testing
Load
Stress
Soak
Spike
Configur
ation
Volume
Responsiveness Stability Resource Usage Scalability Reliability
SUT under
various loads
SUT under
heavy loads
X times peak
load
Sustained use
of SUT under
load
SUT with
different
configurations
SUT with sudden
increases/decrea
ses in load
SUT with sudden
influx of data
Types of Performance Tests
20
© 2022 Thoughtworks | Confidential
21
Planning for Performance Testing
Things to keep in mind
Measures
Reporting
Load & Concurrency
Response
Times
Resource
Usage
Benchmarks
Logging
Throughput
Load
Scenarios
Environment/
Infra Capacity
Virtual User
Simulation Mix
Load
Breakdown
Report
Templates
Data Store Data Viz
Failure Rate
21
© 2022 Thoughtworks | Confidential
Tools for monitoring
APM - Application Performance
Monitoring tools are essential to
performance test as they provide real
time information about the server side
during the test & post test analysis.
22
Cloudwatch
(AWS)
© 2022 Thoughtworks | Confidential
Tools for monitoring
Log management tools provides real
time application log information. You
will have data about application
response, errors and matrices around
received request & processed
transactions.
23
© 2022 Thoughtworks | Confidential
24
Which tool do I choose?
Gatling Locust Jmeter K6
Developed/Code in Scala, Java, Kotlin Python (v3.8 or above) Java/Groovy,beanshell Go,/Javascript
Open Source License Apache License v2.0 MIT License Apache License v2.0
GNU Affero General Public
License v3.0
Learning Curve Steep Easy Medium Easy
Load Design Flexible Flexible Medium Flexible
Reporting Out of the box Out of the box Out of the box/configurable
Integration with 3rd party
dashboard
Virtual User Simulation
Actor Model (Async Akka
Netty) gEvent Model JVM Thread based Goroutine based
Assertions Library Out of the box Out of the box Configurable Out of the box
Run different types of users in the
same Simulation Out of the box Out of the box Out of the box Out of the box
Readability Medium Easy Hard Easy
Extensibility Medium Easy Hard Easy
Code Reuse Easy Easy Medium Easy
Runs in Pipelines Out of the box Out of the box Out of the box Out of the box
Github Stars/Forks for Project 5.6k/1.1k 19.5k/2.5k 6.4k/1.8k 17.5k/913
Protocols supported HTTP/HTTPS/gRPC HTTP/HTTPS/gRPC
HTTP, HTTPS SOAP, FTP,
JDBC, LDAP, MOM via JMS,
SMTP, POP3, IMAP, shell
scripts, TCP, Java objects HTTP/HTTPS/gRPC
© 2022 Thoughtworks | Confidential 25
What would a perf strategy look like?
Purpose
Stakeholders
Goals & Objectives of Performance Tests
Tool Comparison
Converting workflows to Performance Workloads
Type of tests to run
Explanation/Evaluation of Tool Choice(s)
Executions
Reporting
Insights
© 2022 Thoughtworks | Confidential 26
Scripting best practices
What does a good framework look like?
26
Well Organized &
Structured
Separate data from
actions
Test Extensibility
Design Patterns are
your friend
Parameterization
Reporting and
Debugging
Workflows
© 2022 Thoughtworks | Confidential
Is CICD worth doing in Performance
testing?
27
© 2022 Thoughtworks | Confidential
Best practices around execution
28
© 2022 Thoughtworks | Confidential
Sample reports/Case studies/Examples
Typical output from a Performance Tool - What to look for
29
© 2022 Thoughtworks | Confidential
Sample reports/Case studies/Examples
Typical output from Monitoring Platforms - What to look for
30
© 2022 Thoughtworks | Confidential
What do you do with this data?
Engaging back with stakeholders with the data
31
Optimal Infrastructure
Requirements
Highlight Performance
Issues
Capacity Planning
● Assessing infrastructure needs
● Establishing benchmarks for resource usage and response times
● Identifying optimal configurations
● Planning future scalability of the system
● Benchmark comparison. Renegotiate/redo benchmarks if required
● Enabling team to identify bottlenecks and (potential) problem areas
● Engage devs to increase visibility/transparency of code
● Regression testing when new code/configurations are added
● Identify new data/scenarios that can lead to more discoveries
● Enable cost optimization through resource usage planning
How often should you run tests?
© 2022 Thoughtworks | Confidential 32
Response Time
Metrics to capture -
Server side
The total time between
sending the request
and receiving the
response
Throughput
The number of
transactions an
application receives per
second.
Request Per Second
The number of
requests handled by
the application per
second
Error Rate
The percentage of
requests resulting in
errors compared to the
total number of
requests.
CPU Utilization
The percentage of CPU
capacity utilized in
processing the
requests.
Memory Utilization
The utilization of the
primary memory of the
computer while
processing any
requests.
You need to use appropriate monitoring
tool for these matrices.
© 2022 Thoughtworks | Confidential 33
Time to interact
Metrics to capture -
Client side
The time taken by a
website to become fully
interactive
Speed Index
It measures how
quickly the content is
displayed during page
load
Load Time
The average amount of
time a page takes to
show up on your
screen.
Payload
It is the difference
between essential
information in a chunk
of data and the
information used to
support it.
Time to First Byte
The time between the
browser requesting a
page and when it
receives the first byte
of information from the
server.
Page Size/Weight
The overall size of a
particular webpage.
While load tool provides certain matrices,
you need another set tools for clients like
browser.
© 2022 Thoughtworks | Confidential
So what should we take away from this
discussion?
34
Performance of a system is more than just
about its response time The goal(s) and objectives of performance
should be defined by the key stakeholders
Always create a performance strategy before
starting testing. This should always address
the goals/objectives
A performance strategy should translate
workflows into scenarios to be evaluated
The kind of tests to be run should align with
the end goals/objectives
Bharath and Samar are the greatest QAs in the world
Do all of the above before scripting even a
single line of code
© 2022 Thoughtworks | Confidential
We look forward for the feedback!
bharathkumar.h@thoughtworks.com LinkedIn
samarjan@thoughtworks.com Linkedin
35
© 2022 Thoughtworks | Confidential
36
Planning for performance testing
Things to keep in mind
Measures
Reporting
Tooling
Load
Response
Times
Resource
Usage
Benchmarks
Logging
Throughput
Load
Scenarios
Environment/
Infra Capacity
Virtual User
Simulation Mix
Load
Breakdown
Report
Templates
Data Store Data Viz
Failure Rate
36
© 2022 Thoughtworks | Confidential
A performance test strategy reference
https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3038445574/Performance+Benchmarking+and
+Capacity+Planning
37

Mais conteúdo relacionado

Mais procurados

Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud StrategyInternap
 
Living the AWS Well Architected Framework
Living the AWS Well Architected FrameworkLiving the AWS Well Architected Framework
Living the AWS Well Architected FrameworkAdam Dillman
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual MachinesClint Edmonson
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Technologies Ltd
 
How to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud InfrastructureHow to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud InfrastructureSimo Vilmunen
 
AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxRaneesh Ramesan
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrAmazon Web Services
 
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...Chad Lawler
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationInflectra
 
Testing your APIs Performance.pptx
Testing your APIs Performance.pptxTesting your APIs Performance.pptx
Testing your APIs Performance.pptxPricilla Bilavendran
 
Introduction To Jira Slide Share
Introduction To Jira Slide ShareIntroduction To Jira Slide Share
Introduction To Jira Slide ShareRenjith V
 
Microsoft Azure Traffic Manager
Microsoft Azure Traffic ManagerMicrosoft Azure Traffic Manager
Microsoft Azure Traffic ManagerIdo Katz
 
Taking Testing to the Cloud
Taking Testing to the CloudTaking Testing to the Cloud
Taking Testing to the CloudCognizant
 
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance WorkshopMicrosoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance WorkshopNicholas Vossburg
 

Mais procurados (20)

Defining Your Cloud Strategy
Defining Your Cloud StrategyDefining Your Cloud Strategy
Defining Your Cloud Strategy
 
Living the AWS Well Architected Framework
Living the AWS Well Architected FrameworkLiving the AWS Well Architected Framework
Living the AWS Well Architected Framework
 
Windows Azure Virtual Machines
Windows Azure Virtual MachinesWindows Azure Virtual Machines
Windows Azure Virtual Machines
 
test_automation_POC
test_automation_POCtest_automation_POC
test_automation_POC
 
Developer Experience on AWS
Developer Experience on AWSDeveloper Experience on AWS
Developer Experience on AWS
 
Cigniti Independent Software Testing Services
Cigniti Independent Software Testing ServicesCigniti Independent Software Testing Services
Cigniti Independent Software Testing Services
 
Introduction to Chaos Engineering
Introduction to Chaos EngineeringIntroduction to Chaos Engineering
Introduction to Chaos Engineering
 
How to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud InfrastructureHow to get started with Oracle Cloud Infrastructure
How to get started with Oracle Cloud Infrastructure
 
AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptx
 
Cloud Migration: A How-To Guide
Cloud Migration: A How-To GuideCloud Migration: A How-To Guide
Cloud Migration: A How-To Guide
 
Best Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff BarrBest Practices for Architecting in the Cloud - Jeff Barr
Best Practices for Architecting in the Cloud - Jeff Barr
 
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...
Integrated Cloud Framework: Security, Governance, Compliance, Content Applica...
 
Codeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar PresentationCodeless Test Automation - A Webinar Presentation
Codeless Test Automation - A Webinar Presentation
 
Testing your APIs Performance.pptx
Testing your APIs Performance.pptxTesting your APIs Performance.pptx
Testing your APIs Performance.pptx
 
Introduction To Jira Slide Share
Introduction To Jira Slide ShareIntroduction To Jira Slide Share
Introduction To Jira Slide Share
 
Microsoft Azure Traffic Manager
Microsoft Azure Traffic ManagerMicrosoft Azure Traffic Manager
Microsoft Azure Traffic Manager
 
Taking Testing to the Cloud
Taking Testing to the CloudTaking Testing to the Cloud
Taking Testing to the Cloud
 
DevOps and AWS
DevOps and AWSDevOps and AWS
DevOps and AWS
 
AWS
AWSAWS
AWS
 
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance WorkshopMicrosoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
Microsoft Cloud Adoption Framework for Azure: Thru Partner Governance Workshop
 

Semelhante a Performance Testing

Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMconfluent
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceThousandEyes
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.IRJET Journal
 
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgileNetwork
 
Agile Gurugram 2023 I Metrics and Business Agility - Dinker Charak
Agile Gurugram 2023 I Metrics and Business Agility - Dinker CharakAgile Gurugram 2023 I Metrics and Business Agility - Dinker Charak
Agile Gurugram 2023 I Metrics and Business Agility - Dinker CharakAgileNetwork
 
SharePoint Site Redesign : Information Architecture and User-centered Design ...
SharePoint Site Redesign : Information Architecture and User-centered Design ...SharePoint Site Redesign : Information Architecture and User-centered Design ...
SharePoint Site Redesign : Information Architecture and User-centered Design ...arsathe
 
Monitoring in the DevOps Era
Monitoring in the DevOps EraMonitoring in the DevOps Era
Monitoring in the DevOps EraMike Kavis
 
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...VMworld
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaSharbani Bhattacharya
 
Why we should consider Open Hybrid Cloud.pdf
Why we should  consider Open Hybrid Cloud.pdfWhy we should  consider Open Hybrid Cloud.pdf
Why we should consider Open Hybrid Cloud.pdfMasahiko Umeno
 
Trends in software testing by Eka TechServ
Trends in software testing  by Eka TechServTrends in software testing  by Eka TechServ
Trends in software testing by Eka TechServekatechserv
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...NikhileshSathyavarap
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsThousandEyes
 
Engineering_Campus_Presentation_2022 (1)-compressed.pptx
Engineering_Campus_Presentation_2022 (1)-compressed.pptxEngineering_Campus_Presentation_2022 (1)-compressed.pptx
Engineering_Campus_Presentation_2022 (1)-compressed.pptxManikaahuja4
 
Strategies for Implementing Aras Innovator
Strategies for Implementing Aras InnovatorStrategies for Implementing Aras Innovator
Strategies for Implementing Aras InnovatorAras
 
Moving Enterprise Applications to the Cloud
Moving Enterprise Applications to the CloudMoving Enterprise Applications to the Cloud
Moving Enterprise Applications to the CloudVISI
 

Semelhante a Performance Testing (20)

Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Pivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORMPivoting event streaming, from PROJECTS to a PLATFORM
Pivoting event streaming, from PROJECTS to a PLATFORM
 
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital ExperienceGetting Started With ThousandEyes Proof of Concepts: End User Digital Experience
Getting Started With ThousandEyes Proof of Concepts: End User Digital Experience
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
IRJET- An Sla-Aware Cloud Coalition Formation Approach for Virtualized Networks.
 
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker CharakAgile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
Agile Kolkata 2023 I EEBO Metrics in the Times of GenAI - Dinker Charak
 
Agile Gurugram 2023 I Metrics and Business Agility - Dinker Charak
Agile Gurugram 2023 I Metrics and Business Agility - Dinker CharakAgile Gurugram 2023 I Metrics and Business Agility - Dinker Charak
Agile Gurugram 2023 I Metrics and Business Agility - Dinker Charak
 
SharePoint Site Redesign : Information Architecture and User-centered Design ...
SharePoint Site Redesign : Information Architecture and User-centered Design ...SharePoint Site Redesign : Information Architecture and User-centered Design ...
SharePoint Site Redesign : Information Architecture and User-centered Design ...
 
Monitoring in the DevOps Era
Monitoring in the DevOps EraMonitoring in the DevOps Era
Monitoring in the DevOps Era
 
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...
VMworld 2013: Create a Key Metrics-based Actionable Roadmap to Deliver IT as ...
 
Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
M 4 iot..
M 4 iot..M 4 iot..
M 4 iot..
 
Why we should consider Open Hybrid Cloud.pdf
Why we should  consider Open Hybrid Cloud.pdfWhy we should  consider Open Hybrid Cloud.pdf
Why we should consider Open Hybrid Cloud.pdf
 
Trends in software testing by Eka TechServ
Trends in software testing  by Eka TechServTrends in software testing  by Eka TechServ
Trends in software testing by Eka TechServ
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...
Divyojyoti - Challenges and Lessons Learnt - UiPath Community Hyderabad Sessi...
 
Getting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of ConceptsGetting Started with ThousandEyes Proof of Concepts
Getting Started with ThousandEyes Proof of Concepts
 
Engineering_Campus_Presentation_2022 (1)-compressed.pptx
Engineering_Campus_Presentation_2022 (1)-compressed.pptxEngineering_Campus_Presentation_2022 (1)-compressed.pptx
Engineering_Campus_Presentation_2022 (1)-compressed.pptx
 
Strategies for Implementing Aras Innovator
Strategies for Implementing Aras InnovatorStrategies for Implementing Aras Innovator
Strategies for Implementing Aras Innovator
 
Moving Enterprise Applications to the Cloud
Moving Enterprise Applications to the CloudMoving Enterprise Applications to the Cloud
Moving Enterprise Applications to the Cloud
 

Mais de vodQA

Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overviewvodQA
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobilevodQA
 
Testing cna
Testing cnaTesting cna
Testing cnavodQA
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scalavodQA
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAsvodQA
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...vodQA
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...vodQA
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptxvodQA
 
An approach to app security - For beginners
An approach to app security - For beginnersAn approach to app security - For beginners
An approach to app security - For beginnersvodQA
 

Mais de vodQA (20)

Api testing libraries using java script an overview
Api testing libraries using java script   an overviewApi testing libraries using java script   an overview
Api testing libraries using java script an overview
 
Testing face authentication on mobile
Testing face authentication on mobileTesting face authentication on mobile
Testing face authentication on mobile
 
Testing cna
Testing cnaTesting cna
Testing cna
 
Etl engine testing with scala
Etl engine testing with scalaEtl engine testing with scala
Etl engine testing with scala
 
EDA for QAs
EDA for QAsEDA for QAs
EDA for QAs
 
vodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev toolsvodQA Pune (2019) - Browser automation using dev tools
vodQA Pune (2019) - Browser automation using dev tools
 
vodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challengesvodQA Pune (2019) - Augmented reality overview and testing challenges
vodQA Pune (2019) - Augmented reality overview and testing challenges
 
vodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applicationsvodQA Pune (2019) - Testing AI,ML applications
vodQA Pune (2019) - Testing AI,ML applications
 
vodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automationvodQA Pune (2019) - Design patterns in test automation
vodQA Pune (2019) - Design patterns in test automation
 
vodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contractsvodQA Pune (2019) - Testing ethereum smart contracts
vodQA Pune (2019) - Testing ethereum smart contracts
 
vodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testingvodQA Pune (2019) - Insights into big data testing
vodQA Pune (2019) - Insights into big data testing
 
vodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deploymentsvodQA Pune (2019) - Performance testing cloud deployments
vodQA Pune (2019) - Performance testing cloud deployments
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As codevodQA Pune (2019) - Jenkins pipeline As code
vodQA Pune (2019) - Jenkins pipeline As code
 
vodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pactvodQA(Pune) 2018 - Consumer driven contract testing using pact
vodQA(Pune) 2018 - Consumer driven contract testing using pact
 
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...vodQA(Pune) 2018 - Visual testing of web apps in headless environment   manis...
vodQA(Pune) 2018 - Visual testing of web apps in headless environment manis...
 
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...vodQA(Pune) 2018 - Enhancing the capabilities of testing team   preparing for...
vodQA(Pune) 2018 - Enhancing the capabilities of testing team preparing for...
 
vodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security wayvodQA(Pune) 2018 - QAing the security way
vodQA(Pune) 2018 - QAing the security way
 
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in TestingvodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
An approach to app security - For beginners
An approach to app security - For beginnersAn approach to app security - For beginners
An approach to app security - For beginners
 

Último

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Último (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Performance Testing

  • 1. © 2022 Thoughtworks | Confidential The Art of Performance Strategy Bharath Hemachandran - Principal Consultant Samar Ranjan - Lead Consultant
  • 2. © 2022 Thoughtworks | Confidential Why did we want to present on this topic? The reasons for the existence of Performance testing is not well understood 2 Performance is commonly an after-thought in the dev cycle People do not think about performance testing holistically A well crafted performance strategy is hard to come by It is more about the tool than the process leading up to testing Performance is seen as primarily a scripting (not coding exercise)
  • 3. © 2022 Thoughtworks | Confidential What is performance? 3
  • 4. © 2022 Thoughtworks | Confidential Performance of the System Under Test 4 What does it depend on? Depends on the key business requirements, the Architecture and Tech Stack of the System Under Test
  • 5. © 2022 Thoughtworks | Confidential Key Performance Parameters 5 What defines Performance of a System Under Test? Response Time Responsiveness Availability Reliability Resource Usage Throughput Stability Error-Handling Scalability
  • 6. © 2022 Thoughtworks | Confidential Key Parameters for Interfaces 6 Response Time Responsiveness Availability Reliability Resource Usage Throughput Stability Error-Handling Scalability
  • 7. © 2022 Thoughtworks | Confidential Key Parameters of an IOT System 7 Response Time Responsiveness Availability Reliability Resource Usage Throughput Stability Error-Handling Scalability
  • 8. © 2022 Thoughtworks | Confidential Key Parameters for an AI System 8 Response Time Responsiveness Availability Reliability Resource Usage Throughput Stability Error-Handling Scalability
  • 9. © 2022 Thoughtworks | Confidential Creating a strategy 9
  • 10. © 2022 Thoughtworks | Confidential 10 What would a perf strategy look like? Purpose Stakeholders Goals & Objectives of Performance Tests Tool Comparison Converting workflows to Performance Workloads Type of tests to run Explanation/Evaluation of Tool Choice(s) Executions Reporting Insights
  • 11. © 2022 Thoughtworks | Confidential Market analysis/research data (New application) Factors to consider It is essential to understand the business & as well as technological factors. It determines the direction where all the stakeholders interest lies. 11 Know the application usage User workflow Data interactions Constraints & Dependencies Analytics/Traffic (Existing application only)
  • 12. © 2022 Thoughtworks | Confidential 12 Market analysis/research data Image source: https://amazeemetrics.com
  • 13. © 2022 Thoughtworks | Confidential 13 Know the application usage Image source: https://indiamart.com
  • 14. © 2022 Thoughtworks | Confidential 14 User workflow Image source: https://zenaton.com
  • 15. © 2022 Thoughtworks | Confidential 15 Data Interactions Image source: https://sourcecodehero.com
  • 16. © 2022 Thoughtworks | Confidential 16 Constraints & dependencies
  • 17. © 2022 Thoughtworks | Confidential 17 Analytics/Traffic Image source: https://oreilly.com
  • 18. © 2022 Thoughtworks | Confidential Who is who in your performance test Stakeholders play a big role in performance test strategy. Each stake holder provides certain information without which the test might be useless. Business/Domain Specialist Architect/Dev Lead 18 Dev Ops Product Owner
  • 19. © 2022 Thoughtworks | Confidential Identification of an actual user flow & prioritizing the most expected user journey Creating a performance load design Your stakeholders provides you the pattern for the performance load & you need to follow same to build performance load design. 19 Pattern of user entry and exit Test Data Tools & monitoring Load & Concurrency Environment
  • 20. © 2022 Thoughtworks | Confidential Performance Testing Load Stress Soak Spike Configur ation Volume Responsiveness Stability Resource Usage Scalability Reliability SUT under various loads SUT under heavy loads X times peak load Sustained use of SUT under load SUT with different configurations SUT with sudden increases/decrea ses in load SUT with sudden influx of data Types of Performance Tests 20
  • 21. © 2022 Thoughtworks | Confidential 21 Planning for Performance Testing Things to keep in mind Measures Reporting Load & Concurrency Response Times Resource Usage Benchmarks Logging Throughput Load Scenarios Environment/ Infra Capacity Virtual User Simulation Mix Load Breakdown Report Templates Data Store Data Viz Failure Rate 21
  • 22. © 2022 Thoughtworks | Confidential Tools for monitoring APM - Application Performance Monitoring tools are essential to performance test as they provide real time information about the server side during the test & post test analysis. 22 Cloudwatch (AWS)
  • 23. © 2022 Thoughtworks | Confidential Tools for monitoring Log management tools provides real time application log information. You will have data about application response, errors and matrices around received request & processed transactions. 23
  • 24. © 2022 Thoughtworks | Confidential 24 Which tool do I choose? Gatling Locust Jmeter K6 Developed/Code in Scala, Java, Kotlin Python (v3.8 or above) Java/Groovy,beanshell Go,/Javascript Open Source License Apache License v2.0 MIT License Apache License v2.0 GNU Affero General Public License v3.0 Learning Curve Steep Easy Medium Easy Load Design Flexible Flexible Medium Flexible Reporting Out of the box Out of the box Out of the box/configurable Integration with 3rd party dashboard Virtual User Simulation Actor Model (Async Akka Netty) gEvent Model JVM Thread based Goroutine based Assertions Library Out of the box Out of the box Configurable Out of the box Run different types of users in the same Simulation Out of the box Out of the box Out of the box Out of the box Readability Medium Easy Hard Easy Extensibility Medium Easy Hard Easy Code Reuse Easy Easy Medium Easy Runs in Pipelines Out of the box Out of the box Out of the box Out of the box Github Stars/Forks for Project 5.6k/1.1k 19.5k/2.5k 6.4k/1.8k 17.5k/913 Protocols supported HTTP/HTTPS/gRPC HTTP/HTTPS/gRPC HTTP, HTTPS SOAP, FTP, JDBC, LDAP, MOM via JMS, SMTP, POP3, IMAP, shell scripts, TCP, Java objects HTTP/HTTPS/gRPC
  • 25. © 2022 Thoughtworks | Confidential 25 What would a perf strategy look like? Purpose Stakeholders Goals & Objectives of Performance Tests Tool Comparison Converting workflows to Performance Workloads Type of tests to run Explanation/Evaluation of Tool Choice(s) Executions Reporting Insights
  • 26. © 2022 Thoughtworks | Confidential 26 Scripting best practices What does a good framework look like? 26 Well Organized & Structured Separate data from actions Test Extensibility Design Patterns are your friend Parameterization Reporting and Debugging Workflows
  • 27. © 2022 Thoughtworks | Confidential Is CICD worth doing in Performance testing? 27
  • 28. © 2022 Thoughtworks | Confidential Best practices around execution 28
  • 29. © 2022 Thoughtworks | Confidential Sample reports/Case studies/Examples Typical output from a Performance Tool - What to look for 29
  • 30. © 2022 Thoughtworks | Confidential Sample reports/Case studies/Examples Typical output from Monitoring Platforms - What to look for 30
  • 31. © 2022 Thoughtworks | Confidential What do you do with this data? Engaging back with stakeholders with the data 31 Optimal Infrastructure Requirements Highlight Performance Issues Capacity Planning ● Assessing infrastructure needs ● Establishing benchmarks for resource usage and response times ● Identifying optimal configurations ● Planning future scalability of the system ● Benchmark comparison. Renegotiate/redo benchmarks if required ● Enabling team to identify bottlenecks and (potential) problem areas ● Engage devs to increase visibility/transparency of code ● Regression testing when new code/configurations are added ● Identify new data/scenarios that can lead to more discoveries ● Enable cost optimization through resource usage planning How often should you run tests?
  • 32. © 2022 Thoughtworks | Confidential 32 Response Time Metrics to capture - Server side The total time between sending the request and receiving the response Throughput The number of transactions an application receives per second. Request Per Second The number of requests handled by the application per second Error Rate The percentage of requests resulting in errors compared to the total number of requests. CPU Utilization The percentage of CPU capacity utilized in processing the requests. Memory Utilization The utilization of the primary memory of the computer while processing any requests. You need to use appropriate monitoring tool for these matrices.
  • 33. © 2022 Thoughtworks | Confidential 33 Time to interact Metrics to capture - Client side The time taken by a website to become fully interactive Speed Index It measures how quickly the content is displayed during page load Load Time The average amount of time a page takes to show up on your screen. Payload It is the difference between essential information in a chunk of data and the information used to support it. Time to First Byte The time between the browser requesting a page and when it receives the first byte of information from the server. Page Size/Weight The overall size of a particular webpage. While load tool provides certain matrices, you need another set tools for clients like browser.
  • 34. © 2022 Thoughtworks | Confidential So what should we take away from this discussion? 34 Performance of a system is more than just about its response time The goal(s) and objectives of performance should be defined by the key stakeholders Always create a performance strategy before starting testing. This should always address the goals/objectives A performance strategy should translate workflows into scenarios to be evaluated The kind of tests to be run should align with the end goals/objectives Bharath and Samar are the greatest QAs in the world Do all of the above before scripting even a single line of code
  • 35. © 2022 Thoughtworks | Confidential We look forward for the feedback! bharathkumar.h@thoughtworks.com LinkedIn samarjan@thoughtworks.com Linkedin 35
  • 36. © 2022 Thoughtworks | Confidential 36 Planning for performance testing Things to keep in mind Measures Reporting Tooling Load Response Times Resource Usage Benchmarks Logging Throughput Load Scenarios Environment/ Infra Capacity Virtual User Simulation Mix Load Breakdown Report Templates Data Store Data Viz Failure Rate 36
  • 37. © 2022 Thoughtworks | Confidential A performance test strategy reference https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3038445574/Performance+Benchmarking+and +Capacity+Planning 37

Notas do Editor

  1. Performance is an indicator of how well a software system or component meets its requirements for timeliness.
  2. Performance is an indicator of how well a software system or component meets its requirements for timeliness.
  3. Performance is an indicator of how well a software system or component meets its requirements for timeliness.