
Discover the basics of performance testing, measuring processing capacity under load with metrics like transaction response time, server and database performance, throughput, and network utilization.
Learn the five core performance testing types: load, endurance, stress, volume, and scalability, plus soak testing and peak loads, and day-in-the-life patterns used in production scenarios.
Learn how transactions and business flows define web application performance, covering workload, think time, pacing time, ramp up, ramp down, and concurrent users.
Define the transaction workload by specifying the load as the number of users and transactions during performance testing, and apply this to applications such as banking, stock trading, and ticketing.
Clarify thing time and pacing time as time delays that tune the firing rate of test transactions to mirror the production load pattern.
Apply ramp up and ramp down to simulate peak load for a 24/7 app. Introduce 350 test users gradually and use these phases for preparation, not production results.
Define concurrent users as the number of active sessions on the application at the same time, illustrated by web apps with 10,000 users and 5,000 active actions.
Learn what to test in performance testing across web, mobile, cloud, and AI apps, including REST APIs, GraphQL, WebSockets, databases, and microservice metrics.
Explore the reasons and objectives of performance testing: meeting user expectations for speed and uptime and SLAs, scalability under spikes, regulatory compliance, and CI/CD driven improvements.
Map scenarios to test types—load, peak load, soak, stress, endurance, volume, and scalability—to decide when to run performance testing; apply peak load and soak tests for apps and releases.
Master the performance testing lifecycle by identifying application characteristics, defining scope and data needs, crafting scenarios and scripts, executing tests, analyzing results, and iterating toward production-ready performance.
Explore application level metrics for web/api, batch jobs, and queues, including response times, transactions per second, throughput, and queue depth indicators used to detect bottlenecks in load tests.
Explore server-side metrics that reveal performance, including CPU utilization across cores or processes, memory usage in MB/GB, and disk IO metrics such as ops per second, throughput, latency, and utilization.
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 how network latency, bandwidth utilization, and throughput shape application performance during load testing, and identify network bottlenecks.
Monitor the application's logs, including db and file system activity, plus testing tool logs, to validate transaction completeness, track timestamps and record counts, and capture screenshots for root cause analysis.
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.
Survey popular apm tools such as Dynatrace, AppDynamics, and New Relic, and review client, server, database, and network monitoring, tracing, drill down dashboards, and alerting.
Identify all components and external systems to monitor, and list monitoring counters for each. Start monitoring before testing and continue through and after the test to capture issues.
Explore how operating system commands can provide application performance monitoring metrics as a low cost alternative to APM tools, with more manual analysis and setup.
Explore Linux monitoring tools like the ps command, top, vmstat, io top, and netstat to track processes, CPU and memory usage, and zombie processes.
Use the top command in batch mode (-B) with a delay (-D) to monitor cpu, memory, and swap utilization and capture per-process details such as pid, user, and command.
Explore monitoring Linux server performance with vmstat, focusing on memory, swap, I/O, and CPU statistics, using a five-second interval and exporting output for graphing in Excel.
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.
Learn to use netstat to monitor active connections and open ports between app and DB servers, employing -a, grep, and wc with timestamped logs every five seconds to a file.
Explore myths and truths of performance testing, covering the three pillars, thumb rules, and hypotheses, while teaching a continuous approach across groups and test types from load to spike.
Identify and validate the three pillars of performance testing—environment, volumes, and source code versions—to ensure valid, reliable production decisions.
Learn thumb rules for sizing performance test environments and volumes. Validate deployment configurations and hypotheses, and align system params such as JVM memory, OS limits, and connections with production.
Define performance requirements clearly to establish a test hypothesis, align the team, and prevent costly production issues. Learn why proper gathering enables realistic budgets, risk identification, and actionable insights.
Gather performance requirements at two levels: application level and release level, capturing architecture details and release-specific testing needs, using a mind map to create a comprehensive checklist.
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 gather performance requirements by estimating data volume growth, capture architecture and deployment details, and identify interfaces and APIs with SLAs for end-to-end testing readiness.
Gather testing level requirements for performance, including goals, entry and exit criteria, test data, data masking, test bed and environment details, regulatory constraints, and project management information.
Explore a simple performance requirements gathering questionnaire and its top ten questions to define scope and objectives. Capture business context, technology stack, user distribution, and input channels for performance metrics.
Discover a comprehensive performance requirements gathering questionnaire template for performance engineering, covering application and testing level questions and test project management contacts.
Explore elements of performance test planning, including project overview, release overview, objectives, scope, environments, workload modeling, test types, monitoring, data needs, and project management, to blueprint testing for release success.
Define objectives and purposes of performance testing to fit each project and app, then determine current performance, benchmark improvements, and specify triggers and expected outcomes after changes or cloud migration.
Carry out a performance test assessment during planning to decide if testing is required and whether to use full and component-level tests, with examples static content changes versus configuration changes.
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.
Compare production and test environments for realistic testing. Apply thumb rules: test size should be 33%–100% of production, scaled evenly across components, without reducing per-server instance counts.
Model workloads for realistic performance testing by simulating user journeys and transaction mixes. Set peak over volume and 90th percentile service level agreements for online transactions and batch jobs.
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.
Master performance test management by outlining roles, dependencies, schedules, and contingency plans, and defining deliverables, communication, risk, defect, and cost controls to govern testing activities.
Use pt assessment to decide whether performance testing is required. It covers new launches, release changes, or business events, with outcomes from no test to full pt.
Use a flowchart-driven PT assessment to decide testing needs for business-critical versus low-critical apps. Analyze impact, release or infra changes, and apply peak load, scalability, endurance, and failover tests.
Assess non-major release changes by focusing on runtime performance, pt assessments for each change, and use examples like server configuration, regulatory purposes, and stored procedure effects.
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