Entrevista de prueba de interfaz

1. ¿Cuál es el proceso de prueba de interfaz de su empresa? (¿Te resulta familiar? Parece que lo escuché en alguna parte)

Hicimos la prueba de interfaz en el proyecto XX, incluyendo principalmente la interfaz XX, la interfaz XX, la interfaz XX, etc.
1. Primero, obtenga el documento de la interfaz API del desarrollador para comprender el negocio de la interfaz, incluida la dirección de la interfaz, el método de solicitud, los parámetros de entrada, los parámetros de salida, la autenticación del token, el formato de retorno y otra información.
2. Luego use las herramientas Postman o Jmeter para realizar pruebas de interfaz.Generalmente, los pasos para usar Jmeter son los siguientes:
1. Primero, cree un nuevo grupo de subprocesos.
2. Luego cree un nuevo valor predeterminado de solicitud HTTP. (Ingrese la IP del servidor de interfaz y el puerto)
3. Cree muchas solicitudes HTTP, una solicitud para un caso de uso. (Ingrese la ruta de la interfaz, el método de acceso, los parámetros, etc.)
4. Luego, cree una afirmación y vea el árbol de resultados.
3. Finalmente, depure y ejecute el caso de uso, y finalmente escriba el informe de prueba de la interfaz
4. De hecho, también encontramos muchos problemas cuando creamos la interfaz, y los resolvimos de forma independiente, como que el valor de retorno es distorsionado ( modificar el archivo de configuración de jmeter al método de codificación UTF-8), por ejemplo, debe iniciar sesión para obtener el código de autenticación del token y este código de autenticación debe usarse en la siguiente solicitud (use el extractor de expresiones regulares para extraer el valor de la ficha, etc.

2. Describa brevemente la diferencia entre cookie, sesión y token (piensa que todo es una pregunta de entrevista que no ha cambiado en miles de años)

(1) Los datos de las cookies se almacenan en el navegador del cliente y los datos de la sesión se almacenan en el servidor. El token es el código de autenticación para la prueba de la interfaz. Generalmente, el token solo se puede obtener después de iniciar sesión, y luego el parámetro del token debe traerse cada vez que se solicita la interfaz.

(2) La cookie no es muy segura. Otros pueden analizar la cookie almacenada localmente y engañar a la cookie. Teniendo en cuenta la seguridad, se debe usar la sesión y la sesión se guardará en el servidor durante un cierto período de tiempo. Cuando aumente el número de visitas, se consumirá más rendimiento de su servidor. Teniendo en cuenta la reducción del rendimiento del servidor, se deben utilizar cookies.

(3) La información importante, como la información de inicio de sesión, se puede almacenar como una sesión; es necesario guardar otra información, que se puede colocar en una cookie

3. ¿Cómo diseñar casos de prueba para pruebas de interfaz? (debe pedir)

Las pruebas de interfaz generalmente consideran los cambios en la forma de los parámetros de entrada y la lógica comercial de la interfaz. ¡Generalmente, el diseño de los casos de prueba de interfaz adopta la clase de equivalencia, el valor límite y los métodos de escenario!

La idea del caso de prueba de diseño de prueba de interfaz es la siguiente:
1. ¿Prueba de lógica comercial de interfaz? (Ejemplo positivo)
La prueba lógica de interfaz se refiere a la
prueba de si el valor de salida obtenido en condiciones normales de entrada es correcto de acuerdo con la descripción del negocio. lógica, parámetros de entrada y valor de salida , que es para probar si los servicios de interfaz proporcionados al mundo exterior funcionan normalmente.
2. ¿Prueba de interfaz de módulo? (Contraejemplo)
La prueba de interfaz de módulo es una prueba para garantizar la seguridad de los datos y la corrección de la lógica del programa en circunstancias anormales.
La prueba de la interfaz del módulo incluye principalmente los siguientes aspectos: •
1) Excepción del token del código de autenticación (el código de autenticación está vacío <sin código de autenticación>, código de autenticación incorrecto, código de autenticación caducado).
2) Otros parámetros son anormales.
1. Comprobación obligatoria de elementos
2. Excepciones de longitud, tipo y formato de parámetro:
Parámetros generales: (números, cadenas, fechas)
Longitud de parámetro: 6-18 dígitos. O tarjeta de identificación, longitud del teléfono.
Tipos de parámetros: números (precisión), letras, chino, parámetros con espacios, caracteres especiales.
Formato de fecha: fecha: año, mes, día, año, mes, día, hora, minuto, segundo, formato de fecha (incluyendo /,-,:, etc.).
3) Cobertura de excepción de código de error.
4) Otros puntos de interés en las pruebas de interfaz
Cuando la interfaz tiene cambio de página, el valor anormal del número de página y el número de página se utiliza para probar la
adición, eliminación, modificación y consulta de la base de datos. Por ejemplo, después de una operación posterior a la interfaz. se completa, verifique si los nuevos datos son consistentes con la publicación anterior a través de la interfaz de la página de lista Consistente Si
la dirección de la imagen devuelta por la interfaz se puede abrir y si el tamaño de la imagen cumple con los requisitos
Cuando los parámetros de salida están vinculados, es necesario verificar si los resultados reales devueltos por los dos parámetros cumplen con los requisitos.
Todas las interfaces de la página de lista deben considerar la clasificación de valores.
Todas las funciones deben ser compatibles con versiones anteriores.

