Unit 2 covers white box testing techniques including control flow testing and data flow testing. Control flow testing aims to execute all statements, branches, and paths in the code. Different coverage criteria like statement coverage and branch coverage are discussed. Data flow testing checks for data flow anomalies like variables being defined but not used or used but not defined. A data flow graph example is provided to illustrate data flow terminologies like all-c-uses criterion. Advantages of white box testing include thorough testing of all code paths while disadvantages include complexity, time consumption, and requiring specialized resources.