Scripting
Scripting, or programming, commonly refers to a process in which test cases are first developed by testers, usually in verbal form, and then automated, usually by a specialized automation engineer.
Experienced automation engineers will often factor out common functionalities in their script code, and create functions for them. A typical example is the login function that takes a username and password, and can be invoked from any other function in the script when a log in action towards the system under test has to be emulated.
Scripting generally can be considered a good approach, leading to structured and well-designed automation. However, the need to script each test case costs time and creates a large number of scripts that must be managed and maintained.