Ciprian balea automated performance-testing

24
DISCIPLINED INNOVATION AUTOMATED PERFORMANCE TESTING FOR DESKTOP APPLICATIONS CIPRIAN BALEA

description

 

Transcript of Ciprian balea automated performance-testing

Page 1: Ciprian balea   automated performance-testing

D I S C I P L I N E D I N N O VAT I O N

AUTOMATED PERFORMANCE TESTING

FOR DESKTOP APPLICATIONS

CIPRIAN BALEA

Page 2: Ciprian balea   automated performance-testing

THE SCARY QUESTION OF APPLICATION

DEVELOPMENT

How does it perform in real life conditions?

Never as first expected!

Page 3: Ciprian balea   automated performance-testing

BENCHMARKING

Ideally: • consumming as little resources as possible without loosing

functionality• the app should not break / slow the system down

What impact does the app have on the system running it?(is the system still reliable)

How does the app perform when running on the host system? (does it keep all functionality)

Page 4: Ciprian balea   automated performance-testing

HOW TO PREDICT THE FUTURE?

Run it multiple times, and average out.

A slingle run doesn’t acurately predict real life usage.

Page 5: Ciprian balea   automated performance-testing

HOW TO GET A CREDIBLE RESULT

Avoid inconsistencies induced by the outside world=> no Internet connection, own webserver & assets

Page 6: Ciprian balea   automated performance-testing

WHAT’S OUR APPLICATION ABOUT

A custom web browser

Page 7: Ciprian balea   automated performance-testing

HARDWARE SETUP

© Copyright 2013 3PILLAR GLOBAL All rights reserved 7

Page 8: Ciprian balea   automated performance-testing

BIG PROBLEM #1: HOW TO KNOW HOW MUCH

THE PAGE TOOK TO LOAD

Small solution:

Based on the HTML content, loading time cannot be computed.(element loading order is not consistent across multiple runs)

Page 9: Ciprian balea   automated performance-testing

BIG PROBLEM #2: HOW TO READ SYSTEM

RESOURCE USAGE WITHOUT 3RD PARY TOOLS

Small solution (a):

Page 10: Ciprian balea   automated performance-testing

BIG PROBLEM #2: HOW TO READ SYSTEM

RESOURCE USAGE WITHOUT 3RD PARY TOOLS

Small solution (b)

Page 11: Ciprian balea   automated performance-testing

BIG PROBLEM #3: HOW TO MANIPULATE THE

APPLICATION’S GUI

Small solution:

Page 12: Ciprian balea   automated performance-testing

WHAT DATA WE COLLECT

Test 1• Webpage load time• CPU usage• Memory usage• Disk I/O

Test 2• Timing a „complex” operation

Page 13: Ciprian balea   automated performance-testing

TEST 1:

READING SYSTEM STATISTICS

Page 14: Ciprian balea   automated performance-testing

HOW IS THE DATA COLLECTED

Not at the start of the game

Not at the end of the game

Throughout the entire game

Page 15: Ciprian balea   automated performance-testing

HOW IS THE DATA COLLECTED

Page 16: Ciprian balea   automated performance-testing

RUNNING THE TEST

One test sequence:

• clear cache

• open the browser

• start reading system data

• load webpage

• close the browser

• save result in an Excel spreadsheet

Full test:

• restore the “clean” snapshot of the test environment

• automatically run the test sequence for 1000 times on the

native browser

• automatically run the the test sequence for 1000 times on

the custom browser

Page 17: Ciprian balea   automated performance-testing

RUNNING THE TEST

Page 18: Ciprian balea   automated performance-testing

TEST 2:

TIMING A „COMPLEX” OPERATION

Page 19: Ciprian balea   automated performance-testing

„COMPLEX” OPERATION

Open the browser

Load a webpage

Bookmark page

Go to homepage

Open bookmark

Wait for page to load

Page 20: Ciprian balea   automated performance-testing

RESULTS

Page 21: Ciprian balea   automated performance-testing

RESULTS

Page 22: Ciprian balea   automated performance-testing

CONCLUSIONS

It can be automated with an initial effor, but the returned value is huge.

Offers very concludent results on what needs to be improved in the application to boost performance.

Performance testing is very important as it can reveal performance flaws.

Is very time & effor consuming to do manually.

Page 23: Ciprian balea   automated performance-testing

Q & A

Page 24: Ciprian balea   automated performance-testing

THANK YOU !