Dariusz Kozon - Performance testing principles
-
Upload
trojmiejska-grupa-testerska -
Category
Software
-
view
78 -
download
0
Transcript of Dariusz Kozon - Performance testing principles
![Page 1: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/1.jpg)
S
Performance Tests Principles
Author Dariusz Kozon
![Page 2: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/2.jpg)
What is performance testing?
Following Wikipedia:
”performance testing is in general testing, performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage
![Page 3: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/3.jpg)
Test vs Testing Envs
Test environment Testing environment
Application server and DB server
Testing application (for instance JMeter)
Application itself Testing computers (and threads)
Network on servers side Network on site testing infrascructure
Static files services Sniffers (like Fiddler)
Profilers
Test specification and requirements
![Page 4: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/4.jpg)
Load Test
Key questions: Can we get expected load on level XYZ users in time of DD:HH:MM? How big are standard response times?
What we can find there: Confirm intended specification are being met Check critical scenarios Chcekc expected number of users and find ut standard
system behaviour under estimated load Find out response times and compare with requirements
and\or market and\or techincal standards Find out bottlenecks in application and DB Servers
![Page 5: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/5.jpg)
Stress Test
Key questions: How is system’s robustness under extreme load? How system fails?
What we can find there: Find out upper capacity of load (for
application and DB) Find out system stability and breaking points Find out safe usage limit (f.eg. point for
finding additional resources in cloud)
![Page 6: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/6.jpg)
Soak / Endurance tests
Key question: How system will perform after couple hours / days / weeks / longer period of time?
What we can find there: Memory leaks DB Cache warming up Decrease response times under rising time of
execution load
![Page 7: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/7.jpg)
Spike tests
Key question: How system fails and restore itself?
What we can find: Behaviour after extreme load in short time
![Page 8: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/8.jpg)
Other various scenarios
Testing and find proper configuration of environment
Scalability tests
Big number of low users
Low number of heavy users
…
![Page 9: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/9.jpg)
Remember
It would be great if tests are: Realistic (to business KPI) Scalable and parameterized
HTTP/S testing != front end rendering time
![Page 10: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/10.jpg)
Possible bottlenecks
Test environment Testing environment
Memory and CPU usage on APP server
Memory and CPU usage on computer
Memory and CPU usage on BD server
Possible threads to use on computer
Network Network
Simulating testing from other geo loactions
![Page 11: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/11.jpg)
Load balancer
For wide picture we need to remember: First test particular nodes of server Next when particular nodes are OK, test entire
environment using Load balancer Test some configurations of load balancer to
find best one (especially in case of different resources on nodes)
![Page 12: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/12.jpg)
Do we need cache? <tricky>
Answer is Yes. Why?
On production cache will be turn on Don’t forget about queries which are the same and don’t
change in time of work. Part of the performance tests should be time when cache is
warming up.
Why this question is valid? Why anyone would switch this off? Test data are very crucial from perspective of cache More test data = more reliable tests There could be situation when you are testing cache instead of real DB
![Page 13: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/13.jpg)
Analyse
What we need to analyse performance results: Results from performance tool Results from profiler on side of server (execution of
particular methods) Status of CPU and Memory usage in time on db and
app servers Know bottlenecks Know what we exactly tested (load balancer, entire
server? nodes?, exclude bottlenecks)
![Page 14: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/14.jpg)
Tools
![Page 15: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/15.jpg)
How much it cost?
It always depends but according to environment (and scale to real production environment), how system is big and how much time it will get, time spent on analyse of results – it preety always one of the most coslty types of tests accross projects.
![Page 16: Dariusz Kozon - Performance testing principles](https://reader030.fdocuments.us/reader030/viewer/2022032504/55c34f74bb61eb7a778b4723/html5/thumbnails/16.jpg)
Thanks for attending!
If you have any questions feel free to ask me