4. ¿Se compara la base de datos durante la ejecución de la prueba de interfaz?

¡Claro, porque los datos devueltos por la interfaz provienen de la base de datos, y la operación de los datos en la interfaz debe realizar comprobaciones exhaustivas de la base de datos!

5. Cuénteme sobre su comprensión del protocolo HTTP.

Protocolo de transferencia de hipertexto, el puerto es 80, las características (sin función de memoria, rápido) se componen de solicitud y respuesta. La solicitud se compone de encabezado de solicitud, línea de solicitud y cuerpo de solicitud; la respuesta se compone de encabezado de respuesta, línea de respuesta y cuerpo de respuesta. Anteriormente, la interfaz de nuestra empresa utilizaba el protocolo https.

https http+ssl protocolo puerto 443 para protocolo de transferencia de hipertexto seguro

6. ¿Cuál es la diferencia entre las solicitudes get y post?

Tanto las solicitudes de obtención como las de publicación son una forma para que el cliente envíe una solicitud al servidor

get es un parámetro de transmisión de texto claro, que tiende a solicitar recursos del servidor. como abrir un sitio web

Los datos posteriores a la transmisión son invisibles, de alta seguridad y tienden a enviar datos al servidor, como el registro, etc.

7. ¿Cuáles son los códigos de estado de respuesta?

1xx: Instrucciones – Indica que la solicitud ha sido aceptada y continúa procesando

2xx: Éxito: indica que la solicitud se ha recibido, comprendido y aceptado correctamente

3xx: redirección: se requieren más acciones para completar la solicitud

4xx: Error del cliente: la solicitud tiene errores de sintaxis o la solicitud no se puede cumplir

5xx: Error del lado del servidor: el servidor no pudo cumplir con una solicitud legítima

8. ¿Se encontraron muchos errores durante las pruebas de interfaz? ¿Puedes darme algunas castañas?

En realidad, es muy fácil volver a esta pregunta. Siempre que haya realizado pruebas de interfaz, siempre puede encontrar algunos errores. Solo diga 2-3 errores que suele encontrar. El entrevistador hace esta pregunta principalmente porque quiere saber si realmente ha realizado pruebas de interfaz. Después de todo, los currículos de muchos socios pequeños están escritos de manera falsa (si no los escribe, probablemente no tendrá una oportunidad de entrevista). no hay manera, para sobrevivir, puede entender) Por ejemplo, si ingresa un número negativo en el cuadro de entrada de retiro de efectivo en la página, definitivamente no podrá enviarlo (la página principal juzgará el Si no voy al front-end, usaré directamente la herramienta de interfaz para enviar una solicitud e ingresar un número negativo. (Suponiendo que el servidor no juzgue los datos del monto del retiro) Saldo = saldo actual (100) - monto del retiro (-100), luego retiro -100, el saldo se convierte en 200, es decir, cuanto más retiros, mayor será el saldo.

9. ¿A qué puntos de prueba se debe prestar atención en la prueba de interfaz?

11.1) La dirección de la imagen se devuelve en la interfaz y es necesario probar manualmente la imagen (tamaño, contenido)

