All of the above.
Most importantly, a finely detailed test plan.
Testing starts during development but unit testing and end to end testing specific changes. Next would be integration test of all changes togeather.
Regression testing is used to ensure new changes are not breaking already established and working code.
UAT is the requirement of code quality to be accepted by the user. It must meet a baseline in order to be promoted to a production environment
Automation is a tool you can use to perform some of these tasks, but its not a test process. Not to be rude but it would appear you need a lesson in how Test process works and what needs to happen to ensure code quality.