Smoke Tests: These test cases are executed to check if the critical functionalities of the program are working fine.
They can be further broken down into 3 types:-
- Unit/Component Testing: Checks if individual components or functions work the way as expected.
- Integration Testing: Checks if the components work with each other as expected.
- End-to-End Testing: A complete application test to check if the application works as expected.
Performance Tests: A performance test is any test that measures performance, stability, scalability and/or throughput of an application.
They can be further broken down into 5 types:-
- Load Testing: Tests if the application can handle expected normal and peak load.
- Soak/Reliability Testing: A soak test is a long-running load test used to determine application performance and stability over time.
- Stress Testing: Checks behavior of applications above peak load conditions.
- Capacity Testing: Capacity Test determines the number of users app can handle before either performance or stability becomes unacceptable.
- Spike Testing: Verify system stability during bursts of concurrent users or system activity.
There are many different kinds of tests that I haven't included related to design, security and some I am not even aware of. I have included only the ones I think are related to development in TLDR format.
This was my first post, please leave your feedback. Also, let me know if I have made any mistakes.
Throughput: The amount of material or items passing through a system or process.
Scalability: The capacity to be changed in size or scale.