Enciclopedia de entrevistas de pruebas automatizadas (edición 2023)

Intercambio de preguntas de la entrevista

1. ¿Cómo probar la automatización?

Esta pregunta se basa en la situación real de su empresa, se puede hacer referencia al siguiente contenido:

1) Antes de realizar pruebas automatizadas, es mejor hacer un plan de prueba para aclarar el objeto de prueba, el propósito de la prueba, el contenido del proyecto de prueba, el método de prueba y los requisitos de progreso de la prueba para garantizar que los recursos necesarios para la prueba, como el hardware humano. datos, están completamente preparados y la prueba está formulada Después de la planificación, envíela a los diseñadores de casos de uso

2) Analizar los requisitos de prueba

El diseñador de casos de uso analiza los requisitos de prueba de acuerdo con el plan de prueba y la especificación de requisitos, y diseña el árbol de requisitos de prueba, de modo que el diseño de casos de uso pueda cubrir todos los puntos de demanda. En términos generales, las pruebas funcionales basadas en la web deben cubrir los siguientes aspectos:

① Prueba de enlace de página para garantizar que cada enlace sea normal;

②Prueba de control de página para garantizar que cada control sea confiable;

③Prueba de función de página para garantizar que todas las operaciones sean normales;

④ Prueba de procesamiento de datos para garantizar una visualización precisa de los datos, un procesamiento preciso y confiable;

⑤ Prueba de lógica empresarial del módulo para garantizar el flujo fluido de cada proceso empresarial.

3) Diseñar casos de prueba

Al analizar los requisitos de prueba, diseñe casos de prueba que puedan cubrir todos los puntos de demanda y forme documentos de casos de prueba especiales. Dado que no todos los casos de prueba pueden automatizarse, es necesario agregar los casos de prueba que pueden automatizarse en casos de prueba automatizados. Cuando sea necesario, el usuario, la contraseña, el producto, el cliente y otra información de parámetros del sistema de inicio de sesión deben separarse para formar datos de prueba, lo cual es conveniente para el desarrollo de scripts.

4) Cree un entorno de prueba

Los probadores automatizados pueden comenzar a construir el entorno de prueba al mismo tiempo que se lleva a cabo el trabajo de diseño del caso de uso. Porque la secuencia de comandos de las pruebas automatizadas necesita registrar controles de página y agregar objetos. La construcción del entorno de prueba incluye la implementación del sistema bajo prueba, la invocación del hardware de prueba, la configuración de la caja de instalación de las herramientas de prueba y el diseño del entorno de red.

5) Escribir guiones de prueba

De acuerdo con el nivel de dificultad de los casos y problemas de prueba automatizados, adopte un enfoque de desarrollo de script adecuado para escribir pruebas más delgadas. En general, los controles de página requeridos por la prueba se obtienen grabando primero, y luego la ejecución del script se controla mediante declaraciones estructuradas, y se insertan puntos de control y declaraciones de retroalimentación de juicio de excepción para separar funciones comunes y comunes en scripts compartidos, y despertar parámetros de datos cuando sea necesario cambiar. Por supuesto, también puede editar scripts con otras funciones avanzadas. Después de escribir el script, debe ejecutarse repetidamente y depurarse hasta que se ejecute normalmente. La redacción y denominación de los guiones debe cumplir con las normas de gestión para la gestión y el mantenimiento unificados.

6) Analizar los resultados de las pruebas y registrar las preguntas de las pruebas

Los resultados de las pruebas automatizadas deben analizarse de manera oportuna. Se recomienda que los evaluadores dediquen una cierta cantidad de tiempo todos los días a analizar los resultados de las pruebas automatizadas para encontrar defectos lo antes posible. Si se utiliza una herramienta de prueba automatizada de código abierto, se recomienda llevar a cabo un desarrollo secundario para que se integre estrechamente con la herramienta de gestión de defectos seleccionada por el departamento de prueba. Idealmente, después de que falla un caso de prueba automatizado, la plataforma de prueba automatizada informará automáticamente un defecto. Los probadores solo necesitan tomarse una cierta cantidad de tiempo todos los días para confirmar si estos defectos informados automáticamente son defectos reales del sistema. Si es un defecto del sistema, envíelo al desarrollador para que lo repare. Si no es un defecto del sistema, verifique el script de prueba automatizado o el entorno de prueba.

