SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
 
	
  
	
  
	
  
T15	
  
Performance	
  Testing	
  
10/6/16	
  13:30	
  
	
  
	
  
	
  
	
  
	
  
Comprehensive	
  Performance	
  Testing:	
  
From	
  Early	
  Dev	
  to	
  Live	
  Production	
  
Presented	
  by:	
  	
  
	
  
	
   Brad	
  Stoner	
   	
  
	
  
AppDynamics	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
 
	
  
Brad	
  Stoner	
  
	
  
	
  
Brad	
  StonerÊis	
  a	
  Senior	
  Sales	
  Engineer	
  with	
  AppDynamics.	
  In	
  his	
  fourteen	
  years	
  of	
  
IT	
  experience,	
  Brad	
  has	
  held	
  roles	
  in	
  performance	
  engineering,	
  systems	
  engineering,	
  
and	
  operations	
  management.	
  Previously,	
  Brad	
  managed	
  the	
  load	
  and	
  performance	
  
team	
  at	
  H&R	
  Block	
  where	
  he	
  spent	
  seven	
  years	
  leading	
  his	
  five-­‐person	
  team	
  in	
  
pursuit	
  of	
  improved	
  application	
  performance	
  and	
  quality.	
  Brad	
  and	
  his	
  team	
  
managed	
  the	
  performance	
  testing	
  process	
  for	
  more	
  than	
  fifty	
  projects	
  annually.	
  He	
  
founded	
  Sandbreak	
  Digital	
  Solutions,	
  a	
  consulting	
  company	
  specializing	
  in	
  web	
  
application	
  performance	
  testing,	
  web	
  page	
  optimization,	
  front	
  end	
  optimization,	
  
capacity	
  testing,	
  infrastructure	
  validation,	
  and	
  cloud	
  testing.	
  
