To make sure that you can find the time of truncation you have to adjust the query a bit, as you can't find the time if another action has been performed to the table.
Changing it to:
SET NOCOUNT ON;
DECLARE @ObjectName SYSNAME
SET @ObjectName = 'dbo.TestTable'
-- Your schema qualified table name here
--============== Retrieving the UserName & Time when the table was truncated, based on the TransactionID
SELECT @ObjectName AS ObjectName
, [Transaction Name]
, SUSER_SNAME([Transaction SID]) AS UserName
, [Begin Time]
, Operation
, [Transaction ID]
FROM fn_dblog(NULL, NULL)
WHERE [Transaction ID] IN (SELECT [Transaction ID]
FROM fn_dblog(NULL, NULL)
WHERE AllocUnitName = @ObjectName)
AND [Transaction Name] LIKE 'TRUNCATE%'
AND Operation = 'LOP_BEGIN_XACT'
allows you to find the truncation, might have to have an order by if there are more than one in the lifetime of the log.