Cómo utilizar loadrunner para realizar pruebas de estrés en un sitio web sencillo
Cómo utilizar loadrunner para realizar pruebas de estrés en un sitio web sencillo
El uso de LoadRunner para completar la prueba generalmente se divide en cuatro pasos:
1. Generador ?Crear scripts.
Cree un script, seleccione un protocolo, registre el script, edite el script y verifique si hay errores en el script modificado.
2. El controlador central (Controller) programa los usuarios virtuales.
Cree un escenario, seleccione el script, establezca el número de usuarios virtuales en la máquina, configure el programa y, si simula pruebas en varias máquinas, configure Ip?Spoofer.
3. Ejecute el script.
Analizar escenario
Analizar resultados de pruebas
4. ¿Instalar la versión china de LoadRunner?
LoadRunner? se divide en versión Windows? y versión Unix?. Si todos los entornos de prueba se basan en la plataforma Windows, simplemente instale la versión de Windows. El proceso de instalación explicado en este capítulo es la instalación de la versión china de Windows de LoadRunner7.8.
5. Utilice LoadRunner para pruebas de carga/estrés.
6. Grabar scripts de usuario básicos.
Se requiere VuGen para crear scripts de usuario. Consejo: Es mejor ejecutar VuGen con una resolución de 1024*768; de lo contrario, algunas barras de herramientas no serán visibles. Después de iniciar Visual User Generator, cree un nuevo script de usuario a través del menú y seleccione el protocolo de comunicación del sistema. Lo que debe probarse aquí es la aplicación web. Teniendo en cuenta la base de datos SQL en segundo plano, debe seleccionar el protocolo web (HTTP/HTML) + el protocolo SQL SERVER. Después de la confirmación, ingrese al formulario principal. Inicie el comando de grabación del guión a través del menú.
7. Agregue la dirección del sitio web a probar en la URL.
●Test/lms-lmm/loginForm.do¿Elija en qué parte colocar el script grabado? Por defecto es "Acción".
Aquí hay una breve explicación: el script en VuGen? se divide en tres partes: vuser_init, vuser_end? Entre ellos, solo pueden existir un vuser_init? y un vuser_end? La acción también se puede dividir en innumerables partes (haciendo clic en el botón Nuevo, cree una nueva ActionXXX). Al registrar un sistema en el que es necesario iniciar sesión, coloque la parte de inicio de sesión en vuser_init?, coloque la parte de operación después de iniciar sesión en Acción y coloque la parte de cierre de sesión y cierre de inicio de sesión en vuser_end?. (Si necesita configurar un punto de encuentro en la operación de inicio de sesión, entonces la operación de inicio de sesión también debe colocarse en Acción, porque los puntos de encuentro no se pueden agregar en vuser_init. En otros casos, simplemente coloque la parte de la operación en Acción. Nota: Cuando el script de prueba se ejecuta repetidamente, el contenido de vuser_init y vuser_end solo se ejecutará una vez, y solo la parte de Action se ejecutará repetidamente.
8. Haga clic en el botón "Opciones" para ingresar al formulario de configuración de grabación. Generalmente, no se requieren cambios aquí.
●Después de hacer clic en "Aceptar", VuGen comenzará a grabar el script. Durante el proceso de grabación, no utilice la función "atrás" del navegador, ya que el soporte de LoadRunner no es muy bueno. ?Durante el proceso de grabación,?aparecerá una barra de herramientas en la pantalla. El proceso de grabación es algo similar al de WinRunner, por lo que no lo presentaré más. Una vez completada la grabación, presione el botón "Finalizar grabación" y VuGen generará automáticamente el script de usuario y saldrá del proceso de grabación.
9. Mejorar el script de prueba.
Después de grabar un script de usuario básico, es necesario mejorar el script de prueba antes de su uso formal para mejorar la
flexibilidad del script. En general, se utilizan los siguientes métodos para mejorar el script de prueba.
Inserte transacciones, inserte uniones, inserte anotaciones y parametrice la entrada. Aquí solo damos ejemplos de cómo configurar la parametrización, y otros solo se presentan brevemente.
10. Insertar transacción.
Transacción: Para poder medir el rendimiento del servidor es necesario definir una transacción. Por ejemplo: hay una operación de consulta de datos en el script Para medir el rendimiento del servidor al ejecutar la operación de consulta, esta operación se define como una transacción. De esta manera, cuando se ejecuta el script de prueba, cuando se ejecuta LoadRunner. el punto de inicio de la transacción, LoadRunner? El tiempo comenzará hasta que se alcance el punto final de la transacción y finalice el tiempo. El tiempo de ejecución de esta transacción se reflejará en los resultados.
La operación de inserción de transacción se puede realizar durante el proceso de grabación o después de que finalice la grabación. LoadRunner™ ejecuta una cantidad ilimitada de transacciones insertadas en el script.
El método de operación específico es el siguiente: frente a la operación que necesita definir una transacción, insértela a través del menú o barra de herramientas. Ingrese un nombre para esta transacción. Nota: El nombre de la transacción debe ser significativo y poder explicar claramente las acciones completadas por la transacción. Después de insertar el punto de inicio de la transacción, debe insertar el "punto final" de la transacción después de la operación que necesita definir la transacción. También se puede insertar a través del menú o barra de herramientas. De forma predeterminada, ?Transaction Name enumera el nombre de la transacción más reciente. En circunstancias normales, no es necesario modificar el nombre de la transacción. El estado de una transacción es LR_AUTO de forma predeterminada. En circunstancias normales, no es necesario modificarlo, excepto cuando se escribe el código manualmente, puede ser necesario establecer manualmente el estado de la transacción.
11. Insertar el punto de encuentro.
Se insertan puntos de encuentro para medir el rendimiento del servidor bajo mayor carga. En el plan de prueba, es posible que se requiera que el sistema soporte el envío de datos de 1000 personas al mismo tiempo. En LoadRunner, se puede agregar un punto de encuentro antes de la operación de envío de datos, de modo que cuando el usuario virtual corra hasta el punto de encuentro para enviar datos. , LoadRunner comprobará cuántos usuarios están corriendo hasta el punto de encuentro al mismo tiempo. Si hay menos de 1000 usuarios, LoadRunner ordenará a los usuarios que hayan llegado al punto de encuentro que esperen aquí. Cuando el punto de encuentro llega a 1000 personas, LoadRunner ordenará a 1000 personas que envíen datos al mismo tiempo para cumplir con los requisitos del plan de prueba.
Nota: • Los puntos de encuentro se utilizan a menudo junto con las transacciones. ¿El punto de encuentro solo se puede insertar en la parte Acción? y el punto de encuentro no se puede insertar en vuser_init? y vuser_end?. El método de operación específico es el siguiente: frente al punto de encuentro que debe insertarse, ingrese el nombre del punto de encuentro a través del menú o la operación de la barra de herramientas. Nota: El nombre del punto de encuentro debe ser significativo y poder explicar claramente las acciones realizadas por el punto de encuentro.
12. Insertar comentarios.
No entraré en detalles sobre la función de los comentarios, pero es mejor insertar comentarios durante el proceso de grabación. El método de operación específico es el siguiente: opere a través del menú o barra de herramientas frente a donde se debe insertar el comentario.
13. Entrada parametrizada.
Si el usuario completa y envía algunos datos durante el proceso de grabación del script, como agregar registros de la base de datos. Estas operaciones quedan registradas en el guión. Cuando varios usuarios virtuales ejecutan scripts, todos enviarán los mismos registros, lo que no se ajusta a la situación de ejecución real y puede causar conflictos. Para simular el entorno real de manera más realista, se requieren una variedad de entradas. La entrada parametrizada es un buen enfoque.
El uso de parámetros para representar scripts de usuario tiene dos ventajas:
①Puede acortar la longitud del script.
②?Puedes utilizar diferentes valores para probar el script. Por ejemplo, si intenta buscar libros con nombres diferentes, solo necesita escribir la función de envío una vez. Durante la reproducción, puede utilizar diferentes valores de parámetros en lugar de simplemente buscar un valor con un nombre específico.
La parametrización consta de las siguientes dos tareas:
①Reemplazar valores constantes con parámetros en el script.
②?Establecer atributos de parámetros y fuentes de datos.
La parametrización sólo se puede utilizar para parámetros dentro de una función. Los parámetros no se pueden utilizar para representar cadenas que no sean parámetros de función.
Además, no todas las funciones se pueden parametrizar.
La explicación de la entrada parametrizada se realiza mediante un ejemplo.
En este ejemplo, parametrice el nombre de inicio de sesión del usuario:
Primero mire el siguiente script y busque la parte de inicio de sesión del usuario a través de la grabación del script, como se muestra en la figura
14 Parámetros Puede elegir el nombre a voluntad. Se recomienda elegir un nombre que sea fácil de entender. Lo siguiente se centrará en los tipos de parámetros.
●DateTime: Es muy simple cuando se necesita ingresar fecha/hora, se puede usar el tipo DateTime. La configuración de sus propiedades también es muy simple, simplemente seleccione un formato. Por supuesto, el formato también se puede personalizar.
.●¿Grupo?Nombre: No sé dónde se puede usar todavía, pero la configuración es relativamente simple. En la operación real, LoadRunner utiliza el Vuser?Group? donde se encuentra el usuario virtual. Pero cuando se ejecuta en VuGen?, ¿Grupo?Nombre será Ninguno?
.●Load?Generator?Name: En la operación real, LoadRunner utiliza la máquina donde se encuentra el usuario virtual como Load?Generator? en cambio.
.●IterationNumber: en la operación real, LoadRunner utiliza el número actual de bucles del script de prueba.
.●Número aleatorio: Número aleatorio. Muy sencillo. El rango de números aleatorios se puede establecer en la configuración de propiedades
. ●Número único: un número único. El tamaño del primer número y el número creciente se pueden establecer en la configuración de propiedades.
Nota: Al utilizar este tipo de parámetro, debes prestar atención al número máximo que se puede aceptar. Por ejemplo: el número máximo que puede aceptar un cuadro de texto es 99. Cuando utilice este tipo de parámetro, establezca el primer número en 1 y el número incremental en 1, pero cuando se ejecuten 100 usuarios virtuales al mismo tiempo, la entrada del usuario virtual número 100 será 100, por lo que se ejecutará el script. Algo saldrá mal.
Nota: El incremento mencionado aquí significa el incremento del primer valor tomado por cada usuario, y la diferencia entre dos ciclos adyacentes para cada usuario es 1. Por ejemplo: si el número inicial es 1 y el incremento es 5, entonces el primer usuario obtendrá el valor 1 en el primer ciclo y el segundo usuario obtendrá el valor 2 en el segundo ciclo; en el primer ciclo es 6, y en la segunda vez es 7 y así sucesivamente;
●Vuser ID: La configuración es relativamente simple. En la operación real, LoadRunner usa la ID del usuario virtual, que está controlada por el Controlador. Pero cuando se ejecuta en VuGen?, el Vuser?ID?
Archivo: ¿Necesita editar el archivo en la configuración de propiedades, agregar contenido u obtener datos de una base de datos ya preparada (se presentará a continuación)?
●¿Usuario?Definido ? Función: Extraer datos de archivos dll desarrollados por el usuario. En la actualidad, creo, este enfoque no es necesario. VuGen? admite la sintaxis del lenguaje C? y no debería ser difícil reescribir funciones similares en VuGen?.
En el ejemplo anterior, simplemente tome un número aleatorio. Haga clic en el botón "Propiedades...", ingrese a la ventana de configuración de propiedades, agregue el rango de valores de números aleatorios (1-50) y seleccione un formato de datos. Existen las siguientes opciones en "Propiedades": ?
◆Cada aparición: durante el tiempo de ejecución, cada vez que se encuentre el parámetro, tomará un nuevo valor
◆Cada?iteración: Cuando se ejecuta,?Se toma el mismo valor en cada bucle
◆Una vez: Cuando se ejecuta,?En cada bucle,?Este parámetro solo toma el valor una vez
p>
Aquí utilizamos números aleatorios, por lo que elegir Cada ocurrencia es muy apropiado.
A continuación presentaremos el uso del nombre de usuario en la base de datos para parametrizar el nombre de usuario de inicio de sesión.
Seleccione el nombre de inicio de sesión en el cuadro, haga clic con el botón derecho del mouse y aparecerá un cuadro de diálogo. Seleccione "Reemplazar con nuevo parámetro" para que aparezca el cuadro de diálogo. En este momento, ingrese el parámetro. nombre: nombre y seleccione Archivo como tipo de parámetro, como se muestra en la figura
15. Nota: No utilice con.dat, pm.dat o lpt*.dat como nombre de archivo de parámetro. A continuación nos conectaremos a la base de datos y seleccionaremos el nombre de usuario de la tabla de datos. Haga clic en el botón "Asistente de datos", como se muestra a continuación
16. Agregue la cadena de conexión, haga clic en el botón "Crear" y seleccione la conexión ODBC preconfigurada. Ingrese la instrucción de consulta seleccionada en la instrucción SQL y aparecerá la ventana como se muestra en la figura.
Recordatorio: en el área de visualización de datos de parámetros, solo puede ver un máximo de 100 filas. los datos superan las 100 filas. Solo puede hacer clic en el botón "Editar" e ingresar al Bloc de notas para verlos.
"¿Seleccionar la siguiente línea?" Existen las siguientes opciones: ?
●Secuencial: Lee línea por línea en secuencia. Cada usuario virtual leerá en el mismo orden
●Aleatorio: Lee uno aleatoriamente en cada ciclo, pero permanece sin cambios durante el ciclo
● ¿Único?:?El número único. Nota: Al utilizar este tipo, debe prestar atención a que la tabla de datos tenga suficientes números. Por ejemplo, si se configuran 20 usuarios virtuales en el Controlador para realizar 5 ciclos, entonces el usuario virtual número 1 tomará los primeros 5 números y el usuario virtual número 2 tomará los números del 6 al 10. Por analogía, debe haber. al menos 100 datos en la tabla de datos; de lo contrario, el controlador devolverá un error durante la operación.
"Por número" se refiere a la columna de datos en la lista de selección. De izquierda a derecha, 1, 2 y 3 generalmente se usan para datos relevantes. ¿Podemos simplemente tomar el valor Sequential? Complete la configuración y ciérrelo
4.3 Ejecute el script de prueba en una sola máquina
Después de completar los pasos anteriores, se puede ejecutar el script. La ejecución de scripts se puede realizar a través del menú o la barra de herramientas.
Después de ejecutar el comando "Ejecutar", VuGen primero compila el script y comprueba si hay errores de sintaxis y de otro tipo. Si hay errores, ¿VuGen?
producirá un error. Haga doble clic en el mensaje de error y VuGen podrá localizar la línea donde ocurrió el error. Para verificar la exactitud del script
también puede depurarlo, como agregar puntos de interrupción en el script. La operación es exactamente la misma que en VC, y creo que será familiar para todos. . Si la compilación pasa, ? comenzará a ejecutarse. Entonces aparecerán los resultados de la ejecución.