0% found this document useful (0 votes)
27 views33 pages

Performance Testing: Lee Miguel López

This document discusses performance testing and provides guidance on when and how to conduct it. Performance testing is a non-functional test of how well an application and environment work together under different loads. It is a vital part of the software development lifecycle to ensure an application can perform well when users perceive it. The document recommends performance testing for applications with concurrent users, distributed architectures, or new releases, and outlines the key steps as defining realistic targets, scripting transactions, running tests with monitoring, analyzing results, and summarizing findings.

Uploaded by

Ashihs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views33 pages

Performance Testing: Lee Miguel López

This document discusses performance testing and provides guidance on when and how to conduct it. Performance testing is a non-functional test of how well an application and environment work together under different loads. It is a vital part of the software development lifecycle to ensure an application can perform well when users perceive it. The document recommends performance testing for applications with concurrent users, distributed architectures, or new releases, and outlines the key steps as defining realistic targets, scripting transactions, running tests with monitoring, analyzing results, and summarizing findings.

Uploaded by

Ashihs
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

PERFORMANCE

TESTING
Lee Miguel López
Performance Testing Engineer
[email protected]
@milopez_ch
Walkthrough
1. What is
2. Why is
3. When is recommended
4. What can I do
5. Inside the project
6. What do I need
What is Performance Testing
- Non Functional test.
- Application + Environment.
- Different kind of test.
- Vital part of software development life cycle.
- Performing well? => Perception.
- System perf. = Σ Modules perf.
Why to do Performance Testing
Talking about seconds...

15
4 2 sub
2 ms

Simple Short time Emotionally Remember Instantaneous


Intensive work
Conversational Memory committed Information
interaction
Performance Testing Standards
- There ARE NOT standards.
- What I want && What I need.
- But…

Application Performance
Management
When is recommended
1. Application with concurrent users. (dah!)
2. Response Time > Critical.
3. Distributed architecture.
4. Shared infrastructure or components.
5. New version or releases.
6. Before sale campaigns. (e-commerces)
What can I do?
Replicate: HTTP, FTP, TCP, JDBC,
MongoDB, JMS, WS, LDAP, OS,
SSH, … … … ISO 8583

Monitoring environment.

Export and correlate results.

Analysis and diagnosis.

“Tell me which protocol are you


made of. And I will test you”
Inside the project
What do I need?
1. Make sure your code is ready and code freeze.
2. Design Performance Test Environment
Environment: Expectation
Environment: Reality
Performance Test Architecture
What do I need?
1. Make sure your code is ready and code freeze.
2. Design Performance Test Environment.
3. Setting “Realistic” performance targets.
4. Define and create scripts to emulate transactions.
Scripting

- Think Time (simple, random, gaussian)


- Delays (uniform, synchronized)
- Conditional (simple, double, multip.)
- Loop (switch, while, throughput )
- Assertions (http code, text, time)
- Managers (cache, cookies, sessions)
- Regex
Scripting
What do I need?
1. Make sure your code is ready and code freeze.
2. Design Performance Test Environment.
3. Setting “Realistic” performance targets.
4. Define and create scripts to emulate transactions.
5. Test Data (RIP Performance Testing)
6. Running test.
Running Tests
Types of Performance Testing
Load Test
- Am I ok or not?
- Simulate expected
conditions.
- Important/Critical
transactions.
- Overall performance.
- SLA defined by owner.
Scalability Test

- How much can I grow?


- Same app, same env.
- Future expectations.
- Max acceptable level.
- SLA could be changed.
Soak Test
- Is memory fine?
- Load test during long time.
- Memory starvation.
- Garbage collector.
- Could take hours, days or
even weeks.
Stress Test
- Where am I weak?
- Unexpected conditions.
- Extreme load.
- Modified scripts.
- Find break points.
- Vital for some scenarios.
Other kinds
DEBUG PROFILING

BASELINE
What do I need?
1. Make sure your code is ready and code freeze.
2. Design Performance Test Environment.
3. Setting “Realistic” performance targets.
4. Define and create scripts to emulate transactions.
5. Test Data (RIP Performance Testing)
6. Run Test and Monitoring.
7. Interpreting results.
Analysis and Monitoring

QUEST SQL
What do I need?
1. Make sure your code is ready and code freeze.
2. Design Performance Test Environment.
3. Setting “Realistic” performance targets.
4. Define and create scripts to emulate transactions.
5. Test Data (RIP Performance Testing)
6. Run Test and Monitoring.
7. Interpreting results.
8. Summary.
Q&A
PERFORMANCE
TESTING
Lee Miguel López
Performance Testing Engineer
[email protected]
@milopez_ch

You might also like