Red de conocimiento informático - Conocimiento del nombre de dominio - Respuestas correctas a las preguntas de la entrevista sobre pruebas de rendimiento

Respuestas correctas a las preguntas de la entrevista sobre pruebas de rendimiento

1. ¿Qué son las pruebas de carga? ¿Qué son las pruebas de rendimiento?

La prueba de carga es un tipo de prueba de rendimiento, que se refiere a si el programa puede soportar datos que se ejecutan en un entorno sobrecargado. En este tipo de prueba, el objeto de prueba se somete a diferentes cargas de trabajo para evaluar y evaluar el comportamiento de rendimiento del objeto de prueba en diferentes condiciones de carga de trabajo y su capacidad para continuar funcionando normalmente. El propósito de las pruebas de carga es determinar y garantizar que el sistema continúe funcionando correctamente a pesar de exceder la carga de trabajo máxima esperada. Además, las pruebas de carga evalúan características de rendimiento como el tiempo de respuesta, la tasa de procesamiento de transacciones y otros aspectos relacionados con el tiempo.

Las pruebas de rendimiento utilizan escenarios para comprobar si el rendimiento del sistema de software cumple con los requisitos de rendimiento de producción, incluidas pruebas de carga, pruebas de resistencia, pruebas de capacidad de la base de datos, pruebas comparativas y pruebas de competencia (concurrencia, usuario). Las pruebas de rendimiento incluyen: Pruebas (enumere al menos 3), incluidas pruebas de carga, pruebas de fuerza, pruebas de capacidad de la base de datos, pruebas de referencia y pruebas de competencia

3. planificación de pruebas, diseño de pruebas Caso de uso paso 2: Diseño y desarrollo de pruebas (grabación y depuración de scripts de prueba, diseño de escenarios de prueba) Paso 3: Ejecución de pruebas (configuración del entorno de pruebas, implementación de escenarios, ejecución de escenarios, escenario de monitoreo) Paso 4: Análisis de resultados de pruebas , ubicación del problema de rendimiento, prueba Evaluación del informe

4. Utilice los pasos de Loadrunner para desarrollar un plan de prueba de rendimiento - "Utilice Vuser para registrar el script de depuración VuGen -" Utilice el controlador Loadrunner para configurar el escenario - " Ejecute la escena: "Supervise la escena a través del tiempo de ejecución en línea de Loadrunner, etc. - Analizar los resultados de las pruebas

5. ¿Cuándo puedes empezar a realizar pruebas de rendimiento? ¿Cuándo puedo empezar a realizar pruebas de rendimiento? Se ha superado la prueba funcional; en términos generales, los sistemas que requieren pruebas de rendimiento son aquellos con una gran cantidad de usuarios, uso comercial frecuente y módulos funcionales importantes. 6. ¿Cuáles son los componentes de LoadRunner? Generador de usuarios virtuales: genera LoadRunner para la implementación "Controlier" de usuarios virtuales. LoadRunner Controlier: genera tensión y recopila datos de resultados de pruebas. Análisis de LoadRunner: compila y muestra resultados de pruebas a través de herramientas de análisis de gráficos.

7. ¿Usar componente para grabar script? Grabe scripts de prueba utilizando el Generador de usuarios virtuales

8. ¿Qué componente de LoadRunner puede simular la reproducción de scripts para varios usuarios simultáneos? Componente controlador de LoadRunner.

9. ¿Qué es un punto de recogida? ¿Cuál es la importancia de establecer puntos de recogida? ¿Qué función en LoadRunner establece el punto de recogida? Durante la prueba de rendimiento, es necesario simular que una gran cantidad de usuarios acceden al sistema al mismo tiempo y realizan una determinada tarea al mismo tiempo. Esto se puede lograr configurando un punto de recopilación que varios usuarios pueden realizar una determinada operación al mismo tiempo. al mismo tiempo; el punto de recopilación se puede utilizar para crear cargas intensivas de usuarios en el servidor, de modo que LoadRunner pueda probar el rendimiento del servidor bajo carga. Establezca la función del punto de recolección: lr_rendezvous("Reunión"); // La reunión es el nombre del punto de recolección

