Black Box Testing
Black box testing evaluates software purely by its inputs and outputs, with no knowledge of or access to the internal code — the tester treats the system as an opaque box and checks whether it behaves correctly from the outside. Most manual functional and acceptance testing is black box by nature.
Because it doesn't require reading source code, black box testing maps naturally onto requirements and user-facing behavior — testers design cases from specifications, user stories, or simply using the product like a real user would, using techniques like equivalence partitioning and boundary value analysis.
Its limitation is exactly its strength inverted: without visibility into the code, black box testing can miss internal edge cases that never surface as an obviously wrong output, and can't target specific code paths directly the way white box testing can. Most real test strategies combine both rather than picking one exclusively.