Your code will not accomplish what you want to do.
This line
Set TestLists = TestFact.NewList("")
is intended to retrieve the new test case, correct? When you use the NewList method you have to provide a filter to tell it what you want in your list. You provided an empty filter. Therefore you will get a list of ALL Tests in your project. You need to provide a filter that will get you just the one new test case.
Note also that what you get back is a list, which will have 1..n Tests in it. The next line in your code
TestLists.Field("TS_DESCRIPTION).Value = "Copied"
is wrong because you are not attempting to update a single test in that list. You need to find the single test in the list, and update it. The code would be something like
set aTest = TestLists.Item(i) aTest.Field("TS_DESCRIPTION").Value = "Copied"
Note also that by setting the value of the Description field as you have, you will be overwriting any value it had originally. In the new test case the Description field will say only "Copied". Any text in that field from the original test case will be lost.