QTP uses its object repository to refer to objects present in your test and which have been recorded, if you wish to use objects that were not recorded and are not present in your object repository then we use descriptive programming, where QTP does not refer to object repository but the property name and value are mentioned in the code itself for QTP to use it for e.g this is not Desc. prog.

Browser(“Mercury Tours”).Page(“Mercury Tours”).WebEdit(“username”) This is desc prog. Browser(“Title:=Mercury Tours”).Page(“Title:=Mercury Tours”).WebEdit(“Name:=Author”, “Index:=3”).Set “Mahesh”