Test Driven development means
A. Development progress is allowed only upon successful completion of tests in previous stage
B. Automated tests written by test engineers
C. An approach in which test cases are written and sometimes even automated before coding
D. Development of test cases by programmers rather that test engineers
C