Comprehensive performance testing:
From early dev to live production
Brad Stoner – October 2016
My background
• 7 years @ H&R Block Load and Performance Team
• 5 person team
• 100k + user concurrency
• Tax peak 2nd week after go-live
• 70 applications annually
• Diverse technology stack – including 3rd party
• 2 years @ Neotys – Performance testing software vendor
• Currently Sales Engineer @ AppDynamics
brad.stoner@appdynamics.com
@sandbreak80
What is performance testing
In software engineering, performance testing is in
general, a testing practice performed to determine
how a system performs in terms of responsiveness
and stability under a particular workload. It can also
serve to investigate, measure, validate or verify
other quality attributes of the system, such as
scalability, reliability and resource usage.*
• Load Test
• Performance Test
• Stress Test
• Scalability Test
• Capacity Test
• Endurance Test
• Workload Test
• Device, FE, BE, end-to-end
* https://en.wikipedia.org/wiki/Software_performance_testing
Why bother?
Google - Using page speed in site ranking
Facebook - Launches 'lite' mobile app
Amazon - 100ms delay -> $6.79M sales
decrease
Recent airline industry outages
Legacy performance testing
• Test after QA and right before launch /
deployment to prod
• Test entire application in war room
• Complex workloads and use cases
• 3-5 weeks to complete
• 3-5 days to script single use case
• Difficult to pinpoint root cause
• Test high volume, long duration
• Peel back onion approach – GIANT ONION
(more later)
• Test system capacity and scalability
• Code focused – only if needed
• Require code freeze
• Potentially expensive and time consuming
changes
Increasing velocity
• Customers want everything faster
• Business demands quicker time to market
• Reduce risk and pain of ‘giant deployments’
• Resolve defects faster at a lower cost
• Keep competitive
• … Performance testing isn't historically fast
Main challenges
• Time
• Need to rescript use cases
• Fluid environments – both software and infrastructure
• Sequential workflows
• Test Data management and synthesis
• Complex load profiles
• Multiple user profiles
• Integrations
• Synchronizing builds and functionality
Keeping up with Agile / DevOps
• “It takes 2 weeks to script all our use cases and we get releases every 3 days”
• “The application is too difficult to test”
• “We are moving to agile on our legacy waterfall project. How we get started?”
• “QA will always be the bottleneck”
• “Issues are difficult to reproduce and our environment is unstable”
• “We don’t have visibility into our infrastructure”
• “If we find an issue, it still takes a week to fix”
• “We have no idea what changed in the application or why we are testing it again”
Pull back the layers
Pull back the layers
Prod / Perf - Outside
Firewall
Prod / Perf - Inside Firewall
Pre-Prod / Staging
QA
Dev
Resources and speed
Prod / Perf
Staging / Pre-Prod
DEV/QA
Speed
Resources
Performance defects
Dev / QA
• Front End Optimization (cache, minimize, round
trips, content size, compression)
• Code issues (concurrency, locking, blocking,
deadlock, single threaded)
• Queue build-up
• Code level performance (method / class)
• Slow responses (functional load)
• Issues with Memory allocation
• 3rd party code or frameworks
• Having debug enabled
• JS execution times
• Sync vs async calls
• Unlimited queries (return all rows)
• Caching (code / object)
• Excessive DB queries
• Logging Levels
Staging / Pre-Prod
• Memory leaks
• Thread exhaustion
• User limits
• Garbage collection (STW)
• Stored procedure inefficiencies
• Missing indexes / Schema issues
• DB connection pool issues
• Keep Alive issues
• Data Size Issues
• Issues with virus scan / security software
• 3rd party integrations
• Internal integrations
• CPU limitations
• Memory limitations
• Configuration issues / default install – Huge!
• Data growth issues
• Connection cleanup
• Using only clean data
• Swappiness
Prod / Perf
• Load balancing (active / active,
device, VIP)
• Firewall performance issues
• SAN performance issues
• Socket / connection issues
• Bandwidth limitations
• # Of servers required
• CDN issues
• Geographic limitations
• Backups causing issues
• Clustering issues / failover issues
• Issues with shared services (AD,
SSO)
• Disk performance issues
• Data replication performance
issues
• Performance impact of scheduled
tasks
• Load balancing and persistence
• Firmware / BIOS issues
• Proxy limitations
• Proxy / edge caching / FE caching
• DDOS / IDS configuration issues
• ISP limitations
• Noisy neighbors - virtualization
• Bad server in farm
• Switch / link configuration
• PDU / power / overheating issues
• OS limitation / tuning
• Disk space issues
• SAN caching
Dev testing - APIs
Mobile web/app example
Staging testing – Capacity w/
UI and API
Build automation
Baseline Pre-Prod / Staging -
platform
Prod / Perf testing
(inside firewall) –
stability / scalability
Prod / Perf testing
(outside firewall) –
network / load
balancing
QA testing – API flows
Optimize app
chatter and
network resources
Mobile app released
Mobile app built
Mobile site releasedMobile site built
APIs released/ BE functionality
Front End
Optimization
What if legacy testing principles were applied?
Staging testing – Capacity
w/ UI and API
Baseline Pre-Prod / Staging -
platform
Prod / Perf testing (inside firewall) –
stability / scalability
Prod / Perf testing (outside
firewall) – network / load
balancing
Front End
Optimization
Optimize app
chatter and
network resources
Mobile app released
Mobile app built
Mobile site releasedMobile site built
APIs released/ BE functionality
What worked?
• App was developed with testability in mind
• Testing earlier in the development of the mobile app
• Back end testing was completed prior to release any front end!
• Isolation of back end and front end
• Fast feedback for bad builds (functional, errors, performance)
• Build validation with automation led to faster iterations
• Reusability of test cases between teams and environments
• Baseline infrastructure; then focus of code changes
• Create experiments to isolate defect targets
• Document what defects were caught in each environment; refine
• Using production-like data sets as early as possible!
• Build test cases as close to dev as possible
What does performance test automation
look like?
• Pinpoint root cause!
• ”Its slower. Is it the database, or the application server, or the code?”
• Used for initial tuning and build testing
• Ensure visibility into infrastructure – automatically updated
• Get resources out of war rooms
• Remove the need to manually setup monitoring in performance tools
• Compare build performance
• Correlate performance and load
• Eliminate re-testing - some issues are difficult to reproduce (backups, virus scan updates) issues outside the
application
• Compare performance in different environments, code the same – what’s different?
• Pass / Fail based on performance – extend performance tools or use less sophisticated performance tools
Result of test automation
• Ensure platform capacity and scalability
• Identify and fail poor performing builds automatically
• Performance tests can include functional validations
• Establish and monitor performance trends
• Identify performance issues early
• That’s great… what do we do if we discover a performance issue?
When to say no
• Not baselining infrastructure (there costs associated with auto-scaling)
• ‘Green Stamp’
• Empty database testing
• Capacity testing with a fraction of the web / app tier
• Testing 50 VUs and certifying 500 VUs
• 0 think time testing
• 10 minute performance tests
• No pass / fail criteria
• Just tell me if it will break
• … we will add caching later
Questions?
Tech Stack
brad.stoner@appdynamics.com

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Walter_resume_PTM
Walter_resume_PTMWalter_resume_PTM
Walter_resume_PTM
 
