White-box testing is a software testing technique that uses knowledge of the internal workings of a system to design test cases. It involves testing internal structures or workings of a program, such as code coverage. The document discusses different white-box testing techniques like statement coverage, decision coverage, condition coverage, and multiple condition coverage. It aims to execute every statement, decision path, condition, and combination of conditions in the code. White-box testing is more effective at finding defects earlier in the SDLC but also more expensive and difficult to implement than black-box testing.