A description of one or more actions with an outcome, used to determine whether a system operates correctly.
A description of one or more actions with the expected outcome or system response. The outcome determines whether the System under test (SUT) operates correctly. Correct operation consists of satisfied requirements, correct error recovery and usability, among other things.
Test-cases can be formal or informal, manual or automated. In this last case it is sometimes referred to as test script. Preconditions can be part of a test case. The full suite of test-cases should determine if the SUT is ready for release.
The canonical reference here is What Is a Good Test Case?