7) ERROR de prueba de seguimiento

El BUG registrado por la prueba debe registrarse en la herramienta de gestión de defectos para su seguimiento y procesamiento regulares. Después de que el desarrollador lo solucione, es necesario realizar una prueba de regresión sobre este problema, es decir, repetir la versión más delgada correspondiente del problema una vez y cerrarla si pasa la ejecución; de lo contrario, continuar modificando. Si el plan de modificación del problema se acuerda con el cliente, pero se desvía de los requisitos originales, el script debe modificarse y depurarse antes de la prueba de regresión.

8) Mantenimiento de scripts automatizados

Si el sistema cambia, mantenga los scripts de prueba automatizados y los documentos relacionados, incluidos los "Casos de prueba automatizados" y el "Manual de diseño de script automatizado" para adaptarse al sistema modificado.

Al mismo tiempo, también he preparado un video tutorial de prueba de software para todos, justo debajo, puede verlo directamente si lo necesita, o puede hacer clic directamente en la pequeña tarjeta al final del artículo para obtener el documento de información gratis

Vea videos tutoriales gratuitos en:

[Prueba de software] Use 300 preguntas de entrevista para ayudarlo a iniciar sesión, cepíllelo una vez al día, le permite ingresar directamente al trabajo y obtenga su oferta favorita_哔哩哔哩_bilibili [Prueba de software] use 300 preguntas de entrevista para ayudarlo inicie sesión, cepíllelo una vez al día, permítale unirse directamente al trabajo y obtenga un total de 200 videos de su oferta favorita, que incluyen: Explicación de la entrevista 1——Meituan Zhenti 1—Dado un escenario, hable sobre sus ideas de diseño de casos de prueba, un conjunto completo de materiales de prueba de software y rutas de aprendizaje, explicación de la entrevista 2—— Meituan Zhenti 2: hablemos de la diferencia entre la verificación de sesión y token, etc. Para ver más videos emocionantes del maestro UP, siga la cuenta UP. https://www.bilibili.com/video/BV1SY4y1p7k6/?spm_id_from=333.999.0.0&vd_source=74d0257ec7066cc4f9013524f0bb7013

2. ¿Cómo probar la interfaz?

1) Para los parámetros de entrada de la interfaz, primero considere los parámetros de entrada normales y los parámetros de entrada anormales. Las condiciones anormales incluyen: excepciones de parámetros y excepciones de datos

Parámetros de entrada normales: de acuerdo con los estándares de parámetros de entrada del documento de diseño de la interfaz, ingrese los parámetros normales y responda normalmente de acuerdo con las condiciones acordadas del documento de diseño de la interfaz

Las excepciones de parámetros incluyen: parámetros vacíos, más o menos parámetros, parámetros incorrectos

Las excepciones de datos incluyen: error de tipo de datos, el parámetro no nulo está vacío, la longitud no se ajusta al diseño, los datos están fuera de rango, los caracteres especiales o confidenciales, los datos de parámetros anormales con relación, etc.

2) Analizar la lógica de procesamiento de negocios

Análisis basado en restricciones: restricciones de cantidad, restricciones de estado de pedidos, restricciones de derechos de operación de datos (administradores, usuarios comunes)

Según el análisis del objeto de la operación: opera principalmente sobre objetos lícitos e ilegales, por ejemplo, si un usuario de tarjeta bancaria recarga la tarjeta, puede haber: usuario A recarga con una tarjeta distinta al usuario A; el período de vigencia ha vencido ; el usuario A usa su propia tarjeta para recargar, y la tarjeta está en la lista negra o se informa como perdida.

De acuerdo con el análisis de las transiciones de estado: como negocios de pago, el primer pago es exitoso y el reembolso se emitirá después de que se cancele el pedido. , cómo mostrar el estado, si es controlable, si hay un estado anormal, cómo lidiar con el negocio del estado vacío, etc.

Análisis basado en el orden de las operaciones comerciales: ejecutar en un orden determinado para esperar el resultado esperado, luego qué sucederá con otros programas de acción de sucursales que ocurren durante el proceso de ejecución.

3) salida

