Stress testing -Term often used interchangeably with 'load' and 'performance' testing. Also used to describe such tests as system functional testing while under unusually heavy loads, heavy repetition of certain actions or inputs, input of large numerical values, large complex queries to a database system, etc. Stress testing is designed to test the software with abnormal situations. Stress testing attempts to find the limits at which the system will fail through abnormal quantity or frequency of inputs.
For example:
Higher rates of interrupts
Data rates an order of magnitude above 'normal'
Test cases that require maximum memory or other resources.
Test cases that cause 'thrashing' in a virtual operating system.
Test cases that cause excessive 'hunting' for data on disk systems.
Can also attempt sensitivity testing to determine if particular combinations of otherwise normal inputs can cause improper processing.
Performance testing - Term often used interchangeably with 'stress' and 'load' testing. Ideally 'performance' testing can be achieved by load and stress testing results. Once results are captured from load and stress testing, performance of application will be derived and improvements needed to application can be discussed with Developers, DBA, Network Admins, Server Admins and other related teams with Performance Tester. Testers will point out bottle necks of application so that associated teams will find out solution to improve application performance.