1. Unit Testing
Tests individual functions, methods, or modules in isolation.
- Example: Check if
add(2, 3)returns 5. - Tools: Jest, Vitest, Mocha, JUnit, NUnit
2. Integration Testing
Tests how different modules or components work together.
- Example: Test a database query function together with an API endpoint.
- Tools: Supertest, Postman, Jest (with integration setup)
3. Functional Testing
Verifies that the software works according to specifications.
- Example: Test user login, payment processing, or other functional flows.
- Tools: Selenium, Cypress, Playwright
4. End-to-End (E2E) Testing
Tests the complete workflow from the user's perspective.
- Example: Fill a form → Submit → Data saved in database → Confirmation message appears.
- Tools: Cypress, Playwright, TestCafe
5. Acceptance Testing
Ensures the software meets client or business requirements.
- Example: Verify features against a client's expected feature list.
- Tools: Cucumber, Robot Framework
6. Regression Testing
Ensures that new code changes don't break existing functionality.
- Example: After a new release, confirm older features still work.
7. Performance / Load / Stress Testing
Tests system performance, scalability, and stress limits.
- Example: 1000 simultaneous users → check server response time.
- Tools: JMeter, Locust, Gatling
8. Security Testing
Tests for vulnerabilities, threats, and access control issues.
- Example: SQL injection, XSS, authentication bypass.
- Tools: OWASP ZAP, Burp Suite
9. Smoke / Sanity Testing
Smoke Testing: Quick check for major functionality.
Sanity Testing: Check minor changes or bug fixes.
10. UI / Accessibility Testing
Tests frontend components and accessibility features.
- UI Testing: Component layout, visuals, interactions.
- Accessibility Testing: Screen readers, keyboard navigation.
- Tools: axe, Lighthouse, Cypress + axe plugin
11. Exploratory / Ad-hoc Testing
Manual testing without a predefined plan to discover unexpected issues.
- Example: Test unconventional paths or edge cases not documented.
Frontend vs Backend Testing
- Frontend: Unit, Integration, E2E, UI, Accessibility
- Backend: Unit, Integration, API, Performance, Security
