White-box testing techniques involve understanding the internal code and testing it thoroughly. The main methods include statement testing, which ensures every line of code runs; branch testing, which checks every decision's true and false outcomes; and path testing, which tries to cover all possible routes through the code. For example, a simple if-else statement is tested by running cases where the condition is true and false. This helps find bugs that might only appear in certain branches. Testing all branches is important because each can behave differently. Path testing can be complex for large code, so testers focus on critical paths. Statement testing alone may miss bugs in decision logic, so branch testing improves coverage. By following these techniques, testers can find and fix bugs early, improving software quality.