Al considerar las excepciones, generalmente pensamos en situaciones normales y situaciones no válidas, pero es posible que no cubran todos los códigos de error, y los códigos de error devueltos por la definición de interfaz pueden ayudarnos a complementar esta parte de los casos de uso, como excepciones de red, reglas no válidas , parámetros no válidos, ID de empresa no válida, tarea no válida, excepción del servidor, etc., agregue el valor del código de error para diseñar más casos de uso

Este tipo de caso de uso de diseño basado en la salida puede averiguar si los resultados de la salida de front-end y back-end son normales, si el aviso es amigable, si hay información confidencial en el aviso, etc.

4) Operación de la base de datos

Si el almacenamiento de datos comerciales es normal, si hay almacenamiento de datos duplicados y si hay caracteres ilegibles

Si la actualización de datos es normal, especialmente el campo de la hora, si la hora está en formato de 24 horas

Si cada campo de la tabla cumple con las expectativas

5) Seguridad

Si la información confidencial está encriptada (como nombre de usuario, número de cuenta bancaria, contraseña, monto de la transferencia)

6) Rendimiento

¿Cuál es el número máximo de simultaneidad que admite la interfaz?

Cuántas veces la interfaz puede manejar transacciones por segundo (TPS)

El tiempo de respuesta promedio (RT) de la interfaz

Consumo de recursos del servidor por interfaces (CPU, memoria, red, disco)

7) Compatibilidad

Las pruebas de interfaz no necesitan considerar la compatibilidad del cliente, principalmente la compatibilidad de datos. Por ejemplo, si los datos históricos de la interfaz anterior son compatibles y si los datos antiguos se pueden procesar normalmente con la nueva interfaz.

8) Idempotencia: significa que los resultados de una o varias solicitudes iniciadas por el usuario para la misma operación son consistentes y no habrá efectos secundarios debido a múltiples clics.

Los puntos de prueba son los siguientes:

① Si el front-end envía repetidamente los datos seleccionados o hace clic repetidamente en el botón de pago, solo se debe generar un resultado de respuesta correspondiente a estos datos en segundo plano.

②Inicie una solicitud de pago. Cuando encuentre un reenvío de red u otros problemas del sistema, primero puede desconectar la red y escanear el código una vez y luego volver a conectarse para escanear el código. Solo debe haber un pedido.

③Cree una orden comercial (retiro, etc.), solo se puede crear una solicitud comercial a la vez, y habrá grandes problemas si crea más de una;

④Para escanear transacciones de código QR (por ejemplo: se escanea el maestro) para el mismo pedido, si diferentes comerciantes escanean códigos QR al mismo tiempo, si habrá pagos repetidos;

⑤ Use herramientas para realizar pruebas de automatización de interfaz, haga el mismo número de pedido y vea si habrá pagos repetidos;

3. ¿Cuál es el marco de automatización de su empresa?

Los marcos de trabajo comúnmente utilizados son Robot Framework, Pytest y UnitTest.

Pytest, Robot Framework y UnitTest se utilizan principalmente para pruebas funcionales y unitarias.

4. ¿Por qué usar la prueba de interfaz jmeter en lugar de la prueba de interfaz directa de java?

jmeter tiene un bajo costo de aprendizaje y puede realizar muchos escenarios más complejos. Proporciona una interfaz de usuario más intuitiva, que es más fácil de comenzar y es conveniente para que los probadores entiendan las pruebas de interfaz.

Sin embargo, es relativamente difícil para los evaluadores escribir código para realizar varios juicios de estado de las pruebas de interfaz y requiere una cierta cantidad de acumulación técnica.

Gracias a nuestro equipo de pruebas. . . Por lo tanto, la prueba de interfaz realizada por jmeter puede ser más flexible al responder aquí.

5. ¿Cuántas interfaces están automatizadas?

Ordenar el negocio de su empresa.

El caso de la automatización de la interfaz depende del número de interfaces. Por ejemplo, si hay 100 interfaces, el número de casos de automatización de la interfaz es de aproximadamente 2000-3000. La tasa de cobertura de la automatización de la interfaz puede alcanzar el 100%. El caso de las pruebas de automatización WEB depende del caso de uso comercial, 10000 Para los casos de uso de pruebas funcionales, hay alrededor de 2000-3000 casos de uso para la automatización WEB, y la tasa de cobertura es generalmente del 30%. Se tarda entre media hora y una hora en ejecutar todos los casos de uso.

