Software Testing Types Cheat Sheet
1. Unit Testing
- Description: Testing individual components or modules of a software in isolation to ensure they
function correctly. Typically performed by developers during the development phase.
- Example: Testing a single function that calculates the sum of two numbers to verify it returns the
correct result.
2. Integration Testing
- Description: Testing the interaction between integrated units or components to detect interface
defects. Ensures that combined parts of an application function together as intended.
- Example: Verifying that a login module correctly interacts with a database to authenticate users.
3. System Testing
- Description: Testing the complete and integrated software to evaluate the system's compliance
with the specified requirements.
- Example: Testing an entire e-commerce application, including user registration, product search,
order placement, and payment processing.
4. User Acceptance Testing (UAT)
- Description: The final phase of testing where the end-users validate the software against their
requirements to ensure it can handle real-world scenarios.
- Example: Users testing a new payroll system to confirm it processes salaries correctly before it
goes live.
5. Smoke Testing
- Description: A preliminary test to check the basic functionality of the software. It determines
whether the critical features work and if the build is stable enough for further testing.
- Example: After a new build, verifying that the application launches successfully and the main
menu is accessible.
6. Sanity Testing
- Description: A subset of regression testing focused on verifying that specific functionalities work
as intended after minor changes or bug fixes.
- Example: After fixing a bug related to password reset, testing only the password reset
functionality to ensure it's working correctly.
7. Regression Testing
- Description: Re-running previously conducted tests to ensure that new code changes have not
adversely affected existing functionalities.
- Example: After adding a new payment method to an online store, testing all payment options to
ensure they still work correctly.
8. Performance Testing
- Description: Evaluating the speed, responsiveness, and stability of the software under a
particular workload.
- Example: Testing how a website performs when 10,000 users access it simultaneously.
9. Load Testing
- Description: Assessing the software's behavior under expected user loads to identify
performance bottlenecks.
- Example: Simulating 1,000 concurrent users on a web application to ensure it can handle the
expected traffic.
10. Stress Testing
- Description: Testing the software beyond normal operational capacity to observe how it handles
extreme conditions.
- Example: Increasing the number of users until the system crashes to determine its maximum
capacity.
11. Usability Testing
- Description: Evaluating the software's user interface and overall user experience for
intuitiveness and ease of use.
- Example: Observing users as they navigate an application to identify areas of confusion or
difficulty.
12. Security Testing
- Description: Assessing the software for vulnerabilities and ensuring that data and resources are
protected from potential intruders.
- Example: Testing an application for SQL injection vulnerabilities.
13. Compatibility Testing
- Description: Ensuring the software works as intended across different devices, browsers,
operating systems, and network environments.
- Example: Verifying that a website displays correctly in Chrome, Firefox, Safari, and Edge.
14. Alpha Testing
- Description: An internal testing phase conducted by the organization's employees before
releasing the software to external users.
- Example: Company staff testing a new mobile app in-house to identify bugs before a beta
release.
15. Beta Testing
- Description: A testing phase where a select group of external users evaluates the software in a
real-world environment to provide feedback before the official release.
- Example: Releasing a pre-launch version of an app to a group of users to gather feedback on its
performance and usability.