There are various types of testing known throughout the software industry, but there are three main types that are consistently used, especially in web application development. They are as follows:
Unit testing
Integration testing
End-to-end testing, also known as functional testing
These three types of testing comprise what is known as the software testing pyramid. The pyramid can be broken down into more granular forms of testing, but this is how it looks from a high vantage point:
The bottom level of the software testing pyramid is unit testing. Unit testing targets the smallest pieces of an application, or units, in isolation from the remainder of the application. A unit is typically an individual method or object instance. When you test a unit in isolation, it means that the test should not interact with any application dependencies, such as network access, database access, user sessions, and any other dependencies that may be needed in the real-world application...