[quang nguyen] performance test in best practices

20
QUANG NGUYEN Senior QA at KMS [email protected] Best Practices in Performance Test STC 2014

Upload: ho-chi-minh-city-software-testing-club

Post on 10-May-2015

365 views

Category:

Software


47 download

DESCRIPTION

Performance testing is an essential component of software testing to ensure quality of many software applications. Failure to test software performance may result in serious problems when the software is deployed. This presentation discusses the best practices that can be applied for performance testing. This presentation also provides a method that helps you go through all key steps to perform performance testing successfully.

TRANSCRIPT

Page 1: [Quang Nguyen] Performance Test in Best Practices

QUANG NGUYEN

Senior QA at KMS

[email protected]

Best Practices in Performance Test

STC 2014

Page 2: [Quang Nguyen] Performance Test in Best Practices

AGENDA

OBJECTIVES

IDENTIFYING PERFORMANCE REQUIREMENTS

DOING PERFORMANCE TEST TASKS

Q&A

Page 3: [Quang Nguyen] Performance Test in Best Practices

OBJECTIVES

Sharing an approach

Doing performance testing tasks efficiently

Page 4: [Quang Nguyen] Performance Test in Best Practices

4 4

PERFORMANCE REQUIREMENTS

Page 5: [Quang Nguyen] Performance Test in Best Practices

Identifying the business transaction

5

• Define and document each execution step

• Identify all input data requirements and expected responses

• Determine the type of users

• What is the connectivity path

• Will this be an active or passive transaction

Page 6: [Quang Nguyen] Performance Test in Best Practices

Providing test data

6

Input data

• User Credential

• Search Criteria

• Associated documents

Target data

• Sizing

• Data Rollback

Runtime data

• Data returned from application

Page 7: [Quang Nguyen] Performance Test in Best Practices

Designing test environment

Numbers of servers, load

balancing strategy

Hardware inventory, software inventory

External links Numbers of

test machines

Network infrastructure(L

AN, WAN, CLOUD)

7

Page 8: [Quang Nguyen] Performance Test in Best Practices

Designing test environment

8

This picture illustrate the typical deployment model

Page 9: [Quang Nguyen] Performance Test in Best Practices

Setting performance targets

9

• In order to design realistic targets you need to consider: environment, business requirements, technical…

Example Target Names Target

Concurrent virtual users/concurrent application users 10000< target <100000

Response Time <1000 ms

Available time or up time available time > 24hrs

Throughput 100/sec

Network utilization

Data Error rate <2%

Server utilization

CPU utilization <80%

Memory utilization <4GB

Disk IO Wait <5%

Db processing delay < 500 ms

Page 10: [Quang Nguyen] Performance Test in Best Practices

Choosing performance test tool

• A test tool typically have the following modules: scripting module, test management module, load injectors, analysis module

• Evaluate a performance test tool you need to consider: tool vendor support, licensing model, scripting effort, solution versus load testing tool, support/community

10

Page 11: [Quang Nguyen] Performance Test in Best Practices

Estimating time

11

• Identify business transaction

• Prepare test environment

• Identify and create enough test data

• Prepare and execute performance test

• Analyze result and report

Page 12: [Quang Nguyen] Performance Test in Best Practices

12 12

PERFORMANCE TEST TASKS

Page 13: [Quang Nguyen] Performance Test in Best Practices

SETUP TEST ENVIRONMENT

• Allow enough time to configure and build the environment

• Take external links into account

• Ensure correct deployment and configuration of application, monitoring tool, performance test tool.

Page 14: [Quang Nguyen] Performance Test in Best Practices

TRANSACTION SCRIPTING

• Identify the transaction runtime data.

• Confirm and apply transaction input data

• Determine the transaction checkpoints

• Ensure that the transaction replays correctly

• Configure the right “think-time”

14

Page 15: [Quang Nguyen] Performance Test in Best Practices

PERFORMANCE TEST EXECUTION

• Execute baseline tests

• Execute load tests

• Execute isolation tests

• Execute soak tests (if time allows)

• Execute stress tests

15

Page 16: [Quang Nguyen] Performance Test in Best Practices

ANALYZE RESULT REPORT,RETEST

• Capture and back up all data created

• Compare test results to performance targets

• Root cause analysis

• Document the results of the project.

• Use the final results as baseline data for End User Experience (EUE) monitoring.

16

Page 17: [Quang Nguyen] Performance Test in Best Practices

Conclusions

• Performing performance test is not only a challenge but also an interesting task. I hope this presentation could help you apply this to your real work.

17

Page 18: [Quang Nguyen] Performance Test in Best Practices

References

• The art of application performance testing – Ian Molyneaux

• Performance Testing Guidance for Web Applications - J.D. Meier, Carlos Farre,Prashant Bansode, Scott Barber, Dennis Rea

18

Page 19: [Quang Nguyen] Performance Test in Best Practices

19 19

Q&A

Page 20: [Quang Nguyen] Performance Test in Best Practices

© 2014 HCMC Software Testing Club

THANK YOU