Black-box testing (also known as functional testing) describes designing test cases without knowledge of the implementation, without reading the source code. The testers are only aware of what the software is supposed to do, not how it does it.
Black-box testing methods include:
Black box testing can be used to any level of testing although usually not at the unit level.