Test case is condition under which a tester determines if a requirement upon an application is satisfied. Test case is the testing document of QA engineer. This is his testing data. He prepares it in order to test functionality of application as better as possible.

Here are the main goals of test cases writing:

1) Test case tells what steps should be executed upon requirement to make sure that it works as intended

2) Test case keeps the testing data; tester always knows what data he should set up before testing (prerequisites)

3) Test cases are the base of knowledge about the requirement. When testers exchange features for testing they almost do not need knowledge transfer

4) Test case is the best way to show new testers how to test requirement

5) Due to test cases status QA Lead knows what is tested in application and what is not tested, what are the bug full areas, and what features are bug free.