Skip to main content

What is Performance Testing

  • Performance testing evaluates how well a system behaves under a specific workload. It ensures the speed, scalability, and stability of an application.

  • The objective is to identify bottlenecks, optimize response times, and ensure systems perform under various conditions.

performance-testing

Performance Metrics​

  • Time taken to respond to a user’s request.

  • In software and web applications, it's the time between:

    • A user making a request. ie: Clicking a button or sending an API call.

    • The system returning a response. ie: Loading a page or delivering data.

Types of Performance Testing​

  • Measure the system's performance under expected user loads.

  • The purpose is to identify:

    • Handle expected traffic volume.

    • Maintain performance. ie: Response time and Throughput.

    • Stay stable under normal conditions.

  • For example, If the app is designed for 500 concurrent users, you simulate 500 users doing typical actions. ie: Browsing and Purchasing and then monitor:

    • Response time.

    • Error rate.

    • Resource utilization.

  • It helps ensure good user experience during daily peak usage, not just under ideal or extreme conditions.

Performance Testing Tools​

JMeter

  • JMeter is an open-source tool to simulate multiple users and test web applications.

  • JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications.

  • It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.

  • Supports HTTP, HTTPS, databases, and REST APIs.

LoadRunner

  • LoadRunner is an Enterprise-grade tool for testing large-scale applications.

  • Supports various protocols (HTTP, FTP, WebSockets, etc.).

  • Generates detailed reports on bottlenecks and system performance.

Gatling

  • Gatling is a Scala-based tool for performance testing of APIs.

  • Focused on high throughput and concurrency testing.

k6

  • k6 is a modern, scriptable load testing tool.

  • Integrates well with CI/CD pipelines and DevOps tools.

Performance Testing Strategies​

  • Test Early - Integrate performance tests in the development phase.

  • Simulate Realistic Workloads - Use data that mimics actual user behavior.

  • Baseline Testing - Establish baseline performance to compare future changes.

  • Monitor Resources - Track CPU, memory, and network usage to detect bottlenecks.

  • Analyze Results - Look for trends, response time spikes, or throughput issues.

Module Review​

Click to start the definition to term matching quiz
Drag the defintion to the correct term.
Click to start the multiple choice quiz
Choose from the listed options below.

Score: : 0 / 20 [0.00 %]

Question 1 of 20: If a server handles 100 requests in 10 seconds, what is the throughput?