Showing posts with label Stress Testing. Show all posts
Showing posts with label Stress Testing. Show all posts

The difference between Performance Testing and Stress Testing

It's common among test engineers to mix between performance testing and stress testing. It's worth to mention that the difference between the two lies in how they are executed:

Performance testing (aka load testing) is testing that is performed, from one perspective, to determine how fast some aspect of a system performs under a particular workload. [source]. A very simple analogy is by imagining yourself holding a stopwatch while your work colleague is performing certain navigations and mouse clicks on a web application. Your job here is to take time measures for the transactions. Then compare them to the required figures.

The purpose of performance testing is to make sure that the system is running according to the required response time performance specifications under a particular load. And to reveal the system time bottlenecks and thresholds.

The challenge in performance testing is to achieve a workload for the testing environment that is a close match to that of production environment.



Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity. [source]. The application under test is subjected to extraordiary loads that may cause it to crash. In more details, it's intended to exhaust the system hardware resources (memory, storage).

The purpose of stress testing is to fortify the system against unusual workloads or attacks such as bots, DOS or DDOS attacks.



References:
Automated Software Testing