11.2) Cuando la interfaz completa la función de consulta, la visualización de clasificación de los datos devueltos

11.3) Al probar la interfaz, preste atención al valor predeterminado y los elementos requeridos de los parámetros

10. Después de que la interfaz ejecute la prueba, devuelva los resultados para compararlos. ¿Qué parte del contenido se compara generalmente?

Lo que debe compararse antes es devolver el código de estado y luego comparar y devolver otro contenido clave

11. ¿Por qué realizar pruebas de interfaz?

13.1) La prueba de interfaz es una prueba de integración. Cuanto antes se realice la prueba, más problemas se pueden encontrar en la etapa inicial del proyecto y menor será el costo de reparar el problema.

13.2) La prueba de interfaz es muy rápida y la automatización de la interfaz de usuario ejecuta un caso de prueba en aproximadamente 10 segundos. Si se ejecuta el caso de prueba de interfaz, el tiempo requerido es de milisegundos.

12. ¿Qué herramientas se utilizaron en el proceso de prueba de la interfaz?

cartero o jmeter (5.1)

13. ¿Alguna vez ha utilizado una herramienta de captura de paquetes? ¿Cómo se usa?

Usé la herramienta de captura de paquetes Fiddler en el proyecto anterior para capturar solicitudes de protocolo HTTP

Después de abrir Fiddler, el navegador predeterminado se configura con un proxy en el puerto 127.0.0.1 8888. Después de que Fiddler haya establecido la política de filtrado, abra el sitio web que necesita capturar paquetes para la operación y luego podrá capturar paquetes.

14. ¿Qué son los datos json y cómo suele analizar los datos json?

Un formato de mensaje de datos de uso común para el desarrollo, que consta de matrices y pares clave-valor. Puede utilizar la herramienta del sitio web bejson, etc.

15. Cartero, ¿qué tipo de proceso utiliza en su trabajo?

  1. Escriba un buen caso de uso

  2. Cree la variable de entorno de URL primero en cartero

  3. Crear nueva gestión de colecciones según el módulo al que pertenezca el caso de uso de la interfaz

  4. Ingrese casos de prueba en diferentes módulos en la colección

  5. Al ingresar casos de prueba, agregue afirmaciones en la pestaña de pruebas de acuerdo con los resultados esperados

  6. Exportar para ejecutar a través de Newman

16. ¿Cuál es el uso de establecer variables de entorno en cartero?

En proyectos anteriores, el entorno para la prueba de interfaz incluye el entorno de desarrollo, el entorno de prueba, etc. Para facilitar las pruebas, la variable de entorno se establece en postman y todas las interfaces se referirán a la variable de entorno en ese momento, de modo que no haya necesita cambiar de entorno cada vez Modifique la dirección de host de la interfaz del sistema bajo prueba; haga clic en el botón de administración de variables de entorno en la esquina superior derecha: cree una nueva variable de entorno y use { {nombre de variable}} para llamar

17. ¿Cuál es el significado de asociación en las pruebas de interfaz? ¿Cómo establecer la asociación con el cartero?

La asociación consiste en interceptar el valor de retorno de la interfaz anterior y usarlo como parámetro de la siguiente interfaz, lo que permite que las interfaces se ejecuten en serie.

Los pasos para configurar la asociación en cartero son los siguientes:

  1. Primero, extraiga la información requerida por la siguiente interfaz de la interfaz anterior mediante la extracción de expresiones regulares o la extracción de valores json

  2. Use el código que establece la variable global para guardar el valor recuperado en la variable global

  3. En la siguiente interfaz, use { {variable global}} en lugar del valor estático que desea reemplazar

18. ¿Qué tipos de pruebas de protocolo admite postman?

protocolos http y https

19. ¿Cuáles son las formas de parametrización del cartero?

Variables integradas, guiones previos para escribir guiones js, importar archivos de formato csv o json durante la operación por lotes

20. ¿Cómo ejecuta Newman los scripts de cartero?

