SlideShare a Scribd company logo
1 of 15
Download to read offline
Fundamentals of Application Performance Testing 
Practical Performance Analyst – 28th July 2012 
http://www.practicalperformanceanalyst.com
Agenda 
Performance Engineering Life Cycle 
What is Proactive Performance Management 
Holistic View of Performance 
What is Performance Testing 
Why is Performance Testing Important 
Aspects to consider while Performance Testing 
Pitfalls to avoid during Performance Testing 
Performance Testing Process 
Challenges involved in Performance Testing 
Deliverables for the Performance Testing process 
Resources & tools for Performance Testing
Performance Engineering Life Cycle 
Software Development Life Cycle 
Functional Requirements Gathering 
Architecture & Design 
Build Application 
System Test, 
System Integrated Test & UAT 
Deploy Into Production 
Performance Engineering Life Cycle 
Non Functional Requirements Gathering 
Design for Performance & 
Performance Modelling 
Unit Performance Test & Code Optimization 
Performance Test 
Monitoring & Capacity Management
Proactive Performance Management 
Performance Requirements Analysis 
Performance Modelling & Capacity Planning 
Build & Optimization 
Performance Testing 
Performance Monitoring 
Capacity Management 
Proactive Performance Management helps by – 
Identifying performance issues early in the design 
Validate suitability of your application architecture for your documented NFR’s 
Validate your application capacity requirements for the documented NFR’s 
Advocates early SVT to identify potential bottlenecks early in the build and development cycle 
Reduces potential for major rework later in the program 
Advocates using modelling techniques to predict performance impact for growing workload
Txn Performance 
- Response Times, etc. 
Application Performance – Operations/Sec, Messages/Sec, Transactions/Sec, etc. 
Infrastructure Performance – CPU Utilization, Memory Utilization, Disk IOPS, etc. 
Network Performance – Packet Loss, Jitter, Packet Re- ordering, Delay, etc. 
Holistic View of Performance
What Is Performance Testing 
Performance Testing is quite often confused with Performance Engineering. Although Performance Testing is an integral and important part of Performance Engineering its usefulness is confined to validating Application Performance later in the SDLC (Software Development Life Cycle). 
Performance Engineering as we’ve defined it in the past consists of a set of roles, responsibilities, processes and deliverables across the SDLC whose objective is to build applications that meet their NFR’s. 
Performance Testing can be defined as the process of validating your application performance against the set of defined Non Functional Requirements. 
The objectives of Performance Testing are generally a combination of the following: 
Validate Application Scalability – Performance Testing 
Validate Application Performance at Peak Workload – Stress Testing 
Validate Application Performance over a extended duration of time – Soak Testing 
Establish Application Breaking Point – Break Point Testing 
Performance Testing has traditionally been and continues to be a proactive process. Programs and project generally lack both the capability and willingness to consider Performance early in the SDLC. 
While Performance Testing allows for validation of Application Performance later in the SDLC, a Performance Engineer can use a combination of different modelling techniques to validate application designs, infrastructure capacity and application performance early in the SDLC and mitigate risk accordingly.
Why Is Performance Testing Important 
Performance Testing is important for the following reasons – 
Identify bottlenecks across the application and highlight opportunities for tuning 
Validate your design & infrastructure capacity assumptions made early at the design stage 
To validate if your applications meet the program Non Functional Requirements 
Validate that the application is able to deliver the expected End User Experience while consuming resources optimally across the infrastructure and network tier 
To determine the breaking point of your applications. Knowing the breaking point of your applications helps you understand the maximum Business Workload the application can process before performance starts to degrade.
Aspects to consider while Performance Testing 
Following are the aspect you should keep in mind when planning Performance Testing – 
Performance Testing should ideally start through setting up of the program Performance Engineering team at the Requirements Gathering & Design Stage. At this stage you should be working on closing of the following documents: 
Program Performance Engineering Strategy 
Performance Testing Workload 
Non Functional Requirements 
Performance Testing Strategy 
Start early and don’t wait until the code base completely stabilizes. I encourage you to start Performance Testing early, identify opportunities for tuning and go back with feedback to the development teams. 
Work closely with the development teams to meet your documented NFR’s. Make sure you have the buy in of your program leads, environment leads and development team leads. With the appropriate buy in issues get addressed a lot faster. 
Discuss and document your environment requirements. Anything lesser than 100% capacity of production will require you to use some black magic (aka. Performance Modelling Techniques) to extrapolate performance characteristics 
Discuss and document your data requirements (Script data requirements, application data requirements, etc.). Data preparation can be one of the most challenging tasks on a program. 
Discuss & document your Performance Testing and Performance Monitoring (Application + Infrastructure) tool requirements. You will also need to discuss and work out the cost implications due to Virtual Users (VU) licensing. 
Make sure everyone the program understands the NFR’s and overall SVT Business Workload very clearly. Ambiguity in any of these areas will land you in serious trouble later in the program. 
Track performance issues closely. Use your program risks & issues register to track performance bottlenecks that are preventing you from progressing with SVT.
Aspects to consider while Performance Testing 
Consider having a good balance of Performance Engineers, Performance Testers, Diagnostics resources & Application Experts. To be successful you should plan to build a Performance Testing team that doesn’t just execute but also knows how to identify relevant defects, tune the application/database and work with the development teams in coming up with fixes to relevant Performance issues. 
Plan your resourcing model early on. To obtain a good balance of Performance Engineers & Performance Testers you will need a good head start. Obtaining Performance Engineering skills is generally tough and you might want to look at sourcing them from a niche consulting outfit. 
Don’t wait till for SIT & UAT to complete for you to start planning for Performance Test. Performance Testing just before go live is the best way to ensure that your application fails to meet the documented NFR’s (if they even exist i.e.).
Pitfalls to avoid during Performance Testing 
Ensure that you’ve got well defined and clearly articulated Non Functional Requirements. Your Non Functional Requirements should be signed of by business and program management. 
Ensure that you’ve got well defined and clearly articulated Performance Testing Workload & Performance Testing Strategy. Your Workload & Strategy should be signed of by business and program management. 
Ensure that you’ve got the appropriate tools for Performance Testing, Diagnostics & Performance Monitoring. Avoid recommending or using Open Source tool as far as Performance Testing is concerned. There are quite a few affordable tools (including cloud based solutions) for Performance Testing. 
Push for an Performance Testing environment that’s equivalent to production. This will ensure that you don’t have to extrapolate performance of the application from your testing environment into the production environment. 
Model application performance early on in the SDLC using modelling techniques described earlier. You can use a combination of analytical and simulation modelling techniques to validate application performance for the given combination of application architecture and infrastructure capacity. 
Update your Business Workload for Performance Testing as your business grows and the environment business works in changes. Change in Business Workload would require updating of your NFR’s and rebase lining of your Workload for Performance Test. It changes your requirements and can have considerable impact on tool requirements, infrastructure requirements, resource requirements, etc. but is an important that that should be tracked through the life of the program.
Performance Testing Process 
Document Non Functional Requirements 
Document Performance Testing Workload 
Document Performance Testing Strategy 
Document tooling, licensing, data, environment requirements 
Document resource requirements 
Setup Performance Testing Team 
Setup Environment for Performance Testing 
Create Performance Testing Scripts 
Create Data for Performance Testing 
Setup Performance Testing Workload Scenarios within Tesing Tool 
Setup Monitoring & Diagnostics tools 
Execute Performance Tests 
( A ) 
Collect test data from testing, monitoring & diagnostics tool 
Identify performance bottlenecks & tune the application 
Exit if we’ve met our NFRs else loop back to Step ( A )
Challenges involved in Performance Testing 
Challenges convincing the delivery teams to focus on Performance Engineering & Performance Testing activities early in the SDLC 
Challenges obtaining funding for the appropriate performance testing, monitoring & diagnostics tools 
Challenges obtaining the right combination of resources to address your Performance Testing needs 
Challenges obtaining clean, transformed and scaled data for your Performance Testing needs 
Challenges getting access to Business SME for duration of Performance Test 
Challenges getting access to the application SME’s during the course of the program 
Challenges getting buy in from all the development and support teams to support Performance Testing activities 
Challenges convincing the client to invest in Performance Testing infrastructure equivalent to production 
Challenges due to lack of Non Functional Requirements 
Challenges due to lack of understanding of Business workload
Deliverables – Performance Testing 
Following would be the deliverables for Performance Testing - 
Non Functional Requirements document (If not created during the initial PE phase) 
Overall Business Workload to be processed by the application (If not created during the initial PE phase) 
Overall Performance Testing approach 
Tooling requirements 
Data requirements 
Resource requirements 
Infrastructure requirements 
Network requirements
Resources & Tools 
HP Load Runner - http://www8.hp.com/us/en/software-solutions/software.html?compURI=1175451 
IBM Rational Performance Tester - http://www-01.ibm.com/software/awdtools/tester/performance/ 
Microsoft Visual Studio Ultimate Edition - http://www.microsoft.com/visualstudio/en-gb/products 
Webload - http://radview.com/ 
Neoload - http://www.neotys.com/ 
Load Storm - http://loadstorm.com/performance-testing-tool 
Micro Focus Silk Performer - http://www.microfocus.com/products/silk/silkperformer/index.aspx 
SOASTA Cloud Performance Test - http://www.soasta.com/
Thank You 
Please support us by taking a moment and sharing this content using the Social Media Links at Practical Performance Analyst 
trevor@practicalperformanceanalyst.com

