Black box testing focuses on inputs and outputs without knowledge of internal implementation - this is the definition of functional testing. Structural testing (glass box) requires code knowledge, performance testing measures speed/scalability, and requirements testing validates against specifications (though all functional tests ultimately trace to requirements).