Morning@lohika presentation performance in Agile

Post on 02-Aug-2015

66 views 1 download

Tags:

Transcript of Morning@lohika presentation performance in Agile

Andrey Kovalenko5 last years in IT - again. 3 years of developing and implementing distributed protected networks2 last years - performance engineer.

kovalenko.andrey.odessa

Why do we need performance?

What is performance?

Load testing - to verify application behavior under normal and peak load conditions.

Stress testing - To determine or validate an application’s behavior when it is pushed beyond normal or peak load conditions.

Capacity testing - To determine how many users and/or transactions a given system will support and still meet performance goals.

Performance testing flow

What do we need for it?Performance testing

=

Performance testing = long and expensive process

Agile&Performance• Agile is: • Fast • Flexible • Team members embrace different roles

• Traditionally, performance testing is: • Slow (many weeks) • Needs a ‘code freeze’ • Requires an environment for the testing • –Dedicated test tool ‘experts’

When?

Performance in Agile - Gut)Architecture and code optimization

Application failure

Bottleneck early detection

Release date

Real customer data and scenarios

Resolving performance issues

Some best practicesintegrate yourself into the Sprint team/Dev team

Use functional tests for performance

Include your performance tests in CI

Make fixing functional bugs that block performance test a high priority

Don’t pre-optimize before testing

Know when performance is good enough

Cheap! Fast! Quality!

LoadRunner

Some stuff to learnResponsibilities

• Conduct performance regression test, analysis and create test reports summary

• Design performance STP for new features• Create and debug scripts for load tests • Implement tests and analyze data to identify system bottlenecks• Coordinate with customer support teams to diagnose performance issues • Analyze on performance and capacity, tune large scale JAVA applications

(from code level)• Suggest option for resolutions of problems • Maintain, troubleshoot and resolve DB and JAVA application server issues• Interact closely with Dev and QA teams for assure overall quality• Propose performance improvements for product.

Some stuff to learnSkills

• Deep knowledge of HTTP load generation, measurement software• Experience with Oracle/MSSQL Databases and SQL tuning and scripting, Oracle

AWR reports and trace logs • Deep knowledge and experience in Windows and Linux OS• Strong understanding on network, Web servers and browsers• Strong in performance requirement analysis, and construction of performance

test cases• Strong understanding of Java, .NET and VB coding and the use of Java SDK

performance tools.• Experience with HTTP, REST and web services• Deep knowledge in Java Performance (CPU, Memory, IO, SWAP, Network usage),

hotspot detection, GC logs, optimization and analysis of bottle-necks using various profilers

• Able to send executive summary of the tests

Q&A