In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected. Although functional testing is often done toward the end of the development cycle, it can봞nd should, 봟e started much earlier. Individual components and processes can be tested early on, even before it's possible to do functional testing on the entire system.
Functional testing covers how well the system executes the functions it is supposed to execute봧ncluding user commands, data manipulation, searches and business processes, user screens, and integrations. Functional testing covers the obvious surface type of functions, as well as the back-end operations (such as security and how upgrades affect the system).


The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand. Stress testing deals with the quality of the application in the environment.
The idea is to create an environment more demanding of the application than the application would experience under normal work loads. This is the hardest and most complex category of testing to accomplish and it requires a joint effort from all teams. A test environment is established with many testing stations. At each station, a script is exercising the system. These scripts are usually based on the regression suite. More and more stations are added, all simultaneous hammering on the system, until the system breaks. The system is repaired and the stress test is repeated until a level of stress is reached that is higher than expected to be present at a customer site.
Race conditions and memory leaks are often found under stress testing. A race condition is a conflict between at least two tests. Each test works correctly when done in isolation. When the two tests are run in parallel, one or both of the tests fail. This is usually due to an incorrectly managed lock. A memory leak happens when a test leaves allocated memory behind and does not correctly return the memory to the memory allocation scheme. The test seems to run correctly, but after being exercised several times, available memory is reduced until the system fails.

Related Documents
  1. Selenium Automation Testing Framework for Functional Testing of Web Applications (12000)
  2. Website Cookie Testing, Test cases for testing web application cookies? (4969)
  3. Website Stress Testing using JMeter (1279)
  4. [Paid] BB TestAssistant 3.0 : screen-recorder-based software testing tool (1109)
  5. Web Application Load, Stress and Performance Testing Using WAPT (1750)
  6. Functional End to End Testing (1231)
  7. Top 20 practical software testing tips you should read before testing any application. (4280)
  8. The future of software testing Part one Testing in production (2132)
  9. Web Application-Functional Testing Checklist (3511)
  10. Load, performance and stress testing (1913)
  11. Software Testing: Functional Testing (1937)
  12. Functional testing (1075)
  13. Context driven testing + Risk based testing (3161)
  14. Exploratory Testing - Risk-Based Agile Testing (3907)
  15. Mobile Application Testing (13615)
  16. Testing without a Functional Requirement (1562)
  17. Functional Testing...what it is (625)
  18. Web Testing: Complete guide on testing web applications (5493)
  19. Regression Test Report Template for functional (Manual)testing (2886)