Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

PERFORMANCE

TESTING
Lee Miguel López
Performance Testing Engineer
milopez@belatrixsf.com
@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
milopez@belatrixsf.com
@milopez_ch

You might also like