TYPES OF SOFTWARE TESTING
(CL Hours: As per curriculum requirement – usually 6 to 8 Hrs)
🔹 1. Manual Testing
Testing performed manually by human testers without using any automation tools.
🔸 Use: Small applications, UI/UX testing
🔸 Pros: Easy to start, no tools needed
🔸 Cons: Time-consuming, error-prone
🔹 2. Automation Testing
Testing done using automated tools/scripts.
🔸 Use: Regression, performance testing
🔸 Tools: Selenium, JUnit, QTP, Appium
🔸 Pros: Fast, repeatable
🔸 Cons: Initial setup time, scripting knowledge needed
🔹 3. Functional Testing
Tests what the system does (features, actions, results).
✅ Example: Login feature, booking system
🔸 Types: Unit Testing, Integration Testing, System Testing
🔹 4. Non-Functional Testing
Tests how the system works (performance, speed, security).
✅ Example: Load time, data encryption
🔸 Includes:
Performance Testing
Load Testing
Stress Testing
Security Testing
Usability Testing
🔹 5. Black Box Testing
Tester does not know the internal code – focuses on input and output.
✅ Example: Entering login credentials
🔸 Performed at: System & Acceptance Level
🔹 6. White Box Testing
Tester knows internal code/logic – tests paths, loops, conditions.
✅ Example: Unit testing by developers
🔸 Includes:
Statement coverage
Branch coverage
Path testing
🔹 7. Grey Box Testing
Combination of black and white box – tester has limited knowledge of internal code.
✅ Example: Integration testing
🔹 8. Unit Testing
Tests individual components or functions.
🔸 Done by: Developers
🔸 Tool: JUnit, NUnit
🔹 9. Integration Testing
Tests interaction between modules.
🔸 Types:
Top-down
Bottom-up
Big bang
🔹 10. System Testing
Tests the entire system as a whole.
🔸 Verifies functional and non-functional requirements.
🔹 11. Acceptance Testing
Done by the end-user or client to approve software delivery.
🔸 Types: Alpha and Beta Testing
🔹 12. Regression Testing
Re-running test cases to ensure new changes didn’t break existing features.
✅ Use: After bug fixing or new features
🔹 13. Smoke Testing
Quick tests to check basic functionality.
✅ Example: Does app launch and basic features work?
🔹 14. Sanity Testing
Checks whether a specific functionality or bug fix works after minor changes.
✅ Example: Is the “search” feature fixed?
🔹 15. Performance Testing
Checks the speed and responsiveness under load.
🔸 Tools: LoadRunner, JMeter
🔹 16. Security Testing
Validates that the app is secure from threats and data breaches.
🔸 Checks: Authentication, data encryption, SQL injection, etc.