I never understand the concept of Unit Test but now I know what it's the objective.
A Unit Test is not a complete test. So, it's not a replacement for QA and manual test. The concept of TDD in this aspect is wrong since you can't test everything, including private methods but also, methods that use resources (especially resources that we don't have control). TDD is basing all its quality is something that it could not be achieved.
A Unit test is more a pivot test You mark some arbitrary pivot and the result of pivot should stay the same.