• No results found

Agile Performance Testing

N/A
N/A
Protected

Academic year: 2021

Share "Agile Performance Testing"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

Agile Performance Testing

Cesario Ramos

(2)

Overview

• Why Agile performance testing?

• Nature of performance testing

• Agile performance testing

(3)
(4)

We experience

Primary problems after project release are

NOT system crashes or incorrect system

responses

Primary problems are

1. Responsiveness degradation

(5)

Webshop for phones

Worked good during testing

In production system failed after 15

minutes

Authentication server load was not

taken into account 

(6)
(7)

Delay Hand-offs Defects Inventory Relearning

We see

(8)
(9)

We expect?

• To decrease overall lead-time

– Throughput accounting v.s. Cost

accounting

• To have less problems in production

• Decrease risk, increase reliability

• To achieve overall better quality

(10)

Still we see mostly

(11)
(12)

WHY?

• Performance test team is expensive, overworked

– We can only test the complete system

– Performance testing against a moving target – What happens to my baselines during sprints? – “First make it work, then make it fast”

• Deployment team is expensive, overworked

– Deploying to test environment is very difficult and time consuming

(13)

WHY?

• “premature optimization is waste!” • Separate teams

– Developers, Testers, Deployers, Analysts • Costs are high for frequent deployment

Production like environments are expensive • We need specialists for performance

(14)
(15)
(16)
(17)
(18)

Performance activities, refined and executed in

collaboration.

(19)

What’s in it for you?

• Project manager

– Improved quality. – Decreased risk. • Developer

Will have effective discussions with

requirement engineers and performance testers.

(20)
(21)

Grey box testing

• You must understand how it works in order to write relevant test scripts.

(22)

Beware of

Integration points

Chain reactions

Blocked threads

Unbalanced capacities

(23)

Build stub components

• Simulate SLA's

• Test against the stubs

• Create failure modes

– Slow network responses

– Huge data responses

(24)

Correlation problem

Per server

– Thread pools – Connection pools – Request Response times – CPU usage – Memory usage – JVM behavior

(25)

Tuning

Who dominates the CPU?

– Operating system? (OS system load on CPU) – JVM? (object lifecycle, garbage collection)

– Application? (algorithms)

– None (blocked threads most of the time)

There’s always one most prominent performance problem

(26)
(27)

Feature driven planning is needed

Build a release plan where you

performance test every few sprints,

when couple of related features are

done!

Need for establishing Baselines

(28)

Invest in automatic

Deployment

Smoke tests

(29)

Exploratory performance testing

• Local performance tests

– Memory leaks

– Memory usage patterns – Threading issues

• Code Reviews

• Checks on use of boundedness, use of timeouts

• Use of caching, cache configuration

(30)

Deployed performance tests

– Workload issues

• #clients, request frequency, arrival rate, duration

– Configuration

• Thread pool sizes, Connection pool sizes, Cache sizes, JVM configuration, queue sizes, …

Application

• Replication, remote methods calls, database interactions, asynchronous messages, security

(31)

When a performance problems is

found

1. write a failing test for it

2. make it work local

3. make it work on the deployed

environments

(32)

Summarizing

Performance testing is agile and iterative by nature! Grey box testing

Avoid re-runs

(33)

Agile Performance Testing

Cesario Ramos

Independent Consultant

AgiliX Agile DevelopmentConsulting

References

Related documents

These are curved tiles made in various shapes and sizes to suit the work in which they are to be used Tiles to be used in the construction of sewage carrying

Normally, cells with genetic alterations or cells infected by virus are eliminated by ‘self-induced’ cell death – apoptosis, or killed by immune cells following its recognition -

Configuring the WebContainer and database connection pool sizes for a WebSphere Commerce

 Basal Series Basal Series Norite is a mafic intrusive igneous rock composed largely of the calcium- Norite is a mafic intrusive igneous rock composed largely of the calcium-

Washington Business Journal will not “float” ads submitted smaller than the space that was reserved.. Partial page ads must have borders or artwork

Although CNN has been shown as a powerful image processing method, there is limited work developing CNN architectures that are effective in 3D segmentation problems for

We now investigate the potential energy of the time- averaged “PFC” configuration of ρ (1). The average total potential energy including all sampled metastable states as calculated

This research has proven that therapy of murottal Al-Qur’an is effective for reducing anxiety levels in patients with diabetes mellitus of type 2.. The results of this study are