More Related Content

What's hot

3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_ResumeCindy Winter
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babuHem Rana
 
Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)designer DATA
 
New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesSlideTeam
 
Performance Testing Principles
Performance Testing PrinciplesPerformance Testing Principles
Performance Testing PrinciplesDariusz Kozon
 
Requirements Gathering Best Practice Pack
Requirements Gathering Best Practice PackRequirements Gathering Best Practice Pack
Requirements Gathering Best Practice PackAmy Slater
 
Reducing the complexity of your Enterprise Packaged Application Automation Te...
Reducing the complexity of your Enterprise Packaged Application Automation Te...Reducing the complexity of your Enterprise Packaged Application Automation Te...
Reducing the complexity of your Enterprise Packaged Application Automation Te...YASH Technologies
 
PEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintPEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintAshock Roy
 
Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Moutasm Tamimi
 
Business requirements template
Business requirements templateBusiness requirements template
Business requirements templateNageswaraRao k
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationXBOSoft
 
Oracle Fusion HCM vs E-Business Suite HRMS
Oracle Fusion HCM vs E-Business Suite HRMSOracle Fusion HCM vs E-Business Suite HRMS
Oracle Fusion HCM vs E-Business Suite HRMSFeras Ahmad
 
ERP harmonization guidline
ERP harmonization guidlineERP harmonization guidline
ERP harmonization guidlineRonen Madar
 

