Module 2: Software Testing Methods and Levels

White Box Testing

Delve into the code to test it from the inside out, ensuring thorough coverage of internal logic and structure.

Black Box Testing

Use techniques like equivalence partitioning and boundary value analysis to test software functionalities without knowing the internal code.

Gray Box Testing

Combine the benefits of both white box and black box testing for a comprehensive evaluation of the software.

Unit Testing

Test individual components or units of code to ensure they function correctly in isolation.

Integration Testing

Verify that different modules or components of the software work together as intended.

System Testing

Validate the complete and integrated software product by running a series of tests to ensure it meets all requirements and works as intended. This includes both functional testing, which verifies specific functionalities, and non-functional testing, which covers aspects like performance, usability, and security. System testing also involves checking compatibility across different devices and platforms, assessing performance under various loads, ensuring the software can handle long periods of operation and sudden spikes in usage, recovery testing to ensure that the software can bounce back from crashes, installation testing to verify if it installs correctly in different environments, security testing to uncover and fix vulnerabilities, and usability testing to make sure the software is user-friendly and provides a good user experience.

User Acceptance Testing (UAT)

Get final validation from end-users to ensure the software works as expected in real-world scenarios.