If we had to make a choice between Dynamic Black Box testing vs Static White Box testing which one should we prefer ? Dynamic Blackbox testing is testing without having an insight of the underlying code whereas Static White box testing is code review without executing it.
If you absolutely have to choose, take black box testing. It doesn't help if the code is in perfect shape if it is doing wrong thing. Testing should also validate that the product can be actually used for solving customers' problems.
That said, I don't see why you should (or could) ever limit testing to only one type. Different strategies bring out different problems and it's better to do a little of each kind than spend all the time doing one thing.