Recognising of Objects:
Quick test uses a method when it learn the objects during the the recording.First it looks at the object on which u r recording and stores in a test object, determining in which test object it fits.Then for each test object QTP will has a list of mandatory properties that it allways learn.Every time while you recording the test QTP will learn these default values to provide Unique identification number.After this also if QTP fails to provide Unique idendification number then we can some more properties to get the Unique identification number.If those are also not suffiecient then QTP will then adds a special ordinal identifier(it will search from left top to bottom right to provide the Unique identification number).
Test Object:
Test Object is an object that QTP creates in the test to represent the actual object in the application.It will help during the test run to recognise the object.
Run Time Object:
It is an actual object in the application on which methods are performed during the test run.
Run time object property values may change dynamically when we are opening the application. So to match our test object property values with runtime object property values we can modify the property values by manually or by using a SetTOproperty statement during the test run or by using the parameterization also we can do the same.
We can retrive or modify the property values of the test object during the test run by adding in the expert view with GetTOPropery and SetTOpropery to match the property values.
Object(description).SetToProperty property,value
Object Spy:
By using Object spy we can view the properties of any objectin our application.Tools>Object spy.Click on hand icon and select the object in our application.we will get all the properties of that selected object.

During the test run if QTP fails to recognise the object then we must select the object in the keyword view and right click for the object properties and notedown the properties then select object spy from tools menu and move the hand icon to the object in the application.Compare the property types or class and property values with the noted properties.

When an object changes in your application or if you want to change the logical name of the object in the application then we have to select the object in the keyword view select tools->Object repository->select object ->right click ->Rename. The changes you made to the object is effecting to all the places i.e for keyword view and also in the expert view for that action if we use Object repository in per-action mode.
In Shared repository mode the changes you made to the object is effected to the other actions also.

Recording Modes:
In normal recording mode QTP will record all the operations performed on the objects.This recording mode is default in QTP.Recognization of objects in our application regardless of thier location on the screen.

Analog Mode:In analog mode QTP will record the mouse movements on the desktop travelled by x and y co-ordinates.This mode is usefull when we want to capture the screen area or to record digital signatures etc.
Low level recording:we can use low level recording mode for recording tests in an environment or an object not recognize by the QTP.We can also use this mode to use then exact coordinates of the object are important in our application.

Synchronization point:To anticipate the timing problems we use synchoronisation point.Synchronisation point will instruct QTP to pause the test untill remaining process is ready to perform to next step.
WaitProperty propertyname,propertyvalue,Time out.
or insert->step->Synchronisation point.
y=browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Exist
counter=1 'initialising with 1
While y=1 'initialising with 1
Wait (10) 'while y=1 wait for the bellow page for 10
y=browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Exist
counter=counter+1 'counter =2
If counter =10 Then 'when counter is 10 then
y=2 'y=2 it will come out of the loop.
End If

CheckPoints:Check Point is an Observation Point.QTP will compare the actual result with the Expected Result.If is there any mismatches found then QTP will write the test as fail.You can insert check point as
browser.("").page("").check checkpoint(property)
if we want to know whether the check point fail or pass in a boolian value then we have to open and close the brackets for the checkpoint statement.
browser.("").page("").check (checkpoint(property))

There are 7 check points available in QTP.
1)Standard Check Point :We can Check that a specified object in our application or web page has the property values as we expected. ex: we can check the check box whether itis checked or unchecked.
2)Image Check Point:Checks the value of an image in our application or web page . We can verify that the selected image source is correct or not.
3)Bitmap Check Point:Checks an area of a web page or application as a bitmap
4)Table Check Point:We can check that specified value is displayed in cell in data table is correct or not by inserting table check point.
5)Text Check Point: We can verify with the Text check point that the selected text on the object or string in application or web page is correct or not.
6)Text Area check point: we can verify the text string is displayed with in a window application , according to the defined criteria
7)Accessability Check Point: we can check whether the developed web site is with the confirmation of W3c web accessablity guidelines or not.
8)Page Check Point:We can check how long a web page takes to load completely or particular web page loaded or not or web page contains broken links or not.
9)Database Check Point:Checks the contents of a database accessed by our web site.we can check the fare of flights with the flights information table.
10)XML Check Point:Checks the data content of XML documents in xml files or xml documents in web pages and frames.