Black-box testing is a method of
software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied to virtually every level of software testing:
unit,
integration,
system and
acceptance. It typically comprises most if not all higher level testing, but can also dominate
unit testing as well.