What's hot (20)

3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume3-8-15 Cynthia_Winter_Resume
3-8-15 Cynthia_Winter_Resume
 
SANGEETHA S JADAV
SANGEETHA S JADAVSANGEETHA S JADAV
SANGEETHA S JADAV
 
madvel_QA
madvel_QAmadvel_QA
madvel_QA
 
Downloads abc 2006 presentation downloads-ramesh_babu
Downloads abc 2006   presentation downloads-ramesh_babuDownloads abc 2006   presentation downloads-ramesh_babu
Downloads abc 2006 presentation downloads-ramesh_babu
 
Collaborative Quality Management
Collaborative Quality ManagementCollaborative Quality Management
Collaborative Quality Management
 
Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)
 
New Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation SlidesNew Software Development Proposal PowerPoint Presentation Slides
New Software Development Proposal PowerPoint Presentation Slides
 
Performance Testing Principles
Performance Testing PrinciplesPerformance Testing Principles
Performance Testing Principles
 
Requirements Gathering Best Practice Pack
Requirements Gathering Best Practice PackRequirements Gathering Best Practice Pack
Requirements Gathering Best Practice Pack
 
RRC CMM CMMI
RRC CMM CMMIRRC CMM CMMI
RRC CMM CMMI
 
Reducing the complexity of your Enterprise Packaged Application Automation Te...
Reducing the complexity of your Enterprise Packaged Application Automation Te...Reducing the complexity of your Enterprise Packaged Application Automation Te...
Reducing the complexity of your Enterprise Packaged Application Automation Te...
 
PEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprintPEGA CSA7. 1 exam-blueprint
PEGA CSA7. 1 exam-blueprint
 
Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1Concepts Of business analyst Practices - Part 1
Concepts Of business analyst Practices - Part 1
 
Business requirements template
Business requirements templateBusiness requirements template
Business requirements template
 
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour PresentationSoftware Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
Software Quality Metrics Do's and Don'ts - QAI-Quest 1 Hour Presentation
 
Oracle Fusion HCM vs E-Business Suite HRMS
Oracle Fusion HCM vs E-Business Suite HRMSOracle Fusion HCM vs E-Business Suite HRMS
Oracle Fusion HCM vs E-Business Suite HRMS
 
ERP harmonization guidline
ERP harmonization guidlineERP harmonization guidline
ERP harmonization guidline
 
