How necessary is it for testers to do white-box testing in addition to black-box testing? As a developer, I see value in having a QA-minded person go through my code and look for weak points, but it also seems like if a non-technical tester is thorough and methodical enough, they can cover the application well.
White box testing may reveal important test cases that wouldn't be obvious while looking only at the application from a user's perspective, but exclusively black-box testing might take less time, and significantly increases the number of people who are capable of doing the job. Also, a nontrivial amount of white box testing should be performed by the developer before it ever gets to the tester, am I right?