During recording, QTP looks at the object and stores it as a test object. For each test object, QT learns a set of default properties called mandatory properties, and look at the rest of the objects to check whether these properties are enough to uniquely identify the object. During the test run, QTP searches for the runtime objects that match with the test object it learned while recording.