Requirement Management
Requirement Management Requirement Management
Requirement Management
 
SureshRajanNS-CV
SureshRajanNS-CVSureshRajanNS-CV
SureshRajanNS-CV
 
ERP implementation
ERP implementationERP implementation
ERP implementation
 

Viewers also liked

Virtualization
VirtualizationVirtualization
Virtualizationrajan981
 
Mobile Device Client Application Performance Testing
Mobile Device Client Application Performance Testing Mobile Device Client Application Performance Testing
Mobile Device Client Application Performance Testing XBOSoft
 
Application Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance PuzzleApplication Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance PuzzleLDragich
 
What is Application Performance Management?
What is Application Performance Management?What is Application Performance Management?
What is Application Performance Management?CA Technologies
 

Viewers also liked (7)

Virtualization
VirtualizationVirtualization
Virtualization
 
Mobile Device Client Application Performance Testing
Mobile Device Client Application Performance Testing Mobile Device Client Application Performance Testing
Mobile Device Client Application Performance Testing
 
Performance Testing - Keytorc Approach
Performance Testing - Keytorc ApproachPerformance Testing - Keytorc Approach
Performance Testing - Keytorc Approach
 
Application Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance PuzzleApplication Performance Management - Solving the Performance Puzzle
Application Performance Management - Solving the Performance Puzzle
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
App Dynamics
App DynamicsApp Dynamics
App Dynamics
 
What is Application Performance Management?
What is Application Performance Management?What is Application Performance Management?
What is Application Performance Management?
 

Similar to Primer on application_performance_testing_v0.2

Jaya_Joshi_Software_Testing
Jaya_Joshi_Software_TestingJaya_Joshi_Software_Testing
Jaya_Joshi_Software_Testingjaya joshi
 
Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsInfo-Tech Research Group
 
Satyajit More_Testing_Engineer
Satyajit More_Testing_EngineerSatyajit More_Testing_Engineer
Satyajit More_Testing_EngineerSatyajit More
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle pptArsalanAman
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle pptArsalanAman
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Techpartnerz
 
Praveen jain-new_mob
Praveen jain-new_mobPraveen jain-new_mob
Praveen jain-new_mobpraveen jain
 
1 Ads
1 Ads1 Ads
1 Adslcbj
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineeringMark Turner CRP
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experiencedzynofustechnology
 
Resume_Saurabh jain
Resume_Saurabh jainResume_Saurabh jain
Resume_Saurabh jainSaurabh Jain
 

Similar to Primer on application_performance_testing_v0.2 (20)

Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Jaya_Joshi_Software_Testing
Jaya_Joshi_Software_TestingJaya_Joshi_Software_Testing
Jaya_Joshi_Software_Testing
 
Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right Tools
 
Software testing kn husainy
Software testing kn husainySoftware testing kn husainy
Software testing kn husainy
 
Muthukumaran_K_CV
Muthukumaran_K_CVMuthukumaran_K_CV
Muthukumaran_K_CV
 
Sreedhar_Bandaru_M
Sreedhar_Bandaru_MSreedhar_Bandaru_M
Sreedhar_Bandaru_M
 
Satyajit More_Testing_Engineer
Satyajit More_Testing_EngineerSatyajit More_Testing_Engineer
Satyajit More_Testing_Engineer
 
Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
 
Nandini-CV
Nandini-CVNandini-CV
Nandini-CV
 
Sandeep A Resume
Sandeep A ResumeSandeep A Resume
Sandeep A Resume
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle ppt
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle ppt
 
Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3Learn software testing with tech partnerz 3
Learn software testing with tech partnerz 3
 
Praveen jain-new_mob
Praveen jain-new_mobPraveen jain-new_mob
Praveen jain-new_mob
 
1 Ads
1 Ads1 Ads
1 Ads
 
Slides chapters 26-27
Slides chapters 26-27Slides chapters 26-27
Slides chapters 26-27
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
Software Testing Interview Questions For Experienced
Software Testing Interview Questions For ExperiencedSoftware Testing Interview Questions For Experienced
Software Testing Interview Questions For Experienced
 
Resume_Saurabh jain
Resume_Saurabh jainResume_Saurabh jain
Resume_Saurabh jain
 

