If you’re new to software testing, it can seem like a bit of a maze. One site details 46 different types of software testing. What a mess.
In general, though, there are only 4 types tests you’re likely to run into:
- Unit Tests are designed to test individual pieces of code (units) like functions or classes to make sure they behave as expected. Typically, a unit test will provide an input and make sure the function returns the expected output.
- Integration Tests typically test multiple code units in combination to ensure they interact with each other correctly.
- Performance Tests ensure that the product, or subsystems of the product, can perform under heavy loads (such as a high traffic spike on a website).
- Functional Tests, also known as Acceptance Tests or End to End Tests, are a bit different. Instead of testing code, they test real-world scenarios the product itself.
For more info on software testing and the tools to do it, check out Vitali Zaidman’s excellent article.