Red7 Automating UAT Web Testing
Red7 Automating UAT Web TestingRed7 Automating UAT Web Testing
Red7 Automating UAT Web Testing
 
ApexUnit: Open source test framework for apex
ApexUnit: Open source test framework for apexApexUnit: Open source test framework for apex
ApexUnit: Open source test framework for apex
 
Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014Load Testing: See a Bigger Picture, ALM Forum, 2014
Load Testing: See a Bigger Picture, ALM Forum, 2014
 
Neotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga MoorthyNeotys PAC 2018 - Ramya Ramalinga Moorthy
Neotys PAC 2018 - Ramya Ramalinga Moorthy
 
Casestudy: Continuously Delivering Fitness with Redgate DLM
Casestudy: Continuously Delivering Fitness with Redgate DLMCasestudy: Continuously Delivering Fitness with Redgate DLM
Casestudy: Continuously Delivering Fitness with Redgate DLM
 
Vibhor Raman
Vibhor RamanVibhor Raman
Vibhor Raman
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
Engineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the CloudEngineering Netflix Global Operations in the Cloud
Engineering Netflix Global Operations in the Cloud
 
Decoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedExDecoupled System Interface Testing at FedEx
Decoupled System Interface Testing at FedEx
 
Dan Cuellar
Dan CuellarDan Cuellar
Dan Cuellar
 
Embracing Failure - Fault Injection and Service Resilience at Netflix
Embracing Failure - Fault Injection and Service Resilience at NetflixEmbracing Failure - Fault Injection and Service Resilience at Netflix
Embracing Failure - Fault Injection and Service Resilience at Netflix
 
Strong practices for rails applications continuous delivery
Strong practices for rails applications continuous deliveryStrong practices for rails applications continuous delivery
Strong practices for rails applications continuous delivery
 
Extreme Makeover OnBase Edition
Extreme Makeover OnBase EditionExtreme Makeover OnBase Edition
Extreme Makeover OnBase Edition
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
 
Continuous testing in agile projects 2015
Continuous testing in agile projects 2015Continuous testing in agile projects 2015
Continuous testing in agile projects 2015
 
Meet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsMeet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale Projects
 
Adopting Cloud Testing for Continuous Delivery, with the premier global provi...
Adopting Cloud Testing for Continuous Delivery, with the premier global provi...Adopting Cloud Testing for Continuous Delivery, with the premier global provi...
Adopting Cloud Testing for Continuous Delivery, with the premier global provi...
 

Andere mochten auch

Andere mochten auch (16)

Agile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It WorksAgile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It Works
 
Testing in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future PossibilitiesTesting in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future Possibilities
 
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop TestingBig Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
 
Automated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the BasicsAutomated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the Basics
 
The Journey to Continuous Testing
The Journey to Continuous TestingThe Journey to Continuous Testing
The Journey to Continuous Testing
 
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, CheaperTesting in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
 
Agile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with DataAgile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with Data
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
 
Adaptive Automation: Tests that Recover Instead of Failing
Adaptive Automation: Tests that Recover Instead of FailingAdaptive Automation: Tests that Recover Instead of Failing
Adaptive Automation: Tests that Recover Instead of Failing
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
 
Seven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile TestingSeven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile Testing
 
A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software Quality
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
 

Ähnlich wie Comprehensive Performance Testing: From Early Dev to Live Production

Anees_Khan-Resume
Anees_Khan-ResumeAnees_Khan-Resume
Anees_Khan-Resume
Anees Khan
 
Advanced Application Lifecycle Managment
Advanced Application Lifecycle ManagmentAdvanced Application Lifecycle Managment
Advanced Application Lifecycle Managment
Salesforce Developers
 
Tony Hsu軟體專業課程簡介
Tony Hsu軟體專業課程簡介Tony Hsu軟體專業課程簡介
Tony Hsu軟體專業課程簡介
Tony Hsu
 

Ähnlich wie Comprehensive Performance Testing: From Early Dev to Live Production (20)

Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness TestingHoliday Readiness: Best Practices for Successful Holiday Readiness Testing
Holiday Readiness: Best Practices for Successful Holiday Readiness Testing
 
Performance testing in agile
Performance testing in agilePerformance testing in agile
Performance testing in agile
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Testing in the cloud
Testing in the cloudTesting in the cloud
Testing in the cloud
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Anees_Khan-Resume
Anees_Khan-ResumeAnees_Khan-Resume
Anees_Khan-Resume
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014Escaping Test Hell - ACCU 2014
Escaping Test Hell - ACCU 2014
 
