Generically, you are given a situation asked to write different test scenarios.
Next, it depends on the team... Some have totally automated and some teams are working on semi-automated and others on manual.
For totally automated: Scripting languages like a shell, Perl, Python, etc.,
Semi-automated: Test Scenarios and scripting/programming languages
Manual: Patience test