Correct - you have to put in a condition to check for existence, or rather a NOT EXISTS. Just to confirm - you want to insert into tblQuoteTest rows from tblQuote that do not already exist in tblQuoteTest?
From dbo.tblQuote q
Where q.BrId = 1012
And q.quoStatus In ('Active', 'Hold')
And Not Exists (Select * From dbo.tblQuoteTest qt Where qt.QuoteID = q.QuoteID)
If this query returns the rows you want to insert - then you can change it to an insert statement. You need to insert all required columns.
You need to perform the update first - and then perform the insert. If you do the insert first - then the update will update the rows you just inserted as well as the rows that were not updated.
You can use a JOIN or EXISTS for the update or the insert. For an insert, if you want to use a join then you can use an outer join and only include rows where the joined tables key column is null.
Either way - the first step should always be writing the query to get the rows and validating the logic is working before changing it to an insert or update.