Functional and structural testing can be applied at all test levels. Functional testing focuses on verifying that the software behaves as expected based on the requirements, while structural testing examines the internal structure and workings of the software. These testing approaches are complementary and can be used together at various stages of testing, including component, integration, system, and acceptance testing. Applying both types of tests ensures a comprehensive evaluation of the software's functionality and internal structure​​.