Answer these questions as complete and detailed as possible in order to demonstrate understanding of Unit Test.
1. How should unit test be approached?
2. What are the goals and objectives for unit test?
3. What are the key criteria for unit test to be complete - how do you know you are done unit testing?
4. What kind of testing is unit test (black-box, white-box, boundary, etc.) and make sure to explain what that type of testing does?
5. What are code coverage and data coverage and how they relate to unit test?
6. Who normally writes and executes unit test?
7. How do you determine that a defect has been found in UT?
As defects are found during unit test who then fixes them? What happens next after defect is fixed in the code being tested?