Cuando ejecute una prueba, es posible que note que el servidor no está bajo la carga esperada o que la base de datos no se está actualizando como se espera. La correlación de datos incompletos o incorrectos puede causar uno de estos problemas.
Los algoritmos de correlación de datos que se utilizan durante la generación de pruebas se basan en prácticas recomendadas conocidas. No obstante, puesto que estas prácticas evolucionan continuamente, pueden producirse varios tipos de errores durante la correlación de datos automatizada:
- Correlación insuficiente: los valores de prueba que deberían haberse correlacionado no lo estaban. Algunas causas posibles son:
- Dos parámetros que es necesario que estén correlacionados tienen nombres distintos.
- Es necesario correlacionar un valor con un valor anterior que no aparece en la ubicación esperada.
- Es necesario que un parámetro o valor esté correlacionado con un parámetro o valor anterior que no
aparece en la prueba porque es un valor calculado.
- Correlación superflua: Se han correlacionado valores de prueba no relacionados.
- Correlación incorrecta: se han correlacionado incorrectamente valores de prueba que es necesario que estén correlacionados.
Correlación insuficiente: Los parámetros tienen nombres distintos o se encuentran en ubicaciones inesperadas
Cuando dos parámetros que
es necesario que estén correlacionados tienen nombres distintos, la correlación de datos automática no reconoce que los dos parámetros están relacionados. Por
ejemplo, considere la solicitud http://madeupsite.ibm.com?id=12345. Imagine que es necesario que esta solicitud esté correlacionada con la respuesta del servidor que contiene customer_id=12345, no
id=12345. En este caso, el parámetro id se debe correlacionar con customer_id.
La correlación de datos normalmente enlaza un valor de respuesta que se ha devuelto del servidor con un valor de solicitud posterior. Los
algoritmos de correlación automática buscan en los datos de POST y URL potenciales coincidencias; sin embargo, son
posibles otros esquemas para la devolución de parámetros. Por
ejemplo, considere la solicitud http://madeupsite.ibm.com?id=12345.
Imagine que es necesario que esta solicitud esté correlacionada con la respuesta del servidor que contiene el par de nombre y entidad
href name="customer_id" entity="12345", no id=12345. En este caso, es necesario que el parámetro id
esté correlacionado con name="customer_id" y que el valor 12345 esté correlacionado con entity="12345".
Hay algunas causas adicionales de una correlación insuficiente:
- Siebel utiliza el formato de matriz en estrella. Los algoritmos de correlación estándar no pueden recuperar de este formato
ni realizar sustituciones en este formato.
- SOAP designa los parámetros de correlación en archivos XML externos.
Los algoritmos de correlación no pueden correlacionar
parámetros en el archivo externo con parámetros en la prueba.
Para correlacionar datos manualmente en estos casos:
- En el editor de pruebas, utilice la función de búsqueda o examine para encontrar los dos parámetros para la correlación.
- Vaya al parámetro que aparece más tarde en la prueba. Éste es el sitio de sustitución. Seleccione el parámetro.
- En la ventana Orígenes de datos de prueba, pulse el separador Referencias.
- Seleccione el origen de datos que desea utilizar como referencia y, a continuación, pulse Sustituir de.
Correlación insuficiente: Un parámetro no tiene nombre
A veces es necesario que un parámetro o valor
esté correlacionado con un parámetro o valor anterior que no tiene nombre en la prueba, ya que está calculado,
por ejemplo, por un programa JavaScript™. En este caso,
para correlacionar correctamente los datos, debe comprender cómo y dónde se computa el parámetro o valor y, a continuación, utilizar un bloque
de código personalizado. Consulte la sección Ampliación de la ejecución
de las pruebas con código personalizado para obtener más información acerca del código personalizado.
Por ejemplo, considere la dirección web
http://www.madeupsite.com?login_stamp=12345_Apr_11_07, donde el valor de login_timestamp es la concatenación del ID de inicio de sesión y la fecha actual. En este caso, necesita código personalizado que concatene el ID de inicio de sesión y la fecha.
Para otro
ejemplo, imagine que el servidor ha devuelto el ID de inicio de sesión y la fecha como entidades separadas: href "customer_id=12345" Date="Apr_11_07".
En este caso puede poner estos parámetros en referencias separadas y, en las solicitudes posteriores que utilicen el ID de cliente y la fecha, sustituirlas por separado.
Correlación superflua
La correlación de datos automatizada se basa en la coincidencia de patrones: un parámetro o valor de parámetro se correlaciona con un parámetro o valor de parámetro posterior que tenga un nombre exactamente igual o similar. Sin embargo, a veces los parámetros con nombres exactamente iguales o similares en realidad no están relacionados. En el mejor de los casos, la correlación innecesaria es inocua o bien añade una ligera carga que es inapropiada. En el peor de los casos, la aplicación no espera una correlación y falla durante su reproducción.
Para eliminar una correlación de datos superflua:
- En el editor de pruebas, utilice la función de búsqueda o examine para encontrar el sitio de sustitución que no debe estar correlacionado. De manera predeterminada, las letras violetas indican datos correlacionados.
- Pulse con el botón derecho del ratón sobre el sitio de sustitución.
- Pulse Eliminar sustitución.
Correlación incorrecta
Un parámetro que requiere correlación
de datos puede aparecer muchas veces durante una prueba. Por ejemplo, un parámetro de ID de sesión que se utiliza inicialmente cuando un usuario inicia una sesión podría utilizarse también en cada una de las solicitudes posteriores. Si varias instancias de un parámetro en una prueba no son iguales, los algoritmos de correlación podrían escoger la instancia incorrecta.
Con las preferencias
de Generación de pruebas HTTP, puede optimizar la correlación automática de datos para obtener precisión o eficacia.
- Precisión: Cada ocurrencia de un parámetro se correlaciona con la ocurrencia anterior más cercana. Éste
es el valor predeterminado.
- Eficacia: Cada ocurrencia de un parámetro se correlaciona con una única ocurrencia anterior.
Nota: Si no aplica manualmente una correlación al campo Sitio de referencia en una cabecera de solicitud HTTP, dicho campo se correlacionará automáticamente según sea necesario. Si aplica manualmente una correlación al campo Sitio de referencia en una cabecera de solicitud HTTP, no se realizará una correlación automática.
Es más probable
que las correlaciones incorrectas se produzcan cuando
Optimizar correlación automática de datos para ejecución
esté establecido en
Eficacia.
Para arreglar una correlación incorrecta:
- En el editor de pruebas, utilice la función de búsqueda o examine para encontrar el valor que se ha correlacionado incorrectamente.
- Pulse con el botón derecho del ratón sobre el sitio de sustitución.
- Pulse Eliminar sustitución.
- Pulse de nuevo con el botón derecho del ratón sobre el sitio de sustitución.
- Pulse Sustituir de y seleccione el parámetro correcto.