OK, I'll try.
As you correctly identify in your original post, the key to all of this is automation.
Ideally you are aiming for a process where every night something along these lines happens:
- All the current code is retrieved from your software configuration management tool (CVS, Perforce, PVCS, Subversion, etc.)
- This code is built.
- The software is run.
- All your test cases are run through
- A log file is produced that lets you know in the morning of any issues that happened with any of these processes.
In order to accomplish this you could use a tool such as R2build to automate the process as a whole (or write a batch script if you are good enough). Unit testing frameworks, such as JUnit, allow you to build up suites of unit test cases and run them automatically. Test tools exist that allow you to automatically run GUI level test cases (TestComplete being one example) that could implement integration, acceptance or system level test cases.
All of these produce logs that can be viewed in the morning.
Hope that helps as a broad introduction to my take on automated testing process.