10. ¿Qué es una escena? ¿Cuál es la importancia de la escena? ¿Cómo preparar el escenario? Los escenarios se utilizan para simular las operaciones comerciales reales de los usuarios; existen escenarios manuales y escenarios orientados a objetivos en LoadRunner. Configure el escenario: seleccione el tipo de escenario, establezca la configuración del tiempo de ejecución, la cantidad de usuarios simulados, los métodos de presurización y descompresión, la duración y configure el generador de carga.

11. Por favor, explique cómo grabar un script web. Utilice el generador de usuarios virtuales para grabar el script de prueba. Pasos de grabación:

1. Seleccione el protocolo Web apropiado (Http/Html),

2. -script basado en / script basado en URL)

3. Comience a grabar

12. ¿Cómo crear parámetros?

Respuesta 12: Al grabar el script, LoadRunner simplemente registra fielmente todos los datos enviados desde el cliente al servidor, sin embargo, en la prueba de rendimiento, para estar más cerca de la aplicación real de la simulación real. , se necesita cierta información. Envíe datos diferentes cada vez o recorra múltiples entradas con diferentes valores. En este caso, LoadRunner se puede parametrizar para enviar solicitudes de aplicaciones con múltiples valores diferentes. Parametrización: reemplace los parámetros en las declaraciones generadas por la grabación de scripts con valores de una fuente de datos específica. Beneficios de la parametrización ● Reduce el tamaño de los scripts ● Proporciona la capacidad de ejecutar scripts con diferentes valores para simular aplicaciones reales de manera más realista. Pasos de parametrización ● Reemplazar valores constantes en los scripts de Vuser con parámetros ● Establecer propiedades y fuentes de datos para los parámetros 13. ¿Qué es una asociación? Explique la diferencia entre asociación automática y asociación manual.

A13: A13: La definición de asociación es muy simple: convierte ciertos datos codificados (fijos) en el script en datos dinámicos, o guarda los datos del resultado de la declaración anterior y luego envía el siguiente Se utiliza al solicitar declaraciones. Requisitos previos para la asociación: el cliente debe obtener parte de los datos devueltos por el servidor y procesarlos como parte de la siguiente solicitud. La diferencia entre correlación automática y correlación manual: La correlación automática significa que durante el proceso de grabación del guión, VuGen descubrirá automáticamente los valores que deben correlacionarse de acuerdo con las reglas establecidas, o una vez completada la grabación del guión, el guión se ejecuta una vez y Correlation Studio lo descubrirá automáticamente. Los datos deben correlacionarse y la correlación se establece manualmente. La correlación significa que se deben registrar dos scripts con el mismo proceso de negocios, y los datos de entrada deben ser los mismos y la entrada; los datos deben ser los mismos. Los datos de entrada deben ser los mismos. Utilice la herramienta WinDiff para descubrir las diferencias entre los dos scripts, es decir, los datos que deben correlacionarse, y luego establezca manualmente la correlación a través de la función web_reg_save_param para parametrizar los datos utilizados en el. guiones que deben correlacionarse.

14. ¿Cómo descubres dónde se necesitan conexiones? Por favor dé un ejemplo de su proyecto.

A14: 1. Utilice los mismos datos de entrada para registrar dos scripts del mismo proceso de negocio

2 Utilice la herramienta WinDiff para encontrar las diferencias entre los dos scripts, es decir, las diferencias que deben relacionarse Datos

3. Utilice la función web_reg_save_param para crear manualmente la asociación y luego parametrizar los datos que deben asociarse en el script. Al grabar dos scripts y compararlos, podemos encontrar que jsessionid, sap-ext-sid, sap-wd-cltwndid y sap-wd-tstamp deben estar asociados.

