Hi Vie,
'Test' is a code created using one of three scripting languages supported by TestComplete - either VBScript, or DelphiScript or JScript (C#Script and C++Script are essentially a JScript wrapped with C# or C++ syntax mainly for Connected applications). This code can be either recorder (and then modified), or created from the scratch exactly like developers do when they develop some application.
Originally, this script test code was the only means to create tests in TestComplete.
Later on, Keyword tests were added to TestComplete in order to add a usability for the business area experts who have a knowledge what and how the tested application should be operated but who have limited or no experience in programming. They are suggested to use Keyword tests as they allow create more understandable tests for non-programmers.
Obviously, scripted tests are much more powerful and script code can use standard programming techniques like library functions, calling functions from external DLLs, etc. However, scripted tests and Keyword ones are integrated in TestComplete. Integration means that you can convert your keyword test to the scripted code (but not vise versa) by calling the relevant context menu command from the keyword test editor. Also it is possible to call keyword test from the script code and execute script code as a step of the keyword test.
P.S. By the way - Documentation provided (as help system) with TestComplete (as well as with AQtime and AutomatedBuildStudio) is one of the best I've ever met. It covers a huge area, including not only detailed description of all TestComplete's features and functionality, but also conceptual topics like testing types, possible approaches, etc. It is definitely worth detailed reading and personally I have a habit to go through it periodically to refresh my memory with the possible options and approaches that I am not using at the moment.