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?