1) White box testing will be done at Unit level. Generally this is responsbility of Developers. They have to go through the entire code and verify for any logical problems. Developers should also check for any thing in the code which is going to cause performance problems and accordingly code should be optimized. There are many other things which should be checked in white box testing. For ex : Component Testing using Test Model with VB or VC++. Code review to verify for follow the coding guide lines. Check for comments. Check for unwanted code in the file etc etc..
2) Black box testing is a responsbility of teters. They write the test cases and test according to it. It can be Integration Testing i.e. after integrating more than one unit. It can be System/ Regression Testing. After the 70-80% integration is completed and build will be released with some build number