Preguntas de la entrevista de prueba de software Douyin (con respuestas)

Preguntas de la entrevista de prueba de software Douyin (con respuestas)

tema

1... ¿Se pueden ubicar elementos ocultos o mostrados = ninguno en selenio?
2... ¿Cómo mejorar la velocidad de ejecución del script de selenio?

3. ¿Cuál es el protocolo de webdriver?

4. ¿Es necesario conectarse a la base de datos para la verificación de datos durante las pruebas automatizadas?

5. Después de hacer clic en el enlace, ¿Selenium esperará automáticamente a que se cargue la página?

6. ¿Qué opina de la relación de salida de las pruebas automatizadas?

7. ¿Cómo juzgar que un elemento debe existir en el selenio?

8. ¿Cuál es la diferencia entre la interfaz http y la interfaz de servicio web?

9. ¿Cuál es la diferencia entre Pytest y unittest?

10. En el currículum, si está familiarizado con los comandos de Linux, debe preguntar, ¿cómo construir un entorno de prueba? ! ! ! ! ! ! ! ! ! ! !

11. ¿Está su sistema de prueba conectado con otros sistemas? El informe de prueba de encanto generado por su automatización web, ¿hay algún

12. Describa brevemente la conexión interna y la conexión externa.

13. ¿Quién preparó los datos de la prueba de rendimiento?

14. ¿Se ha realizado la automatización de APP? Describa brevemente cómo realiza las pruebas funcionales, las pruebas de rendimiento y las pruebas de seguridad.

15. Las pruebas automatizadas de la web encontraron un ERROR. El desarrollador pensó que no era un problema con el código, sino con su secuencia de comandos. ¿Cómo solucionarlo y convencerlo? (Esta pregunta fue hecha tres veces por diferentes entrevistadores)

16. ¿Cuál es el proceso comercial de su empresa? ¿Cuál cree que es la ventaja de venir a nuestra empresa para la prueba? eres mejor en

¿Qué? Nombra tus fortalezas? y sus desventajas?

17. Si viene a nuestra empresa, ¿cómo realizará el trabajo de prueba?

18. Ha encapsulado la biblioteca de solicitudes de solicitudes, ¿cómo obtener el mensaje correspondiente después de enviar la solicitud?

  1. ¿Cómo analiza y localiza el problema cuando la interfaz es anormal?

  2. ¿Cómo se puede mejorar el proceso de prueba? (Debido a que el currículum está escrito, no debería poder hacer esta pregunta)

  3. ¿Estás haciendo automatización a tiempo completo? ¿La automatización y las pruebas funcionales se ejecutan en paralelo? ¿Cuál es la proporción?