6. ¿Cómo evalúan las pruebas de interfaz sus casos de prueba?

1) Si la cobertura de la función comercial es completa

2) Si la cobertura de la regla de negocios está completa

3) Si la verificación de parámetros cumple con los requisitos (límite, reglas comerciales)

4) Si la cobertura de escenarios de excepción de interfaz está completa

5) Si la cobertura de la interfaz cumple con los requisitos

6) Si la cobertura del código cumple con los requisitos

7) Si los indicadores de desempeño cumplen con los requisitos

8) Si los indicadores de seguridad cumplen con los requisitos

7. ¿Cómo es la interfaz comercial? ¿Cuáles son los puntos de prueba?

1. Función de reposición:

La función de reabastecimiento automático de pedidos consulta repetidamente a través de la interfaz de consulta automática del sistema hasta que se obtiene el estado final del pedido.

Reposición manual de pedidos individuales y por lotes

2. Función de límite de control de riesgos: transacción única, límite de producto, límite de un solo día, límite de canal (en este momento, se requiere una prueba de valor límite)

3. Función de notificación asíncrona: Notificación de pago exitoso o división de cuenta Para diferentes notificaciones asíncronas, es necesario verificar si el contenido y el formato de las notificaciones en los tres estados de éxito, falla y procesamiento del pedido son correctos;

4. Función de cancelación de productos de pago: si aún puede realizar transacciones después de cancelar el contrato

5. Verificación básica del estado, como: estado de la orden de pago, estado de la pantalla del terminal, antecedentes del comerciante y otros estados de la plataforma

6. ¿Un pedido en un estado anormal activará un sistema de alarma?

7. Prueba de concurrencia, verificación idempotente

8. Indicadores no funcionales: compruebe si la concurrencia de la interfaz y el tiempo de respuesta están dentro de un rango razonable

8. ¿Cuál es la arquitectura lógica de la arquitectura de fondo (¿el fondo incluye algunos módulos?)

De acuerdo a la estructura de negocios de su empresa

9. ¿Cuánto cuesta el desarrollo de pruebas?

Según la situación real de su empresa

10. Si dejas escribir cifrado y descifrado ahora, ¿escribirás?

Resuelva el problema cepillando, por lo que no entraré en detalles aquí.

11. ¿Cómo comunicarse de manera eficiente con el desarrollo? ¿Tienes alguna experiencia en desarrollo remoto?

1. Ser paciente y cuidadoso, saber respetar el desarrollo

2. Los ingenieros de pruebas deben ser responsables de la calidad del producto y deben tener principios en este punto.

3. Si tiene la capacidad, puede emprender más trabajo, como: localizar el error a nivel de código, la premisa es emprenderlo cuando tenga suficiente energía 4. Establecer un mecanismo regular de seguimiento del
progreso

12. Relación entre automatización y función

Según la situación real de su empresa, por ejemplo: 3 a 7

13. ¿Qué bibliotecas se utilizan para escribir casos de prueba en Java?

Atención acumulación que se ha utilizado habitualmente

solicitudes: biblioteca de solicitudes HTTP

mysql-connector-python: mysql官方API de python

Selenium: la biblioteca más utilizada para pruebas de automatización web

Mock: una biblioteca para pruebas falsas

respuestas: una biblioteca genérica que falsifica la biblioteca de solicitudes en Python

faker: una biblioteca de python que genera datos falsos

radar: generar fecha/hora aleatoria

unittest: (biblioteca estándar de Python) marco de pruebas unitarias

14. Puntos de control de prueba automatizados

Código de respuesta de la interfaz

estado comercial

Monto de la transacción

resultado de la solicitud

aserción de base de datos

¿Contiene ciertas palabras clave?

15. ¿Cómo garantizar la calidad de las pruebas?

1) Combinación de diferentes tipos de pruebas, funcional no funcional

2) Familiarizarse con la lógica comercial del sistema probado y comprender las necesidades de excavación profunda

3) Para las funciones de módulos complejos, haga una revisión de casos de uso