Recently uploaded

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Primer on application_performance_testing_v0.2

  • 1. Fundamentals of Application Performance Testing Practical Performance Analyst – 28th July 2012 http://www.practicalperformanceanalyst.com
  • 2. Agenda Performance Engineering Life Cycle What is Proactive Performance Management Holistic View of Performance What is Performance Testing Why is Performance Testing Important Aspects to consider while Performance Testing Pitfalls to avoid during Performance Testing Performance Testing Process Challenges involved in Performance Testing Deliverables for the Performance Testing process Resources & tools for Performance Testing
  • 3. Performance Engineering Life Cycle Software Development Life Cycle Functional Requirements Gathering Architecture & Design Build Application System Test, System Integrated Test & UAT Deploy Into Production Performance Engineering Life Cycle Non Functional Requirements Gathering Design for Performance & Performance Modelling Unit Performance Test & Code Optimization Performance Test Monitoring & Capacity Management
  • 4. Proactive Performance Management Performance Requirements Analysis Performance Modelling & Capacity Planning Build & Optimization Performance Testing Performance Monitoring Capacity Management Proactive Performance Management helps by – Identifying performance issues early in the design Validate suitability of your application architecture for your documented NFR’s Validate your application capacity requirements for the documented NFR’s Advocates early SVT to identify potential bottlenecks early in the build and development cycle Reduces potential for major rework later in the program Advocates using modelling techniques to predict performance impact for growing workload
  • 5. Txn Performance - Response Times, etc. Application Performance – Operations/Sec, Messages/Sec, Transactions/Sec, etc. Infrastructure Performance – CPU Utilization, Memory Utilization, Disk IOPS, etc. Network Performance – Packet Loss, Jitter, Packet Re- ordering, Delay, etc. Holistic View of Performance
  • 6. What Is Performance Testing Performance Testing is quite often confused with Performance Engineering. Although Performance Testing is an integral and important part of Performance Engineering its usefulness is confined to validating Application Performance later in the SDLC (Software Development Life Cycle). Performance Engineering as we’ve defined it in the past consists of a set of roles, responsibilities, processes and deliverables across the SDLC whose objective is to build applications that meet their NFR’s. Performance Testing can be defined as the process of validating your application performance against the set of defined Non Functional Requirements. The objectives of Performance Testing are generally a combination of the following: Validate Application Scalability – Performance Testing Validate Application Performance at Peak Workload – Stress Testing Validate Application Performance over a extended duration of time – Soak Testing Establish Application Breaking Point – Break Point Testing Performance Testing has traditionally been and continues to be a proactive process. Programs and project generally lack both the capability and willingness to consider Performance early in the SDLC. While Performance Testing allows for validation of Application Performance later in the SDLC, a Performance Engineer can use a combination of different modelling techniques to validate application designs, infrastructure capacity and application performance early in the SDLC and mitigate risk accordingly.
  • 7. Why Is Performance Testing Important Performance Testing is important for the following reasons – Identify bottlenecks across the application and highlight opportunities for tuning Validate your design & infrastructure capacity assumptions made early at the design stage To validate if your applications meet the program Non Functional Requirements Validate that the application is able to deliver the expected End User Experience while consuming resources optimally across the infrastructure and network tier To determine the breaking point of your applications. Knowing the breaking point of your applications helps you understand the maximum Business Workload the application can process before performance starts to degrade.
  • 8. Aspects to consider while Performance Testing Following are the aspect you should keep in mind when planning Performance Testing – Performance Testing should ideally start through setting up of the program Performance Engineering team at the Requirements Gathering & Design Stage. At this stage you should be working on closing of the following documents: Program Performance Engineering Strategy Performance Testing Workload Non Functional Requirements Performance Testing Strategy Start early and don’t wait until the code base completely stabilizes. I encourage you to start Performance Testing early, identify opportunities for tuning and go back with feedback to the development teams. Work closely with the development teams to meet your documented NFR’s. Make sure you have the buy in of your program leads, environment leads and development team leads. With the appropriate buy in issues get addressed a lot faster. Discuss and document your environment requirements. Anything lesser than 100% capacity of production will require you to use some black magic (aka. Performance Modelling Techniques) to extrapolate performance characteristics Discuss and document your data requirements (Script data requirements, application data requirements, etc.). Data preparation can be one of the most challenging tasks on a program. Discuss & document your Performance Testing and Performance Monitoring (Application + Infrastructure) tool requirements. You will also need to discuss and work out the cost implications due to Virtual Users (VU) licensing. Make sure everyone the program understands the NFR’s and overall SVT Business Workload very clearly. Ambiguity in any of these areas will land you in serious trouble later in the program. Track performance issues closely. Use your program risks & issues register to track performance bottlenecks that are preventing you from progressing with SVT.
  • 9. Aspects to consider while Performance Testing Consider having a good balance of Performance Engineers, Performance Testers, Diagnostics resources & Application Experts. To be successful you should plan to build a Performance Testing team that doesn’t just execute but also knows how to identify relevant defects, tune the application/database and work with the development teams in coming up with fixes to relevant Performance issues. Plan your resourcing model early on. To obtain a good balance of Performance Engineers & Performance Testers you will need a good head start. Obtaining Performance Engineering skills is generally tough and you might want to look at sourcing them from a niche consulting outfit. Don’t wait till for SIT & UAT to complete for you to start planning for Performance Test. Performance Testing just before go live is the best way to ensure that your application fails to meet the documented NFR’s (if they even exist i.e.).
  • 10. Pitfalls to avoid during Performance Testing Ensure that you’ve got well defined and clearly articulated Non Functional Requirements. Your Non Functional Requirements should be signed of by business and program management. Ensure that you’ve got well defined and clearly articulated Performance Testing Workload & Performance Testing Strategy. Your Workload & Strategy should be signed of by business and program management. Ensure that you’ve got the appropriate tools for Performance Testing, Diagnostics & Performance Monitoring. Avoid recommending or using Open Source tool as far as Performance Testing is concerned. There are quite a few affordable tools (including cloud based solutions) for Performance Testing. Push for an Performance Testing environment that’s equivalent to production. This will ensure that you don’t have to extrapolate performance of the application from your testing environment into the production environment. Model application performance early on in the SDLC using modelling techniques described earlier. You can use a combination of analytical and simulation modelling techniques to validate application performance for the given combination of application architecture and infrastructure capacity. Update your Business Workload for Performance Testing as your business grows and the environment business works in changes. Change in Business Workload would require updating of your NFR’s and rebase lining of your Workload for Performance Test. It changes your requirements and can have considerable impact on tool requirements, infrastructure requirements, resource requirements, etc. but is an important that that should be tracked through the life of the program.
  • 11. Performance Testing Process Document Non Functional Requirements Document Performance Testing Workload Document Performance Testing Strategy Document tooling, licensing, data, environment requirements Document resource requirements Setup Performance Testing Team Setup Environment for Performance Testing Create Performance Testing Scripts Create Data for Performance Testing Setup Performance Testing Workload Scenarios within Tesing Tool Setup Monitoring & Diagnostics tools Execute Performance Tests ( A ) Collect test data from testing, monitoring & diagnostics tool Identify performance bottlenecks & tune the application Exit if we’ve met our NFRs else loop back to Step ( A )
  • 12. Challenges involved in Performance Testing Challenges convincing the delivery teams to focus on Performance Engineering & Performance Testing activities early in the SDLC Challenges obtaining funding for the appropriate performance testing, monitoring & diagnostics tools Challenges obtaining the right combination of resources to address your Performance Testing needs Challenges obtaining clean, transformed and scaled data for your Performance Testing needs Challenges getting access to Business SME for duration of Performance Test Challenges getting access to the application SME’s during the course of the program Challenges getting buy in from all the development and support teams to support Performance Testing activities Challenges convincing the client to invest in Performance Testing infrastructure equivalent to production Challenges due to lack of Non Functional Requirements Challenges due to lack of understanding of Business workload
  • 13. Deliverables – Performance Testing Following would be the deliverables for Performance Testing - Non Functional Requirements document (If not created during the initial PE phase) Overall Business Workload to be processed by the application (If not created during the initial PE phase) Overall Performance Testing approach Tooling requirements Data requirements Resource requirements Infrastructure requirements Network requirements
  • 14. Resources & Tools HP Load Runner - http://www8.hp.com/us/en/software-solutions/software.html?compURI=1175451 IBM Rational Performance Tester - http://www-01.ibm.com/software/awdtools/tester/performance/ Microsoft Visual Studio Ultimate Edition - http://www.microsoft.com/visualstudio/en-gb/products Webload - http://radview.com/ Neoload - http://www.neotys.com/ Load Storm - http://loadstorm.com/performance-testing-tool Micro Focus Silk Performer - http://www.microfocus.com/products/silk/silkperformer/index.aspx SOASTA Cloud Performance Test - http://www.soasta.com/
  • 15. Thank You Please support us by taking a moment and sharing this content using the Social Media Links at Practical Performance Analyst trevor@practicalperformanceanalyst.com