15. ¿Dónde configurar la opción de asociación automática? Establecer en las opciones de registro)

16. ¿Qué función se utiliza para interceptar valores dinámicos en scripts de usuario virtuales? (Asociación de canalización manual)

A16: La función Web_reg_save_param identifica y extrae principalmente datos dinámicos en función de las cadenas fijas antes y después de los datos dinámicos que deben asociarse, por lo que es necesario encontrar la izquierda y la derecha. límites de los datos dinámicos al realizar la asociación.

1.prototipo de función: int web_reg_save_param (const char *ParamName, , LAST);

2.descripción del parámetro: ParamNam: Lista de nombres de parámetros para almacenar dinámicos; datos de atributos: otros atributos, incluidos Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen.

17. ¿Cuándo deberías optar por desactivar el inicio de sesión en VUGen? ¿Cuándo elegir entre el registro estándar y el extendido? El registro debe desactivarse después de que el script se haya ejecutado y depurado correctamente. El registro estándar se utiliza para crear un registro de funciones de envío y mensajes, y el registro extendido se utiliza para crear advertencias y otros mensajes.

18. ¿Cómo depurar scripts de LoadRunner? Establezca puntos de interrupción en VuGen, luego use el seguimiento de un solo paso para ejecutar paso a paso y generar registros de depuración

19 ¿Cómo escribir una función personalizada en LR? Proporcione algunas funciones que haya escrito en proyectos anteriores. Por favor, nombre algunas funciones que haya escrito en proyectos anteriores. - Antes de crear una función definida por el usuario, necesitamos crear una biblioteca externa (DLL) con la función. Después de agregar la biblioteca, asignamos la función definida por el usuario como parámetro en el siguiente formato: __declspec (dllexport) char* (char*, char*) lr_load_dll("user32.dll"); -función definida De la siguiente manera: GetVersion, GetCurrentTime, GetPltform son algunas de las funciones definidas por el usuario que utilicé en mis primeros proyectos.

20. En Configuración de ejecución, ¿puedes cambiar esta configuración?

20. En Configuración de ejecución, ¿puedes cambiar esta configuración? Cada script de usuario virtual consta de tres partes: vuser_init, Ejecutar (Acciones), vuser_end. Al ejecutar un script, puede notificar al usuario virtual que ejecute la sección repetidamente, una iteración a la vez. NOTA: Las secciones vuser_init y vuser_end no se repiten. Configuración del tiempo de pensamiento: el tiempo de pensamiento del usuario virtual imita el tiempo de espera de un usuario real en una determinada actividad. Por ejemplo, cuando el usuario recibe datos del servidor, el usuario necesita esperar unos segundos para responder a los datos recibidos. El tiempo de retraso es el tiempo para pensar. Manejo de errores: puede especificar cuántos segundos debe esperar un usuario virtual antes de responder a un script. Especifica cómo los usuarios virtuales manejan los errores durante la ejecución del script. De forma predeterminada, cuando un usuario virtual encuentra un error, continúa con la siguiente iteración. Puede usar esta configuración para informar al usuario virtual si debe continuar ejecutando el script cuando ocurre un error. Lógica de ejecución: Número de iteraciones

21. ¿Cómo configurar el número de iteraciones en diferentes entornos? Respuesta 21: Configurar en "Configuración de tiempo de ejecución"

22. ¿Cómo realizar pruebas funcionales en modo de prueba de carga? R22: En el modo de prueba de carga, puede ejecutar varios usuarios virtuales al mismo tiempo. Al aumentar el número de usuarios virtuales, puede determinar cuánta carga tiene el servidor, pero aún así puede ejecutarse normalmente. si las funciones principales son un funcionamiento normal.

23. ¿Qué es el incremento progresivo? ¿Cómo configurarlo? R23: Aumentar gradualmente el número de usuarios virtuales a medida que los tiempos de carga ayudan a determinar el punto exacto en el que el tiempo de respuesta del sistema se ralentiza.

