Testing without Test Cases are like as Tree without leaves........ Test cases are the first most important need to perform testing on any application.
Is it required to have Test Cases? So the answer is YES because without test cases the testing is like roaming in the jungle without knowing where is the path.
Initiation Notes of the application, we have some high level documents from where we derived "Test Cases", this high level document can be FRS, DRD, SRS, WireFrame, Style Guide etc.
"As per IEEE Standard 829-1983: Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.”
Test Cases comprises of three utmost requirement an input, event and expected outcome, to verify the flow of that particular feature is working correctly or not.
Test cases should be strictly written by a team members, who have some domain knowledge and far better options is that who understands the function being tested. It should be peer reviews by some senior QC members.
Written test cases are the Validation process, as while creating test cases we validate each & every requirements