
Learn how transactions and business flows define web application performance, covering workload, think time, pacing time, ramp up, ramp down, and concurrent users.
Explore key database performance metrics including query response time, database connections, and deadlocks, with focus on indexing, connection pool limits, and monitoring during load testing.
Explore application performance monitoring (apm) for performance testing, capturing timely metrics and improving production readiness. Trace transactions, monitor thresholds with alerts, and enable cross-team root-cause troubleshooting and collaboration.
Explore Linux monitoring tools like the ps command, top, vmstat, io top, and netstat to track processes, CPU and memory usage, and zombie processes.
Explore iotop for real-time io top monitoring, using sudo to run in batch mode, filter by pid, add timestamps, and generate io read/write metrics suitable for graphing.
Gather application level requirements for online and APIs, including peak loads, SLA details, and API throttling. Identify batch jobs, reports, dashboards, and related upload/download SLAs and production peak scenarios.
Learn to define performance testing coverage by marking in-scope and out-of-scope items using the first methodology and the 80-20 rule to prioritize APIs and interfaces.
Identify and document required performance test types, define test approaches for each type, and set acceptance criteria to guide peak load testing, load testing, shock testing, and stress testing.
Define the monitoring framework for performance testing: what to monitor, how often, data collection, correlation, and presentation; alerts, sampling frequency, time synchronization, and a cohesive monitoring stack.
This course covers the basics and fundamental concepts of Application Performance Engineering.
The course is aimed for those who want to learn Performance Engineering from the scratch but to learn towards the advance level of performance engineering concepts, covering the fundamental concepts of Application Performance Engineering, Requirements Gathering, The engineering behind determining whether Performance Testing is required or not, the elements of Performance Test planning and execution and Results Analysis.
This course is designed specifically for those whoever has the responsibility towards the application performance testing / non-functional aspects of the software products like the products owners, deliver managers and heads, Test Engineers / Test Leads / Test Managers and even IT heads or CTOs.
This course will give the confidence and fundamental knowledge in the Performance testing area, to clear any level of interviews. This course very useful for those who want to choose a career or change career into Performance Testing / Performance Engineering.
This course also has an introduction to PT with Gen AI model, that gives the high-level strategy to the model. You can use and develop the same too.
Course Contents:
1. Introduction to Performance Testing and AI
1.1. Introduction to Performance Testing
1.2. Types of Performance Testing
1.3. Know the Terminology
1.4. Recap
2. Performance Testing - What, NOT, Why, When and How
2.1. WHAT and WHAT NOT is Performance Testing
2.2. Reason and Objectives of Performance Testing - the WHY
2.3. Determine when and What type of Performance Testing to be conducted
2.4. Performance Testing Lifecycle and HOW it is done
3. Performance Monitoring Metrics
3.1. Application Performance Metrics
3.2. Server-Side Metrics
3.3. Database Performance Metrics
3.4. Network Performance Metrics
3.5. Application Logs, Errors, Filesystem utilization
4. Application Performance Monitoring (APM)
4.1. APM Introduction - benefits, features, Sample report screenshots
4.2. Some APM tools and report samples
4.4. Monitoring checklist
- Ensure all components and interfaces are covered
- Prepare a list of monitoring counters
- Enable monitoring from before starting the test and end after the testing is completed.
5. Performance Monitoring using Operating System Commands - The Practical
5.1. OS commands for APM - Introduction
5.2. Linux - ps command
5.3. Linux - top command
5.4. Linux - vmstat command
5.5. Linux - iotop command
5.6. Linux - netstat command
{5.7. Linux commands - summary and conclusion}
5.8. Windows server monitoring
6. Demystifying Performance Testing: Myths, Pillars, and Insights
6.1. Performance Testing - Some Myths and Realities
6.2. Performance Testing - three pillars
6.3. Performance testing - thumb rules and hypothesis
7. Performance Requirements Gathering - An extensive How-to-do analysis
7.1. Performance Requirements Gathering - Introduction
7.2. Two types of Performance Requirements
7.3. Application Level Requirements Gathering - Part1
7.4. Application Level Requirements Gathering - Part2
7.5. Testing Level Requirements Gathering
7.6. A simple performance requirements gathering questionnaire
7.7. An extensive Performance Requirements Gathering template for download
8. Elements of Performance Test planning
8.1. Project overview / release overview.
8.2. Objectives and purpose of Performance Testing.
8.3. Conduct Assessment on PT required or NOT
8.4. Test coverage - In-scope / Out-scope
8.5. PT vs Prod Environment Comparison
8.6. Workload modeling
8.7. Determine what performance test types are required
8.8. Monitoring Framework
8.9. Test Data Requirements
8.10. Performance Test Project Management Elements
9. Assessing the need for the Performance Test - How to determine?
9.1. PT Assessment - Introduction
9.2. Decision tree and Situations of 'Need for PT'
9.3. Non-major release changes - PT Assessment
10. Special case production scenarios for Performance Testing
Special scenarios that Performance Engineers must know before planning
11. The Future of Performance Engineering
- Performance Engineering with GenAI
- Performance Engineering with GenAI - Where it can go wrong