If the code you posted was indeed the entire trigger, then yes, that will update the entire table
UPDATE test
SET col2 = col1
FROM test
Since there's no conditions, no restrictions and nothing to tell SQL otherwise, that's an update of the entire Test table (as it would be if you ran that update anywhere else)
If you want to restrict to the rows affected by the operation that fired the trigger, you need to join or filter based on the inserted and/or deleted pseudotables.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability