Una definición rápida que podría dar es la siguiente:
Es un mecanismo especial que se activa dentro del QTP cuando no puede reconocer los objetos de prueba en tiempo de ejecución y presentes sus propiedades en el Repositorio de Objetos. Cuando ésto sucede, hace uso de ciertas propiedades para identificar los objetos no reconocidos, en forma inteligente. Como resultado de esta mecánica, muestra un mensaje de advertencia y un enlace para leer el resultado final.
Ahora bien, si queremos analizar más en profundidad este tema, ‘hay mucha tela para cortar’:
En el momento en que se esta grabando una aplicación web, algunas de las acciones no son identificadas por el QTP debido a algunos efectos de filtrado que se asocian a la página web, en ese momento podemos estar utilizando la opción de SI (Smart Identification) para registrar tales efectos.
Cuando el QTP usa la descripción registrada para identificar objetos, busca que un objeto coincida con cada uno de los valores de las propiedas en la descripción.
En la mayoría de los casos, esta descripción es la forma más sencilla de identificar el objeto, salvo que la principales propiedades del objeto hayan cambiado, este método funcionará.
Si QTP es incapaz de encontrar cualquier objeto que coincida con la descripción del objeto grabado, o si encuentra más de un objeto que se ajuste a la descripción, a continuación QTP ignora la descripción escrita y utiliza el mecanismo de SI (Smart Identification – Identificación Inteligente) para tratar de identificar el objeto.
Si bien el mecanismo de SI es más complejo, éste es más flexible y por lo tanto, si se lo ha configurado lógicamente, una definición de SI probablemente puede ayudar al QTP a identificar un objeto, si está presente, incluso hasta cuando la descripción falla.
Todo este resultado queda registrado y se puede acceder a través de una ventana a partir del mensaje de advertencia.
QTP identifica todos los objetos mediante el uso del Repositorio de objetos, pero en el caso de haber sufrido cambios algunas de las propiedades del objeto a probar o cambios en las descripciones, el QTP no es capaz de reconocer estos efectos, por lo tanto en estos casos utiliza el mecanismo de SI.
El SI contiene principalmente las propiedades del filtro básico y opcionales, los filtros básicos son obligatorios, mientras que los opcionales son adicionales para identificar el objeto.
Primero son utilizados los básicos y como ayuda, después los opcionales.
Proceso de SI
Cada vez que el QTP no es capaz de identificar el objeto usando las propiedades obligatorias y de asistencia, irá por el mecanismo de SI (Smart Identification). En este proceso se utilizan todas las propiedades de filtros base en un tiempo y prepara una lista de objetos que son coincidentes con el conjunto de las propiedades filtros base. Si la lista contiene solo un objeto, entonces ese es el objeto. De lo contrario, si la lista contiene más de un objeto se irá por la primera propiedad de filtro opcional y trata de eliminar los objetos que no son coincidentes con las propiedades.
Si la lista contiene sólo un objeto, entonces ese es el objeto.
De otro modo, se irá por la segunda propiedad de filtro opcional. Este proceso continúa hasta el final de las propiedades de todos los filtros opcionales. Si es capaz de identificar el objeto únicamente con este tipo de proceso, entonces se llevará a cabo la operación en este objeto. De lo contrario, irá por el Identificador Ordinal y si cualquier identificador esta disponible va a identificar el objeto más o menos.
Si no dispone de identicador el QTP, no podrá identificar el objeto.
Este proceso se conoce como mecanismo de identificación inteligente o proceso de eliminación (Smart Identification – SI)
Internamente, el esquema que maneja es:
QTP contiene 2 tipos de capas
1. La capa normal
2. La capa inteligente
QTP identifica el objeto sobre la base de cuatro propiedades:
- Propiedades obligatorias (MPS)
- Propiedades de asistencia (APS)
- Base de filtros de propiedades (BFPS)
- Propiedades de filtros opcionales (PFO) y en identificador adicional ordinales (OI)
Las dos primeras propiedades y OI se almacenan en la capa normal.
BFPS y OFPS serán almacenados en la capa inteligente.
Hay cuatro posibilidades para identificar el objeto que se encuentran:
1. la lectura de todos (MPS)
2. todos los proporties obligatorios (MPS) + una o más propiedades de asistencia (APS)
3. todos (MPS) + todos (APS)
4. todos (MPS) + todos (APS) + OI
QTP primero trata con el todo (MPS) en el repositorio de objetos, si esas propiedades no son suficientes para identificar el objeto, entonces se va a ir a por una más (APS), si no son suficientes va por (APS) y si nuevamente no son suficientes, irá por (OI).



Buscando un tema en particular respecto a QTP, me encontré con la opinión que dá Tarun Lalwani desde el site ‘