Advanced Application Lifecycle Managment
Advanced Application Lifecycle ManagmentAdvanced Application Lifecycle Managment
Advanced Application Lifecycle Managment
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
App Dyanmics & SOASTA Testing & Monitoring Coverage, March 2012
 
9 Yrs Manual and Selenium Testing Profile
9 Yrs Manual and Selenium Testing Profile9 Yrs Manual and Selenium Testing Profile
9 Yrs Manual and Selenium Testing Profile
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Tony Hsu軟體專業課程簡介
Tony Hsu軟體專業課程簡介Tony Hsu軟體專業課程簡介
Tony Hsu軟體專業課程簡介
 
Webinar: Build Better Software: Removing the Constraints Slowing Dev/Test Tea...
Webinar: Build Better Software: Removing the Constraints Slowing Dev/Test Tea...Webinar: Build Better Software: Removing the Constraints Slowing Dev/Test Tea...
Webinar: Build Better Software: Removing the Constraints Slowing Dev/Test Tea...
 

Mehr von TechWell

Mehr von TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 

Kürzlich hochgeladen (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Comprehensive Performance Testing: From Early Dev to Live Production

  • 1.         T15   Performance  Testing   10/6/16  13:30             Comprehensive  Performance  Testing:   From  Early  Dev  to  Live  Production   Presented  by:         Brad  Stoner       AppDynamics     Brought  to  you  by:                 350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/            
  • 2.     Brad  Stoner       Brad  StonerÊis  a  Senior  Sales  Engineer  with  AppDynamics.  In  his  fourteen  years  of   IT  experience,  Brad  has  held  roles  in  performance  engineering,  systems  engineering,   and  operations  management.  Previously,  Brad  managed  the  load  and  performance   team  at  H&R  Block  where  he  spent  seven  years  leading  his  five-­‐person  team  in   pursuit  of  improved  application  performance  and  quality.  Brad  and  his  team   managed  the  performance  testing  process  for  more  than  fifty  projects  annually.  He   founded  Sandbreak  Digital  Solutions,  a  consulting  company  specializing  in  web   application  performance  testing,  web  page  optimization,  front  end  optimization,   capacity  testing,  infrastructure  validation,  and  cloud  testing.  
  • 3. Comprehensive performance testing: From early dev to live production Brad Stoner – October 2016
  • 4. My background • 7 years @ H&R Block Load and Performance Team • 5 person team • 100k + user concurrency • Tax peak 2nd week after go-live • 70 applications annually • Diverse technology stack – including 3rd party • 2 years @ Neotys – Performance testing software vendor • Currently Sales Engineer @ AppDynamics brad.stoner@appdynamics.com @sandbreak80
  • 5. What is performance testing In software engineering, performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.* • Load Test • Performance Test • Stress Test • Scalability Test • Capacity Test • Endurance Test • Workload Test • Device, FE, BE, end-to-end * https://en.wikipedia.org/wiki/Software_performance_testing
  • 6. Why bother? Google - Using page speed in site ranking Facebook - Launches 'lite' mobile app Amazon - 100ms delay -> $6.79M sales decrease Recent airline industry outages
  • 7. Legacy performance testing • Test after QA and right before launch / deployment to prod • Test entire application in war room • Complex workloads and use cases • 3-5 weeks to complete • 3-5 days to script single use case • Difficult to pinpoint root cause • Test high volume, long duration • Peel back onion approach – GIANT ONION (more later) • Test system capacity and scalability • Code focused – only if needed • Require code freeze • Potentially expensive and time consuming changes
  • 8. Increasing velocity • Customers want everything faster • Business demands quicker time to market • Reduce risk and pain of ‘giant deployments’ • Resolve defects faster at a lower cost • Keep competitive • … Performance testing isn't historically fast
  • 9. Main challenges • Time • Need to rescript use cases • Fluid environments – both software and infrastructure • Sequential workflows • Test Data management and synthesis • Complex load profiles • Multiple user profiles • Integrations • Synchronizing builds and functionality
  • 10. Keeping up with Agile / DevOps • “It takes 2 weeks to script all our use cases and we get releases every 3 days” • “The application is too difficult to test” • “We are moving to agile on our legacy waterfall project. How we get started?” • “QA will always be the bottleneck” • “Issues are difficult to reproduce and our environment is unstable” • “We don’t have visibility into our infrastructure” • “If we find an issue, it still takes a week to fix” • “We have no idea what changed in the application or why we are testing it again”
  • 11. Pull back the layers
  • 12. Pull back the layers Prod / Perf - Outside Firewall Prod / Perf - Inside Firewall Pre-Prod / Staging QA Dev
  • 13. Resources and speed Prod / Perf Staging / Pre-Prod DEV/QA Speed Resources
  • 15. Dev / QA • Front End Optimization (cache, minimize, round trips, content size, compression) • Code issues (concurrency, locking, blocking, deadlock, single threaded) • Queue build-up • Code level performance (method / class) • Slow responses (functional load) • Issues with Memory allocation • 3rd party code or frameworks • Having debug enabled • JS execution times • Sync vs async calls • Unlimited queries (return all rows) • Caching (code / object) • Excessive DB queries • Logging Levels
  • 16. Staging / Pre-Prod • Memory leaks • Thread exhaustion • User limits • Garbage collection (STW) • Stored procedure inefficiencies • Missing indexes / Schema issues • DB connection pool issues • Keep Alive issues • Data Size Issues • Issues with virus scan / security software • 3rd party integrations • Internal integrations • CPU limitations • Memory limitations • Configuration issues / default install – Huge! • Data growth issues • Connection cleanup • Using only clean data • Swappiness
  • 17. Prod / Perf • Load balancing (active / active, device, VIP) • Firewall performance issues • SAN performance issues • Socket / connection issues • Bandwidth limitations • # Of servers required • CDN issues • Geographic limitations • Backups causing issues • Clustering issues / failover issues • Issues with shared services (AD, SSO) • Disk performance issues • Data replication performance issues • Performance impact of scheduled tasks • Load balancing and persistence • Firmware / BIOS issues • Proxy limitations • Proxy / edge caching / FE caching • DDOS / IDS configuration issues • ISP limitations • Noisy neighbors - virtualization • Bad server in farm • Switch / link configuration • PDU / power / overheating issues • OS limitation / tuning • Disk space issues • SAN caching
  • 18. Dev testing - APIs Mobile web/app example Staging testing – Capacity w/ UI and API Build automation Baseline Pre-Prod / Staging - platform Prod / Perf testing (inside firewall) – stability / scalability Prod / Perf testing (outside firewall) – network / load balancing QA testing – API flows Optimize app chatter and network resources Mobile app released Mobile app built Mobile site releasedMobile site built APIs released/ BE functionality Front End Optimization
  • 19. What if legacy testing principles were applied? Staging testing – Capacity w/ UI and API Baseline Pre-Prod / Staging - platform Prod / Perf testing (inside firewall) – stability / scalability Prod / Perf testing (outside firewall) – network / load balancing Front End Optimization Optimize app chatter and network resources Mobile app released Mobile app built Mobile site releasedMobile site built APIs released/ BE functionality
  • 20. What worked? • App was developed with testability in mind • Testing earlier in the development of the mobile app • Back end testing was completed prior to release any front end! • Isolation of back end and front end • Fast feedback for bad builds (functional, errors, performance) • Build validation with automation led to faster iterations • Reusability of test cases between teams and environments • Baseline infrastructure; then focus of code changes • Create experiments to isolate defect targets • Document what defects were caught in each environment; refine • Using production-like data sets as early as possible! • Build test cases as close to dev as possible
  • 21. What does performance test automation look like?
  • 22.
  • 23. • Pinpoint root cause! • ”Its slower. Is it the database, or the application server, or the code?” • Used for initial tuning and build testing • Ensure visibility into infrastructure – automatically updated • Get resources out of war rooms • Remove the need to manually setup monitoring in performance tools • Compare build performance • Correlate performance and load • Eliminate re-testing - some issues are difficult to reproduce (backups, virus scan updates) issues outside the application • Compare performance in different environments, code the same – what’s different? • Pass / Fail based on performance – extend performance tools or use less sophisticated performance tools
  • 24.
  • 25.
  • 26.
  • 27. Result of test automation • Ensure platform capacity and scalability • Identify and fail poor performing builds automatically • Performance tests can include functional validations • Establish and monitor performance trends • Identify performance issues early • That’s great… what do we do if we discover a performance issue?
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. When to say no • Not baselining infrastructure (there costs associated with auto-scaling) • ‘Green Stamp’ • Empty database testing • Capacity testing with a fraction of the web / app tier • Testing 50 VUs and certifying 500 VUs • 0 think time testing • 10 minute performance tests • No pass / fail criteria • Just tell me if it will break • … we will add caching later