4) Al ejecutar la prueba, no deje pasar ningún error, recuerde mencionar los defectos en el sistema y haga un seguimiento de los errores a tiempo. Preste atención a las pruebas cruzadas entre módulos para descubrir más problemas potenciales

5) Se debe evaluar la prueba final, se analizan los resultados de la prueba, se discuten los riesgos de conectarse en línea y se formulan planes de emergencia en caso de problemas.

etc.

16. ¿La empresa cuenta con alta concurrencia y alta disponibilidad?

Es decir: cómo evitar la ocurrencia de dos pedidos duplicados, solo de acuerdo con la situación real

Respuesta: Generalmente, está limitado por el índice único de la base de datos. Un ID de aplicación y un número de orden de comerciante solo pueden tener un artículo. Si la transacción se realiza al mismo tiempo, el índice único de la base de datos informará directamente un error. La base de datos controla, porque un elemento no se puede almacenar en el otro.

La alta concurrencia implica algunas explicaciones de palabras:

Algunos indicadores de uso común relacionados con la alta simultaneidad incluyen el tiempo de respuesta (Response Time), el rendimiento (Throughput), la tasa de consultas por segundo QPS (Consulta por segundo) y la cantidad de usuarios simultáneos.

Tiempo de respuesta: El tiempo que tarda el sistema en responder a una solicitud. Por ejemplo, el sistema tarda 200 ms en procesar una solicitud HTTP y estos 200 ms son el tiempo de respuesta del sistema.

Rendimiento: el número de solicitudes procesadas por unidad de tiempo.

QPS: El número de solicitudes de respuesta por segundo. En el campo de Internet, la distinción entre este indicador y el rendimiento no es tan obvia.

Número de usuarios simultáneos: el número de usuarios que realizan funciones normales del sistema al mismo tiempo. Por ejemplo, en un sistema de mensajería instantánea, el número de usuarios en línea simultáneos representa el número de usuarios simultáneos del sistema hasta cierto punto.

Alta disponibilidad:

La empresa presentó Sentinel, que es un componente de protección de tráfico de alta disponibilidad para la arquitectura de servicios distribuidos. Utiliza principalmente el tráfico como punto de entrada para ayudar a los desarrolladores a proteger los microservicios desde múltiples dimensiones, como la limitación de corriente, la configuración del tráfico, la degradación de interruptores automáticos y la protección de carga del sistema. y protección de puntos de acceso.

escrito al final

Finalmente, aquí hay una colección de tutoriales de autoaprendizaje para pruebas de software . Debería ser muy útil para los amigos que se están desarrollando en la industria de las pruebas. Para los amigos que lo necesiten, puede [hacer clic en la pequeña tarjeta al final del artículo para obtenerla gratis] . Además de los recursos básicos de nivel de entrada, los bloggers también recopilan una gran cantidad de recursos de automatización avanzados. Desde la teoría hasta el combate real, la unidad de conocimiento y acción realmente puede dominarlo. El conjunto completo de contenido se empaquetó en el disco de red y el contenido total es cercano a los 300 G.

☑ 215 episodios: un conjunto completo de cursos en video desde la base cero hasta la competencia
☑ [Courseware + código fuente]: tutoriales de apoyo completos
☑ 18 conjuntos: pruebe el código fuente del proyecto real
☑ 37 conjuntos: paquete de herramientas de prueba
☑ 268 preguntas: preguntas de entrevistas reales
☑ 200 plantillas: plantilla de currículum de entrevista, plantilla de plan de prueba, plantilla de informe de prueba de software, plantilla de análisis de prueba, plantilla de plan de prueba, informe de prueba de rendimiento, informe de prueba de rendimiento, plantilla de caso de uso de script de prueba de rendimiento (información completa)

Estos materiales deben ser el almacén de preparación más amplio y completo para los amigos que hacen [pruebas de software]. ¡Este almacén también me ha acompañado a través del viaje más difícil, y espero que también pueda ayudarlo a usted! Todo debe hacerse lo antes posible, especialmente en la industria técnica, debemos mejorar nuestras habilidades técnicas.

 

Supongo que te gusta

Origin blog.csdn.net/HUA1211/article/details/132299079
Recomendado
Clasificación