
Hi Klive
Thank you, we are working on make this site even better.
you have posted a large and complex question...
i think you have touch the "Gray" area of QTP.
i don't know if there is a formula a the right way to use Smart Identification feature, only the experience talks.
when first i met "smart identification" i was confused. you have 3 places in qtp where you can enable/disable the feature ( object identification, repository and test settings ) this can be very confused to new programmers.
all the object identification mechanism is depend on the Object identification, Object repository, in the Web page/frame options. all the time you have to "play with those, until you find the best. as i said, no formula, is also very depending on the AUT , and what you want to do. so i can tell you what i do, i don't know if is the best, but it works for me. i am NOT using Smart identification at all, is disble everywhere. i want to be in controll on my AUT and script. smart identification is sometimes "too Smart" the evidence for that , is the problem you described "SI identifies List1 as List2".
my advice for you is to work with the following procedure :
1. use the Object repository and try to find the optimal way to identify your objects
2. after you decide, make the configuration on Object identification. DON'T forget to generate a script, especially if you run QTP on different machines.
3. on Page/frame options use always "different test object descriptions"
the bullet 4 of your question was produced based on Page/Frame options configuration.
i hope i helped you a little.
but again, the best way, is your way.