El nombre del script de ejecución de Newman también puede agregar parámetros para generar informes html, etc.

21. ¿Qué versión usaba jmeter antes? ¿Cómo se instaló?

jmeter usa la versión 5.1.1, la instalación es la siguiente:

Primero instale jdk1.8 o superior en la computadora, luego descargue el último paquete de instalación del sitio web oficial, descomprímalo y configure las variables de entorno.Después de la configuración, la instalación está completa

22. ¿Cómo usar jmeter para pruebas de interfaz en el proyecto?

  1. Establezca el número de grupos de hilos en 1 y el número de bucles en 1

  2. Configure la URL de la variable global a través del elemento de configuración: variable definida por el usuario agregada

  3. Agregue el valor predeterminado de la solicitud http del elemento de configuración, colocado después de la variable definida por el usuario

  4. Agregue controladores de transacciones para administrar y organizar casos de prueba

  5. Agregar solicitud http en el control de transacciones Agregar información de solicitud de interfaz en el caso de prueba

  6. Agregue el elemento de afirmación correspondiente para afirmar

23. ¿Cómo configurar la aserción en jmeter?

Haga clic con el botón derecho en Solicitud—Afirmación—Afirmación de respuesta—Afirmación de respuesta Interfaz Ingrese los elementos que se van a comprobar y comparar. Después de configurar la afirmación, ejecute la prueba de interfaz. Si pasa, no aparecerá ningún aviso al ver el árbol de resultados. Si la afirmación falla, habrá un error rojo. Si los datos devueltos por la interfaz son datos json, también puede agregar una afirmación json

24. ¿Cómo implementar la asociación en jmeter?

Primero intercepte el valor del parámetro requerido por la siguiente interfaz de la interfaz anterior a través del extractor de expresiones regulares o el analizador jsonpath y guárdelo en una variable, y luego use ${variable name} para obtenerlo al escribir una interfaz

25. ¿Cuál es la función de jmeter al agregar el elemento de valor predeterminado de la solicitud HTTP?

Después de agregar y configurar, es equivalente a establecer el valor predeterminado para todas las muestras de solicitudes http. No necesita completar la muestra, como la dirección del host, el puerto, el proxy, etc., puede usar el valor predeterminado de la solicitud http para colocar

26. ¿Cuáles son las formas de parametrización de jmeter que se pueden realizar?

  1. Elementos de configuración: los elementos variables definidos por el usuario pueden establecer variables globales

  2. En el cuadro de diálogo del asistente de funciones, puede elegir cadenas aleatorias, fechas aleatorias y números aleatorios como parámetros

  3. Puede usar un archivo csv como parámetro, y puede configurarlo a través del elemento de configuración del conjunto de datos csv en el elemento de configuración

27. ¿Cuáles son los puntos de diseño de los casos de prueba de interfaz?

Para este problema, podemos analizarlo a partir de la composición de la interfaz. Una interfaz incluye principalmente la dirección de solicitud, el método de solicitud y los parámetros de solicitud. La dirección y el método de solicitud son fijos.

Por lo tanto, debemos comenzar principalmente con los parámetros de solicitud, principalmente de los siguientes aspectos:

1. Número de campos de parámetros: campos obligatorios y campos opcionales

2. Legalidad de los parámetros: parámetros legales e ilegales de entrada y salida

3. Límite: solicite el valor del límite del parámetro, etc.

4. Tolerancia a fallas: procesamiento de datos de gran capacidad, solicitudes frecuentes, solicitudes repetidas (como pedidos), red anormal, etc.

5. Verificación de datos de respuesta: la aserción y la extracción de datos pasan a la interfaz del siguiente nivel

6. Verificación lógica: si las dos interfaces solicitadas tienen un orden estricto, es necesario probar el orden de la transferencia

7. Rendimiento: simule pruebas simultáneas de interfaces, aumente gradualmente la presión y analice los puntos de cuello de botella

8. Seguridad: cree solicitudes de caracteres maliciosos, como: inyección SQL, XSS, información confidencial, lógica comercial (como: omitir algunos pasos clave; manipular datos confidenciales sin verificación)

28. ¿Cuál es la diferencia entre publicar y recibir?