Respuesta

  1. seleniumElementos en hiddeno display=noneque se pueden ubicar, pero con los que no se interactúa. Estos elementos se pueden mostrar en la página modificando estilos o atributos a través de JavaScript y luego manipularlos.

  2. La mejora de la velocidad de ejecución de seleniumlos scripts debe partir de los siguientes aspectos:

    • Uso razonable del tiempo de espera: establezca un tiempo de espera adecuado y evite esperas innecesarias;
    • Reduzca el número de posicionamiento de elementos de página: reutilice los elementos posicionados tanto como sea posible para evitar el posicionamiento repetido;
    • Elija un método de posicionamiento rápido: elija un método de búsqueda de elementos apropiado (como ID, nombre de clase, etc.) de acuerdo con el escenario de la aplicación y evite utilizar métodos de posicionamiento más lentos como Xpath.
  3. webdriverEs un protocolo abierto que define una API web para el control del navegador y las pruebas automatizadas, incluida la gestión de diferentes sesiones a través de solicitudes HTTP, la obtención del estado actual y las características de una sesión específica y la realización de operaciones DOM a través de comandos, etc.

  4. No es necesario conectarse a la base de datos para la verificación de datos. En muchos casos, la validación de datos se puede realizar con base en el concepto de interfaces front-end y back-end sin conectarse directamente a la base de datos. Incluso si desea verificar los datos en la base de datos, puede usar tecnologías como JDBC u ORM para encapsular la operación de verificación en el código en lugar de operar directamente la base de datos.

  5. seleniumPuede usar ExpectedConditionspara esperar a que se cargue la página o que se cargue un elemento específico, por ejemplo, presence_of_element_locatedpara esperar a que se haga clic en el elemento del enlace para que exista. Además, también puede usar métodos time.sleep()como esperar manualmente, pero este método no puede distinguir si la página está realmente cargada, por lo que no se recomienda.

  6. El resultado de las pruebas automatizadas depende en gran medida de factores como la calidad de la ejecución de las pruebas y la complejidad del sistema. Si se puede considerar completamente una variedad de escenarios de aplicación y la solución se puede optimizar continuamente para diversas situaciones, se puede reducir en gran medida el costo y el tiempo de las pruebas humanas y generar resultados de prueba repetibles y sostenibles de alta calidad. Sin embargo, estos factores pueden ser ineficaces sin un buen plan de prueba, diseño de casos de prueba y selección de la cadena de valor de la herramienta de prueba adecuada.

  7. seleniumWebDriverWaitLas condiciones de espera se pueden ExpectedConditionsencapsular en la clase, por ejemplo, presence_of_element_locatedutilizando visibility_of_element_locatedmétodos como o para determinar si existe un elemento.

  8. HTTP 接口El protocolo HTTP se usa para la comunicación, mientras que el protocolo SOAP se Web Service 接口usa para la comunicación, generalmente se necesita usar un archivo WSDL para describir la definición de la interfaz. Además, la interfaz de servicio web tiene más funciones y una mayor sobrecarga de protocolo, mientras que la interfaz HTTP es más simple y generalmente se usa en escenarios como servicios livianos y transmisión de datos.

  9. PytestEs un marco de prueba de Python más flexible y conciso, que admite muchas funciones avanzadas, como modularización, parametrización, inyección de accesorios y mecanismo de complemento. unittestes un marco de prueba integrado en la biblioteca estándar de Python, que admite funciones como aserciones, conjuntos de pruebas y más. Por el contrario, Pytestes fácil de aprender y usar, y tiene una ecología de complementos más rica.

  10. Para construir un entorno de prueba, es necesario seleccionar y configurar los recursos de hardware y software apropiados según las necesidades específicas. En general, se puede utilizar una máquina física o una máquina virtual para simular el entorno de prueba, instalar el sistema operativo, el entorno de desarrollo, la base de datos y otros componentes necesarios, y la aplicación en sí, y configurar la copia de seguridad, la recuperación, el equilibrio de carga y el rendimiento necesarios. de acuerdo con las herramientas de monitoreo del esquema de trazabilidad de la prueba, etc.

  11. El sistema de prueba generalmente necesita interactuar con otros sistemas, incluido el sistema de gestión de productos, el sistema de gestión de cambios, el sistema de gestión de defectos, etc. Para los requisitos de acoplamiento y las especificaciones de interfaz, es necesario desarrollar y mantener la lógica de acoplamiento y los protocolos de interfaz específicos para lograr el intercambio de datos y la colaboración de procesos.

  12. 内连接(INNER JOIN)Es el tipo de combinación más simple en SQL, solo devuelve filas con valores clave coincidentes en las dos tablas. 外连接while devuelve filas que no tienen un valor correspondiente en al menos una tabla,

  13. El conjunto de datos de la prueba de rendimiento es el script de prueba escrito por el probador de acuerdo con el escenario comercial del sistema y, al ejecutar estos scripts, los datos de rendimiento del sistema se recopilan en diferentes escenarios de carga. Las pruebas de rendimiento deben cubrir varios escenarios de aplicaciones prácticas y generar una carga y concurrencia razonables para reflejar los indicadores de rendimiento y los cuellos de botella del sistema bajo diferentes presiones.

  14. Ha realizado pruebas de función de automatización de aplicaciones, pruebas de rendimiento y pruebas de seguridad. Entre ellos, la prueba de rendimiento prueba principalmente los módulos funcionales de la aplicación, como la función de inicio de sesión y la función de pago, etc.; la prueba de rendimiento se centra principalmente en la velocidad de respuesta, la tasa de uso de la memoria y el consumo de energía de la aplicación, y recopila y analiza la operación indicadores a través de herramientas; mientras que la prueba de seguridad se centra principalmente en ataques contra APP, como cross-site scripting (XSS) e inyección SQL, etc., y prueba si el grado de refuerzo y reparación de vulnerabilidades es efectivo.

  15. Si el desarrollador piensa que el ERROR es causado por un enlace que no es su propio código, puede usar los siguientes métodos para solucionar el problema y convencer al desarrollador:

  • Vuelva a ejecutar el script para verificar si hay errores consistentes;
  • Verifique la configuración y configuración del entorno de prueba y asegúrese de que sea similar al entorno de producción;
  • Resuelva los problemas de todos los componentes de middleware que afectan el proceso de ejecución del código, intente eliminar cualquiera de ellos o ajuste su configuración para determinar la solución;
  • En el mismo escenario, use diferentes marcos de prueba o use métodos de prueba no automatizados para verificar si el error solo está relacionado con los scripts;
  • Analice detenidamente la lógica empresarial y del código y analice con el equipo de desarrollo y los productos para localizar rápidamente la causa raíz.
  1. El proceso comercial de la empresa está relacionado con la industria, y la ventaja de que haga pruebas en su empresa es que tengo cierta experiencia y habilidades para tratar varios problemas de pruebas de software, incluida la redacción de planes de prueba, el diseño de casos de prueba, la ejecución de trabajos de prueba y Se presentan algunas herramientas y técnicas de prueba comunes. Soy relativamente bueno en pruebas de automatización, pruebas de rendimiento y pruebas de interfaz, y también estoy tratando de mejorar otras habilidades para satisfacer las necesidades.