Esto se puede configurar en la pestaña Presión: como se muestra en la imagen a continuación, cambie la configuración a "Iniciar 2 usuarios virtuales cada 30 segundos"

24. ?

Respuesta 24: Cuando los usuarios virtuales se ejecutan en modo subproceso, de forma predeterminada el controlador solo inicia un proceso mmdrv por cada 50 usuarios, y cada usuario se ejecuta en modo subproceso. Estos usuarios de subprocesos disfrutarán muchísimo. la memoria del proceso principal, lo que ahorra una gran cantidad de espacio de memoria para que pueda ejecutar más usuarios en un generador de carga.

25. ¿Qué debo hacer si necesito detener la ejecución del script cuando ocurre un error? Desmarque la casilla de verificación "Continuar en caso de error" en la configuración del tiempo de ejecución. O utilice la función lr_abort.

26. ¿Cuál es la relación entre el tiempo de respuesta y el rendimiento? Respuesta 26: Cuando el rendimiento del sistema no alcanza el límite de procesamiento del sistema, el rendimiento del sistema no disminuirá y el tiempo de respuesta promedio de las transacciones generalmente no aumentará. Cuando el sistema alcanza el límite de rendimiento, las transacciones del cliente se pondrán en cola en la cola de solicitudes y el tiempo de espera se registrará en el tiempo de respuesta, por lo que el tiempo de respuesta promedio de la transacción generalmente aumenta.

27.¿Explica cómo configurar los contadores del sistema en LR? R27: Tomando el monitoreo de recursos de Windows como ejemplo, puede hacer clic con el botón derecho en "Agregar métricas", ingresar la IP del sistema, seleccionar el tipo de plataforma y luego confirmar. Para obtener más detalles, consulte el manual de LR ^_^. Para monitorear diferentes tipos de sistemas operativos, necesita hacer algunos preparativos; consulte la sección Monitoreo de recursos del sistema operativo.

28. ¿Cómo identificar los cuellos de botella en el rendimiento? Respuesta 28: Los cuellos de botella en el rendimiento se dividen en: cuellos de botella de hardware y cuellos de botella de software. Los monitores pueden analizarse y descubrirse, incluidos los monitores de servidores de aplicaciones, los monitores de servidores web, los monitores de servidores de bases de datos y los monitores de red. en el tiempo de respuesta, los indicadores de rendimiento generalmente incluyen el tiempo de respuesta, el rendimiento, los clics por segundo, la latencia de la red, etc.

29. Si el servidor web, la base de datos y la red funcionan normalmente, ¿cuál podría ser el problema?

Respuesta 29: El problema puede estar en el propio sistema, en el servidor de aplicaciones o en el código escrito para la aplicación.

30. ¿Cómo identificar problemas relacionados con el servidor de red?

Respuesta 30: Puede utilizar Network Resource Monitor para identificar problemas con su servidor de red. Durante la ejecución de un escenario, puede utilizar monitores para analizar el rendimiento del servidor web, las visitas por segundo, las respuestas HTTP por segundo, las descargas de páginas por segundo y el uso de recursos de hardware del servidor web.

31. ¿Cómo encontrar problemas relacionados con la base de datos?

Respuesta 31: Puede encontrar problemas relacionados con la base de datos a través del Monitor de base de datos y los Gráficos de recursos de datos. Por ejemplo, puede especificar los recursos que deben medirse antes de ejecutar el controlador y luego analizar los problemas relacionados con la base de datos en función de los datos monitoreados.

32 ¿Explicar todas las configuraciones de registro web?

Respuesta 32: Seleccione el protocolo de grabación, configure las opciones de grabación, seleccione el navegador, seleccione la ruta de almacenamiento y comience a grabar.

33.¿Explica la diferencia entre diagramas de cobertura y diagramas de correlación?