Esta pregunta debería ser una pregunta que todo probador de interfaz pueda responder, pero preste atención a los puntos clave:

1. Los parámetros del método get están en la URL y los parámetros de la publicación están en el cuerpo (diferencia esencial)

2. La seguridad del método get no es tan alta como la del post

3. El método get se puede almacenar en caché pero la publicación no

4. Los parámetros transmitidos en la URL de la solicitud GET tienen un límite de longitud, pero la POST no.

Por supuesto, hay muchas otras diferencias, pero es casi suficiente para responder a estas principales.

29. ¿Qué herramientas de captura de paquetes utiliza?

Hay muchos tipos de herramientas de captura de paquetes, pero las más utilizadas por nuestros técnicos no son más que Fiddler, porcelana azul y blanca y F12, así que elija la que más utilice.

Por supuesto, la mayoría de las próximas preguntas del entrevistador preguntarán por qué usa la herramienta de captura de paquetes. ¿La empresa no tiene un documento de interfaz?

30. ¿Para qué usas la herramienta de captura de paquetes?

Para los desarrolladores de medianas y grandes empresas, escribirán un documento de interfaz completo, de modo que cuando hagamos pruebas de interfaz, ¿podemos compararlo con el documento de interfaz? asi que para tambien

Los amigos que no tengan experiencia en proyectos de interfaz reales estarán perdidos. Luego, nuestros evaluadores generalmente capturan paquetes para verificar si los datos que probamos son normales durante el proceso de transferencia de la interfaz.

O para juzgar si un determinado problema es un problema de front-end o un problema de back-end.

31. ¿Cómo juzgar si un error es un problema de front-end o un problema de back-end?

Esta es una pregunta que muchos entrevistadores harán, y también es un punto de conocimiento que nuestros evaluadores deben dominar para evitar que los desarrolladores front-end y back-end se golpeen en el trabajo.

De hecho, es fácil de juzgar. Primero podemos capturar el paquete y mirar el mensaje de solicitud, y luego mirar el documento de interfaz para ver si hay algún problema con el mensaje de solicitud. Si hay un problema, los datos enviados por el front-end es incorrecto. Los datos devueltos son incorrectos, es decir, después de

El problema del desarrollo de terminales, para que nuestros evaluadores puedan tener sus propios juicios, en lugar de dejar que los desarrolladores discutan entre ellos.

32. ¿Qué utiliza su empresa para las pruebas de interfaz?

Las herramientas utilizadas por cada empresa para las pruebas de interfaz son diferentes. Algunas usarán cartero para realizar algunas pruebas simples de interfaz única, pero para una cierta cantidad de pruebas de interfaz, cartero es difícil de hacer, por lo que muchas empresas en este momento a la vez

Elegiré el jmeter de código abierto para hacerlo, porque el script es relativamente fácil de administrar y mantener.

Pero para muchas empresas, jmeter no puede cumplir con sus propios requisitos. En este momento, los evaluadores escribirán sus propios marcos de prueba (es decir, desarrollo de pruebas) y luego diseñarán y completarán las funciones requeridas por sus empresas a través de la codificación.

33. ¿Conoce el marco de pruebas de interfaz?

Muchos amigos dirán que usaré unittest, pytest o testNG. De hecho, estos marcos no pueden cumplir con los requisitos de la empresa. Cabe decir que nuestro marco está empaquetado e integrado en el marco unittest o pytest.

Envíe informes del sistema y de prueba, registros, repeticiones y otras funciones, y luego hable sobre las ventajas de este diseño, lo que hará que las personas piensen que esta persona comprende el proceso de implementación del marco específico.

34. ¿Dónde están sus casos de prueba de interfaz?

Depende de que herramientas utilice tu empresa para las pruebas de interfaz, si es cartero y jmeter los casos de uso están directamente en sus archivos de solicitud, pero si tienes tu propio framework los casos de uso son generalmente en tablas o tablas.

Enlace original:

https://www.cnblogs.com/zhangshaoning/p/12563860.html

Enlace original:

https://www.cnblogs.com/csmashang/p/12661361.html

Supongo que te gusta

Origin blog.csdn.net/cxxc980322/article/details/129140278
Recomendado
Clasificación