Mis fortalezas son un alto sentido de responsabilidad y capacidad de aprendizaje, y soy bueno para cooperar con varias personas. Mi desventaja es la falta de experiencia en gestión de proyectos, y es posible que necesite más capacitación y apoyo cuando emprenda algunos proyectos complejos.

  1. Al realizar pruebas en una nueva empresa, primero debe comprender el proceso de desarrollo de software, la planificación de proyectos y los estándares de prueba de la empresa, y establecer contacto y comunicación con el desarrollo, los equipos de productos y otro personal relevante. Sobre esta base, puede iniciar el plan de prueba, escribir guiones y casos de prueba, y depurar y crear el entorno de prueba. De acuerdo con las necesidades de los diferentes proyectos, se pueden utilizar pruebas automatizadas, pruebas manuales o pruebas mixtas para realizar trabajos de prueba y realizar un seguimiento oportuno de los informes de defectos y participar en reuniones relevantes.

  2. Después de encapsular la biblioteca de solicitudes, requests.Responsepuede textobtener la cadena del mensaje de respuesta a través de la propiedad del objeto después de enviar la solicitud. Los datos después de procesar y analizar el mensaje correspondiente también se pueden obtener a través de contentatributos o métodos como .json()

  3. Cuando ocurre una excepción en la interfaz, se pueden adoptar los siguientes métodos de análisis de acuerdo con la situación real:

  • Analizar información anormal, como código de estado HTTP, mensaje de error, etc.;
  • Seleccione las herramientas de prueba adecuadas de acuerdo con el entorno de red y los escenarios de prueba;
  • Agregue registros detallados al código de prueba para registrar pasos clave y activar operaciones;
  • Se pueden llamar otras API o programas de monitoreo para rastrear y analizar todo el enlace.
  1. Para mejorar el proceso de prueba, puede comenzar desde los siguientes ángulos:
  • Revise y actualice los planes de prueba y los casos de prueba, y trate de usar software de automatización y marcos de prueba para mejorar la eficiencia de la prueba;
  • Establezca indicadores de calidad específicos, incluida la cobertura de código, la densidad de defectos, etc., y asegúrese de que el producto final tenga los requisitos de calidad deseados a través de la integración continua y la entrega continua;
  • Trabaje con los desarrolladores y, en general, participe en el proceso de desarrollo para detectar problemas en una etapa temprana;
  • Utilice métodos de desarrollo ágiles para poder responder rápidamente a los requisitos cambiantes y realizar comentarios y correcciones rápidamente.
  1. Actualmente, estoy haciendo pruebas automatizadas a tiempo completo, pero elegiré el tipo de prueba, diseñaré y ejecutaré el caso de prueba de acuerdo con la situación real del proyecto y el equipo. Al mismo tiempo, estoy convencido de que las pruebas automatizadas y las pruebas manuales van de la mano y tienen sus propias ventajas. En mi trabajo de prueba, la automatización representa una gran proporción y el efecto es significativo, pero no puede reemplazar por completo las pruebas manuales. Por ejemplo, escenarios como la prueba de GUI y los casos de uso de esquina aún requieren la participación e inspección humana.

Supongo que te gusta

Origin blog.csdn.net/qq_51447496/article/details/131141833
Recomendado
Clasificación