A33: Gráfico superpuesto: fusiona el contenido de dos gráficos, utilizando el mismo eje X. El eje Y izquierdo del gráfico fusionado muestra el valor del gráfico actual y el eje Y derecho de. el gráfico combinado muestra el valor del gráfico combinado. Gráficos relacionados: el eje Y del gráfico actualmente activo se convierte en el eje X del gráfico combinado y el eje Y del gráfico combinado se convierte en el eje Y del gráfico combinado.

34. ¿Cómo diseñar la carga? ¿Cuáles son los estándares?

Respuesta 34: Planifique cuántos usuarios tendrá la prueba de carga, qué tipo de máquinas se utilizarán y en qué entorno. Se basa principalmente en dos archivos importantes: mapa de distribución de tareas e información de transacciones.

El gráfico de distribución de tareas nos indica cuántos usuarios utiliza una determinada transacción durante el período de carga. La utilización máxima y la baja utilización provienen de este documento. La información de la transacción nos indica el nombre de la transacción y su prioridad. información al diseñar el escenario.

35.¿Qué incluye Vuser_init?

Respuesta 35: Vuser_init contiene scripts que solo deben ejecutarse una vez durante la ejecución del script. En términos generales, todo lo que deba inicializarse se puede colocar en vuser_init, como iniciar sesión.

36.¿Qué contiene vuser_end?

Respuesta 36: vuser_end generalmente incluye procesos de salida, como cerrar sesión en el sistema, y ​​se ejecuta principalmente cuando se completa o se detiene la ejecución del script. Tanto vuser_end como vuser_int solo se ejecutan una vez cuando se alcanza el número de iteraciones. está configurado.

37. ¿Qué es el tiempo de pensamiento y para qué sirve el tiempo de pensamiento?

A37: Tiempo para pensar: El tiempo que el usuario deja de pensar entre pasos. Debido a que los usuarios interactúan con la aplicación según su nivel de experiencia y sus objetivos, los usuarios con más conocimientos técnicos pueden trabajar más rápido que los usuarios nuevos. Al permitir el tiempo de reflexión, los Vusers pueden simular con mayor precisión a los usuarios reales correspondientes durante las pruebas de carga.

38. ¿Cuál es la diferencia entre el registro estándar y el registro extendido?

A38: Registro estándar: durante la ejecución del script, los conjuntos de funciones y la información se envían al archivo de registro. Registro extendido: la información detallada de la ejecución del script se puede enviar al archivo de registro. de extensiones: Información de registro: Reemplazo de parámetros: Durante la ejecución del script, los parámetros y los valores de los parámetros actuales se pueden enviar al archivo de registro ● Datos devueltos por el servidor: Datos devueltos por el servidor: Se generan los datos devueltos por el servidor al cliente al archivo de registro ● Seguimiento avanzado: toda la información del usuario virtual y las llamadas a funciones se envían al archivo de registro

39.

A39: lr_debug_message: envía información de depuración a la ventana de salida o al archivo de registro de supervisión empresarial lr_output_message: envía información de registro a la ventana de salida o al archivo de registro de supervisión empresarial lr_error_message: envía un mensaje de error a la ventana de salida o al registro de supervisión empresarial archivo lrd_stmt: proporciona la declaración SQL utilizada para procesar lrd_fetch: obtiene la siguiente fila de datos en el conjunto de resultados

40

A40: la cantidad de datos que el cliente recibe del servidor. por segundo, o el servidor del sistema por segundo. El número de transacciones que se pueden procesar por segundo. Generalmente, a medida que aumenta el número de usuarios virtuales, el rendimiento también aumenta, lo que indica que el ancho de banda de la red es relativamente suficiente, y viceversa, a medida que aumenta el número de usuarios virtuales, el rendimiento es relativamente estable y aumenta en línea recta, lo que indica que. El ancho de banda de la red se ha agotado. Se convierte en un cuello de botella que limita la transmisión de datos.

41. ¿Cuáles son los métodos de puesta en escena?

A41: Configuración de escenarios orientada a objetivos y configuración de escenarios manual