Golden Nine y Silver Ten, una colección de preguntas de entrevistas de prueba de software (con respuestas)

prefacio

Vi algunas preguntas de la entrevista antes, y siempre siento que serán útiles, pero no puedo recordarlas después de leerlas una y otra vez, así que integré todas las preguntas de la entrevista juntas, que son compartidas por grandes de todos los ámbitos. de la vida Desliza, no es necesario que busques preguntas en todas partes, y comparte estas preguntas de entrevista que he resuelto hoy. 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

1. 30 preguntas para la prueba de software JD después de la entrevista (productos secos)

1. ¿Cuáles son los métodos de diseño comunes de casos de prueba para pruebas de caja negra? Utilice ejemplos específicos para ilustrar la aplicación de estos métodos en el diseño de casos de prueba.

1) División de clase de equivalencia: Una clase de equivalencia se refiere a un subconjunto de un campo de entrada. En este subconjunto, cada dato de entrada es equivalente a revelar errores en el programa. Es razonable suponer que: probar una cierta equivalencia El valor representativo de un clase es igual a la prueba de otros valores de esta clase. Por lo tanto, todos los datos de entrada se pueden dividir razonablemente en varias clases de equivalencia, y un dato en cada clase de equivalencia se toma como la condición de entrada de la prueba, y una pequeña cantidad de datos de prueba representativos Obtenga buenos resultados de prueba La división de clase de equivalencia puede tener dos situaciones diferentes: clase de equivalencia válida y clase de equivalencia no válida.

2) Análisis de valor límite: es un complemento del método de división de clases de equivalencia. La experiencia del trabajo de prueba me dice que una gran cantidad de errores ocurren en el límite del rango de entrada o salida, en lugar de dentro del rango de entrada y salida. Por lo tanto, diseñar casos de prueba para varias condiciones de límite puede detectar más errores.

Para diseñar casos de prueba utilizando el método de análisis de valor límite, las condiciones límite deben determinarse primero. Por lo general, los límites de las clases de equivalencia de entrada y salida son las condiciones límite que deben enfocarse en las pruebas. Valores que son exactamente iguales a, Se debe seleccionar como datos de prueba un poco más o un poco menos que el límite, en lugar de seleccionar valores típicos o valores arbitrarios en la clase de equivalencia como datos de prueba.

3) Método de adivinación de errores: basado en la experiencia y la intuición para especular sobre todos los posibles errores en el programa, a fin de diseñar casos de prueba de manera específica.

La idea básica del método de especulación de errores: enumere todos los posibles errores y casos especiales que son propensos a errores en el programa, y ​​seleccione casos de prueba en función de ellos. Por ejemplo, muchos errores comunes en los módulos se han enumerado durante las pruebas unitarias. Productos anteriores Los errores encontrados en la prueba, etc., estos son el resumen de la experiencia. Además, los datos de entrada y los datos de salida son 0. El formulario de entrada está en blanco o el formulario de entrada tiene una sola línea. Estas son las situaciones que son propensos a errores Puede elegir estas situaciones El siguiente ejemplo se utiliza como caso de prueba.

4) Método de diagrama de causa y efecto: el método de división de clase de equivalencia y el método de análisis de valor límite presentados anteriormente se enfocan en considerar las condiciones de entrada, pero no consideran la relación entre las condiciones de entrada, combinación mutua, etc. Consideración de la combinación mutua de las condiciones de entrada, se pueden generar algunas situaciones nuevas. Pero no es una tarea fácil verificar la combinación de las condiciones de entrada. Incluso si todas las condiciones de entrada se dividen en clases de equivalencia, hay muchas combinaciones entre ellas. Por lo tanto, es necesario considerar la adopción de un adecuado Para describir la combinación de varias condiciones, en consecuencia generar múltiples acciones para considerar el diseño de casos de prueba. Esto requiere el uso de diagramas causales (modelos lógicos). El resultado final del método de diagrama causal es el tabla de decisión Es adecuado para verificar las condiciones de entrada del programa de varias combinaciones.

5) Método de análisis de tabla ortogonal: puede causar un aumento en la cantidad de casos de prueba debido a la combinación de una gran cantidad de parámetros. Al mismo tiempo, estos casos de prueba no tienen una brecha obvia en prioridad, y los probadores no pueden completar tal gran número de pruebas, algunos casos de uso se pueden reducir a través de la tabla ortogonal, para lograr la posibilidad de cubrir un rango tan grande como sea posible con la menor cantidad de casos de uso posible.

6) Método de análisis de escenarios: Se refiere a simular los pasos de operación del usuario de acuerdo con el escenario del usuario.Esto es similar al diagrama de causa y efecto, pero la profundidad y la factibilidad de ejecución pueden ser mejores.

7) Método de diagrama de estado: obtenga todos los estados del sistema bajo prueba a través de las condiciones de entrada y la descripción de los requisitos del sistema, y ​​obtenga las condiciones de salida a través de las condiciones y estados de entrada; obtenga los casos de prueba del sistema bajo prueba a través de las condiciones de entrada, las condiciones de salida y los estados.

8) Método de esquema: El método de esquema es un método que se enfoca en los requisitos Para enumerar varias condiciones de prueba, los requisitos se convierten en un esquema. El contorno se representa como una estructura de árbol con una ruta única entre la raíz y cada nodo hoja. Cada ruta en el esquema define un conjunto específico de condiciones de entrada utilizadas para definir casos de prueba. El número de hojas en el árbol o caminos en el esquema da el número aproximado de casos de prueba necesarios para probar toda la funcionalidad.

2. Describir en detalle el proceso completo de una actividad de prueba. (Para referencia, esta respuesta es principalmente la práctica del modelo de cascada)

El gerente del proyecto se comunica con el cliente para completar el documento de requisitos, y los desarrolladores y probadores completan conjuntamente la revisión del documento de requisitos. El contenido de la revisión incluye: lugares donde la descripción de los requisitos no es clara y lugares que pueden tener conflictos obvios o irrealizables. funciones El director del proyecto completa el plan del proyecto integrando las opiniones de los desarrolladores, evaluadores y clientes. Luego, SQA ingresa al proyecto y comienza a hacer estadísticas y seguimiento.

El desarrollador completa el documento de análisis de requisitos de acuerdo con el documento de requisitos, y el probador realiza una revisión.El contenido principal de la revisión incluye si hay omisiones o diferencias en el entendimiento entre las dos partes. El probador completa el documento del plan de prueba y el contenido incluido en el plan de prueba se describe arriba.

Los probadores comienzan a escribir casos de prueba de acuerdo con el documento de análisis de requisitos modificado, y los desarrolladores completan el documento de diseño de esquema y el documento de diseño detallado. Estos dos documentos se convierten en materiales complementarios para que los probadores escriban casos de prueba.

Una vez que se completan los casos de prueba, es necesario revisar las pruebas y el desarrollo.

El probador construye el entorno.

El desarrollador envía la primera versión y puede haber funciones sin terminar que necesitan ser explicadas. Los evaluadores realizan pruebas y las envían a BugZilla después de encontrar errores.

El desarrollo envía la segunda versión, incluida la corrección de errores y algunas funciones agregadas, y los evaluadores realizan pruebas.

Repita el trabajo anterior, generalmente después de 3-4 versiones, la cantidad de BUG disminuirá y se cumplirán los requisitos para el envío.

Si hay problemas informados por los clientes, se requiere que los probadores ayuden a reproducir y volver a probar.

3. El proceso de seguimiento de las herramientas de gestión de BUG (utilizando BugZilla como ejemplo)

El evaluador encuentra el ERROR, lo envía a Bugzilla, el estado es nuevo y el receptor del ERROR es el personal de la interfaz de desarrollo.

La interfaz de desarrollo asigna el BUG al desarrollador del módulo relevante, y el estado cambia a asignado. El desarrollador y la prueba confirman el BUG. Si es mi propio BUG, ​​está configurado para recibir; si es otro problema del desarrollador, se reenvía, depende del siguiente desarrollador llevar a cabo este comportamiento, si no es un problema, debe discutirlo y confirmarlo, rechazar este BUG, ​​y luego el probador cierra este problema.

Si el desarrollador acepta el BUG y lo modifica, cambie el estado del BUG a arreglado e informe la versión en la que se puede probar la prueba.

Los evaluadores prueban en la nueva versión, y si encuentran que el problema aún existe, se negarán a verificar; si se solucionó, cerrarán el BUG.

4. En su opinión, en el proceso de comunicación entre evaluadores y desarrolladores, ¿cómo mejorar la eficiencia y el efecto de la comunicación? ¿Cuál es la clave para mantener buenas relaciones interpersonales entre los probadores y otros miembros del equipo de desarrollo?

Trate de comunicarse cara a cara y, en segundo lugar, comuníquese directamente por teléfono, si solo puede comunicarse a través de herramientas de comunicación no oportunas como el correo electrónico, enfatice la necesidad de tener una comprensión profunda de las características y poder expresarse claramente.

También es más eficaz utilizar algunas herramientas de gestión de pruebas como TestDirector para la gestión Al mismo tiempo, cabe señalar que hay una descripción precisa de BUG en TestDirector.

Preste atención a los siguientes puntos para establecer una buena comunicación entre evaluadores y desarrolladores en el equipo:

Uno es la sinceridad, el otro es el espíritu de equipo, el tercero es tener un lenguaje común en la profesión, y el cuarto es tener razón en las cosas y no en las personas, trabajar primero

Por supuesto, también puede aumentar el favor de la otra parte señalando directamente algunos problemas menores en lugar de ingresar al Sistema de seguimiento de errores.

5. ¿Dónde está su mayor interés en las pruebas? ¿Por qué?

No existe una respuesta fija y unificada para esta pregunta de la entrevista, pero muchas empresas pueden preguntarla. Proporcione las siguientes respuestas para su consideración:

El mayor interés, sintiendo que este es un trabajo desafiante;

Las pruebas son una industria de experiencia. Cuanto más tiempo trabaje, más difícil y divertido será hacer un buen trabajo en las pruebas.

A través de su propio trabajo, puede hacer que los productos de software sean cada vez más perfectos y experimentar la diversión de ello.

Preste atención a los siguientes puntos al responder estas preguntas:

Exprese su interés haciendo coincidir la ruta técnica de la empresa contratante tanto como sea posible. Por ejemplo, si la empresa es una empresa de aplicaciones de bases de datos, exprese su interés en la prueba de la base de datos y espere mejorar su dominio de la base de datos a través de la prueba.

Indique que el propósito de sus pruebas es mejorar su capacidad y hacer un mejor trabajo de prueba; mejorar su capacidad no es para el desarrollo futuro u otras cosas, a menos que el empleador tenga tal arreglo.

No exprese su interés demasiado fuera del alcance de la empresa de contratación. Por ejemplo, la empresa de contratación está desarrollando software financiero, pero usted ha mostrado interés en el software de juegos, o la empresa de contratación está desarrollando JAVA, pero su interés está en el desarrollo de programas en lenguaje C.

6. ¿Cuáles cree que son las ventajas de las pruebas?

No hay una respuesta fija para esta entrevista, pero puedes referirte a los siguientes puntos y combinar tus propias características:

Resiliente, paciente, organizada, le gusta enfrentar desafíos, tiene la confianza para hacer todo bien, fuertes habilidades de comunicación, buenos comentarios de gerentes anteriores muestran que lo estoy haciendo bien

7. Describa brevemente lo que ha hecho en su trabajo anterior y con lo que está familiarizado. La respuesta de referencia es la siguiente.

Mi trabajo principal en el pasado era la prueba de sistemas y la prueba de automatización. En la prueba del sistema, se prueban principalmente la función de lógica comercial del sistema BOSS y las características de Clase 5 del sistema softswitch. En la prueba de rendimiento se realiza principalmente la prueba de estrés, y se obtiene el tiempo de respuesta del sistema y el consumo de recursos del sistema en el caso de diferente número de solicitudes. Las pruebas automatizadas son principalmente para probar las características del softswitch a través de la combinación de scripts escritos por ellos mismos y algunas herramientas de terceros.

En las pruebas, creo que una comprensión completamente precisa de las necesidades del usuario es muy importante. Además, la gestión de BUG debe basarse en los requisitos, no es necesario modificar todos los BUG.

El trabajo de prueba requiere paciencia y meticulosidad, porque en la nueva versión, aunque la mayoría de los BUG descubiertos originalmente se han corregido, las funciones originales correctas también pueden volverse incorrectas. Así que preste atención a las pruebas iterativas y las pruebas de regresión.

8. ¿Cuál es el uso de la estática en C/C++? (Por favor, especifique al menos dos)

1) En el cuerpo de la función, una variable declarada como estática mantiene su valor mientras se llama a la función.
2) Dentro del módulo (pero fuera del cuerpo de la función), las funciones utilizadas en el módulo pueden acceder a una variable declarada como estática, pero otras funciones fuera del módulo no pueden acceder a ella. Es una variable global local.
3) En un módulo, una función declarada como estática solo puede ser llamada por otras funciones en este módulo. Es decir, la función está restringida al ámbito local del módulo en el que se declara

9. ¿Cuál es la diferencia entre una referencia y un puntero?

1) Las referencias deben inicializarse, los punteros no.
2) Después de inicializar la referencia, no se puede cambiar y el puntero puede cambiar el objeto señalado.
3) No hay referencia a nulo, pero hay un puntero a nulo.

10. ¿Qué protocolo de red utiliza Internet? ¿La jerarquía principal del protocolo? ¿Qué protocolo se utiliza para la traducción de direcciones IP y direcciones físicas de Internet?

La principal estructura jerárquica del protocolo TCP/IP es: capa de aplicación/capa de transporte/capa de red/capa de enlace de datos.

ARP (Protocolo de resolución de direcciones) (Protocolo de resolución de direcciones)

11. Cuénteme sobre su comprensión de las dos estrategias de integración de arriba hacia abajo y de integración de abajo hacia arriba en las pruebas de integración, y hable sobre sus respectivas ventajas y desventajas y para qué tipo de prueba son principalmente adecuadas;

integración de arriba hacia abajo

Ventajas: los principales puntos de control y juicio se verifican antes; una función de software completa se puede realizar y verificar primero de acuerdo con la profundidad primero; la función se verifica antes, lo que brinda confianza; solo se necesita un controlador, lo que reduce el costo del desarrollo del controlador , soporte de aislamiento de fallas.

Desventajas: La cantidad de desarrollo de la columna es grande; la verificación subyacente se retrasa; los componentes subyacentes no se prueban lo suficiente.

La estructura de control del producto es relativamente clara y estable; la interfaz de alto nivel cambia poco; la interfaz de bajo nivel no está definida o puede modificarse con frecuencia; los componentes de control de producción y puerto tienen altos riesgos técnicos y deben verificarse lo antes posible ; espero ver el sistema del producto tan pronto como sea posible comportamiento funcional.

integración ascendente

Ventajas: verifique antes el comportamiento de los componentes subyacentes; el trabajo se puede integrar inicialmente en paralelo, lo que es más eficiente que de arriba hacia abajo; reduce la carga de trabajo del stub; admite el aislamiento de fallas.

Desventajas: la carga de trabajo de desarrollo del controlador es pesada, la verificación del alto nivel se retrasa y los errores de diseño no se pueden encontrar a tiempo.
La interfaz subyacente es relativamente estable; la interfaz de alto nivel cambia con frecuencia; los componentes subyacentes se completan antes.

12. Las pruebas de aceptación de software incluyen pruebas de aceptación formales, pruebas alfa y pruebas beta.
13. Hay muchas estrategias para las pruebas del sistema, incluidas las pruebas de rendimiento, las pruebas de carga, las pruebas de fuerza, las pruebas de usabilidad, las pruebas de seguridad, las pruebas de configuración, las pruebas de instalación, las pruebas de documentos, las pruebas de recuperación de fallas, las pruebas de interfaz de usuario, las pruebas de recuperación y las pruebas de distribución. pruebas, pruebas de usabilidad.
14. Los documentos del proyecto a los que se debe hacer referencia al diseñar un plan de prueba del sistema incluyen el plan de prueba de software, el artefacto de requisitos de software y el plan de iteración
. Los pasos para escribir un caso de prueba dibujando un diagrama de causa y efecto son ___, ___, ___, ___ y ​​convertir el diagrama de causa y efecto en un diagrama de estado Hay cinco pasos. Los pasos básicos para generar casos de prueba utilizando diagramas de causa y efecto son:

§ Analizar descripciones de especificaciones de software, cuáles son causas (es decir, condiciones de entrada o clases equivalentes de condiciones de entrada) y cuáles son resultados (es decir, condiciones de salida), y asignar un identificador a cada causa y efecto.

§ Analizar la semántica en la descripción de la especificación del software, averiguar cuál es la relación correspondiente entre la causa y el efecto, y entre la causa y la causa Según estas relaciones, dibujar un diagrama de causa y efecto.

§ Debido a restricciones gramaticales o ambientales, algunas combinaciones de causas y causas y entre causas y efectos son imposibles. Para indicar estos casos especiales, las restricciones o restricciones se marcan en el diagrama causal con símbolos. § Convertir diagramas de causa y efecto en tablas de decisión.

§ Tomar como base cada columna de la tabla de juicio y diseñar casos de prueba.

16. Por favor, dígame quién es el mejor para realizar estas pruebas y qué están probando.

Las pruebas de código y nivel de función generalmente las realizan probadores de caja blanca, que verifican la corrección de cada pieza de código o función para verificar si implementa correctamente las funciones especificadas.

La base principal para las pruebas a nivel de módulo y componente es la relación de integración y llamada entre el diseño de la estructura del programa y los módulos de prueba, que generalmente es completada por los evaluadores.

Las pruebas del sistema se realizan sobre la base de pruebas de módulos y pruebas unitarias. Comprenda las funciones y el rendimiento del sistema, y ​​realice pruebas exhaustivas basadas en casos de prueba.

17. ¿Qué aspectos se deben considerar al diseñar casos de prueba, es decir, qué aspectos son probados por diferentes casos de prueba?

Al diseñar casos de prueba, es necesario prestar atención no solo al proceso y las funciones generales, sino también a las pruebas de resistencia, de rendimiento, de estrés, de valor límite, de estabilidad, de seguridad y otros aspectos. (Los cuatro elementos básicos que deben considerarse en el caso de prueba son entrada, salida, operación y entorno de prueba; además, el caso de prueba debe considerar el tipo de prueba (función, rendimiento, seguridad...), esta parte se puede responder refiriéndose a TP. Además, también se debe considerar la importancia y la prioridad de los casos de uso)

18. Al guardar un archivo de texto en Windows, aparecerá un cuadro de diálogo para guardar.Si se crea un caso de prueba para el nombre del archivo, ¿cómo se debe dividir la clase de equivalencia?

Byte único, como A; byte doble, AA, I I; carácter especial /'. ';, =-, etc.; palabras reservadas, como com; el formato de archivo está en formato 8.3; el formato de nombre de archivo no está en formato 8.3; nueve caracteres especiales como /,, *.

19. Suponiendo que hay un cuadro de texto que requiere el ingreso de un código postal de 10 caracteres, ¿cómo se debe dividir el cuadro de texto en clases de equivalencia?

Caracteres especiales, como 10 * o ¥; letras inglesas, como ABCDefghik; menos de diez caracteres, como 123; más de diez caracteres, como 11111111111; números y otros mixtos, como 123AAAAAAAA; caracteres vacíos; caracteres reservados

20. ¿Cuándo comenzó el proyecto de pruebas de software? ¿Por qué?

Las pruebas de software deben estar involucradas en la etapa de análisis de requisitos, porque el objeto de las pruebas no es solo la codificación del programa, sino que todos los productos generados durante el proceso de desarrollo de software deben probarse, y los defectos del software tienden a amplificarse. más costará arreglarlo, mayor será el costo.

21. ¿Qué son las pruebas de regresión?

Pruebas de regresión: (pruebas de regresión): Hay dos tipos de pruebas de regresión: regresión de caso de uso y regresión de error; la regresión de caso de uso consiste en volver atrás y volver a probar los casos de uso utilizados anteriormente después de un período de tiempo para ver si se encuentra el problema de nuevo. La regresión de errores es un método para volver a verificar los defectos que aparecieron y repararon en la versión anterior en la nueva versión, y probar las partes modificadas relevantes con los defectos como núcleo.

22. ¿Cuál es el enfoque de las pruebas unitarias, las pruebas de integración y las pruebas del sistema?

Las pruebas unitarias están dirigidas a la unidad más pequeña de diseño de software: módulos de programa (funciones y procedimientos en orientados a procesos; clases en orientados a objetos). El trabajo de prueba para verificar la corrección es encontrar posibles errores que puedan existir dentro de cada módulo de programa. Generalmente , hay dos pasos: inspección estática manual \
prueba de integración de seguimiento de ejecución dinámica tiene como objetivo la inspección de los componentes integrados por cada módulo que ha pasado la prueba de unidad, y su contenido principal es la interfaz entre cada módulo de unidad y la función realizada
. La prueba del sistema está dirigida al sistema de software integrado. Como elemento de todo el sistema informático, se combina con otros elementos del sistema, como hardware\periféricos\algún software de apoyo\datos y personal.Se realizan una serie de pruebas de integración y pruebas de confirmación. llevado a cabo en el sistema informático en el entorno operativo.

23. ¿Qué cualidades debe poseer un ingeniero de pruebas?

1. Responsabilidad 2. Habilidades de comunicación 3. Espíritu de trabajo en equipo 4. Paciencia, cuidado, confianza 5. Mantener siempre una actitud escéptica y tener conciencia de prevención de defectos 6. Tener cierta experiencia en programación

24. ¿Qué tipos de pruebas de software conoce y preséntelos brevemente?

Clasificados por estrategia de prueba: 1. Pruebas estáticas y dinámicas 2. Pruebas de caja negra y caja blanca 3. Pruebas manuales y automáticas 4. Pruebas de humo 5. Pruebas de regresión;

Clasificados por fase de prueba: prueba unitaria, prueba de integración, prueba del sistema;

Otros métodos de prueba comunes: 1. Pruebas funcionales 2. Pruebas de rendimiento 3. Pruebas de esfuerzo 4. Pruebas de carga 5. Pruebas de usabilidad 6. Pruebas de instalación 7. Pruebas de interfaz 8. Pruebas de configuración 9. Pruebas de documentación 10. Pruebas de compatibilidad 11. Pruebas de seguridad 12 , prueba de recuperación

25. ¿Cuál cree que es la clave para hacer un buen trabajo en la planificación de pruebas?

Aclarar el objetivo de la prueba y mejorar la viabilidad del plan de prueba.

El propósito importante de escribir un plan de prueba de software es permitir que el proceso de prueba descubra más defectos de software, por lo que el valor de un plan de prueba de software depende de su capacidad para ayudar a administrar proyectos de prueba y descubrir posibles defectos de software. Por lo tanto, el alcance de la prueba en el plan de prueba del software debe cubrir en gran medida los requisitos funcionales, los métodos de prueba deben ser prácticos, las herramientas de prueba deben ser muy prácticas, fáciles de usar y los resultados de prueba generados son intuitivos y precisos.

Adhiérase a las reglas "5W", aclare el contenido y el proceso

La regla "5W" se refiere a "Qué (qué hacer)", "Por qué (por qué hacerlo)", "Cuándo (cuándo hacerlo)", "Dónde (dónde)", "Cómo (cómo hacerlo) ". El uso de la regla "5W" para crear un plan de prueba de software puede ayudar al equipo de prueba a comprender el propósito de la prueba (por qué), aclarar el alcance y el contenido de la prueba (qué), determinar la fecha de inicio y finalización de la prueba (cuándo). ), y señalar los métodos y herramientas de la prueba (Cómo), proporcionando la ubicación de almacenamiento de los documentos y el software de la prueba (Dónde).

Adoptar un mecanismo de revisión y actualización para garantizar que el plan de prueba satisfaga las necesidades reales

Después de escribir el plan de prueba, si no se ha revisado, se enviará directamente al equipo de prueba. El contenido del plan de prueba puede ser inexacto u omitir el contenido de la prueba, o el alcance de la prueba puede aumentar o disminuir debido a los cambios. en los requisitos de software, y el contenido del plan de prueba no se actualiza a tiempo, lo que es engañoso.Ejecutivo de prueba.

Crear plan de prueba y especificación detallada de prueba, caso de prueba respectivamente

Los indicadores técnicos de prueba detallados deben incluirse en el documento de especificación detallada de prueba creado de forma independiente, y los casos de prueba utilizados para guiar al equipo de prueba para ejecutar el proceso de prueba deben colocarse en el documento de caso de prueba creado de forma independiente o en la base de datos de gestión de casos de prueba. Existe una relación estratégica y táctica entre el plan de prueba y la especificación de prueba y los casos de prueba. El plan de prueba planifica principalmente el alcance, el método y la asignación de recursos de la actividad de prueba desde una perspectiva macro, mientras que la especificación de prueba y los casos de prueba son los específicos. tácticas para completar la tarea de prueba.

26. ¿Cuál cree que es la clave para hacer un buen trabajo en el diseño de casos de prueba?

La clave para el diseño de casos de prueba de caja blanca es cubrir tantos resultados lógicos internos del programa como sea posible con menos casos de prueba.

La clave para el diseño de casos de uso de caja negra también es cubrir las interfaces de entrada y salida del módulo con menos casos de uso. Imposible de probar completamente para encontrar la mayoría de los problemas en un tiempo razonable con la menor cantidad de casos de uso

27. ¿Cuál es su meta de desarrollo profesional en pruebas?

Cuanta más experiencia en pruebas, mayor será la capacidad de prueba. Así que mi desarrollo profesional necesita tiempo para acumularse, paso a paso hacia un ingeniero de pruebas senior. Y también tengo un plan de carrera preliminar, acumulando experiencia en testing en los primeros 3 años, actualizándome y corrigiéndome constantemente, y haciendo un buen trabajo en las tareas de testing.

28. ¿Cuál es el estándar para el final de la prueba?

Desde un punto de vista microscópico, se define en el plan de prueba. Por ejemplo, el sistema funciona sin problemas durante 72 horas bajo un determinado rendimiento. Actualmente, en el Sistema de seguimiento de errores, no hay errores graves generales en esta versión. El número de errores comunes es inferior a 3, y la tasa de reparación de errores es del 90%.Los parámetros anteriores y así sucesivamente, y luego el administrador de desarrollo, el administrador de pruebas y el administrador de proyectos firmarán para aceptar la versión.

Si hablamos de la macro, la prueba terminará cuando el software desaparezca por completo.

29. ¿En qué etapas debe consistir un conjunto completo de pruebas?

Análisis de viabilidad, análisis de requisitos, diseño general, diseño detallado, codificación, pruebas unitarias, pruebas de integración, pruebas de sistemas, pruebas de aceptación

30. ¿Conoce el proceso de desarrollo de software de las empresas en las que trabajó en el pasado? Si es así, describa qué trabajo debe realizarse en un proceso de desarrollo completo. ¿Cuáles son los diferentes roles para llevar a cabo estas tareas? ¿En qué tareas específicas ha trabajado en sus trabajos de prueba anteriores? ¿En qué parte del trabajo eres mejor?

Proceso de desarrollo: investigación de requisitos (personal de requisitos), análisis de requisitos (personal de requisitos), diseño de esquema (diseñadores), diseño detallado (diseñadores), codificación (desarrolladores)

Proceso de prueba: revisión de requisitos, diseño de prueba del sistema, revisión de diseño de resumen, diseño de prueba de integración, revisión de diseño detallada, diseño de prueba de unidad, ejecución de prueba

Haber realizado todo el proceso de trabajo de prueba, bueno en el diseño de prueba

El proceso determina la calidad, y la mejora del proceso de software es solo para mejorar la calidad del software y acumular varias experiencias y lecciones pasadas.

2. Las preguntas clásicas de la entrevista de pruebas de software están todas aquí, y se deben hacer las primeras 5 preguntas

Pregunta 1: ¿Por qué eligió la industria de pruebas de software?

Respuesta: Elegí las pruebas de software como carrera porque me encantan las pruebas de software. Creo que las pruebas de software son una profesión más desafiante y creativa que la programación de software. (No diga que elige hacer pruebas de software porque no puede continuar con el desarrollo, y no diga que no le gusta escribir código)

Pregunta 2: Cuénteme sobre su comprensión de las pruebas de software.

Respuesta: La prueba de software es el proceso de verificar la funcionalidad del software y producir un producto de software de buen nivel sin defectos, errores ni mal funcionamiento.

Pregunta 3: ¿Qué es el registro de prueba?

Respuesta: El registro de prueba contiene una lista completa de las operaciones realizadas durante la prueba de software y, a partir del registro de prueba, puede saber si la prueba pasó o falló.

Pregunta 4: ¿Cuál es la diferencia entre la prueba manual y la prueba automatizada?

Respuesta: El usuario realiza manualmente las pruebas manuales y las pruebas automatizadas se realizan automáticamente con la ayuda de scripts previos. Las pruebas automatizadas son más rápidas, seguras y rentables, mientras que las pruebas manuales son más lentas y menos seguras.

Pregunta 5: ¿Cuál es la diferencia entre las pruebas de caja blanca y caja negra?

Respuesta: La prueba de caja blanca es un método de prueba de software en el que el usuario debe conocer la realización de la estructura interna, mientras que en la prueba de caja negra, el usuario no necesita conocer los módulos de trabajo internos del usuario. En las pruebas de caja blanca, el usuario debe tener conocimientos de programación, mientras que en las pruebas de caja negra, el usuario no necesita conocimientos de programación.

Pregunta 6: ¿Cuáles son los beneficios de las pruebas de caja negra?

Respuesta: La prueba de caja negra puede ser realizada por usuarios con poco conocimiento de programación y es mucho más rápida que el proceso de prueba de caja blanca. Pocos errores pueden resultar en un producto de software porque no se han probado todos los componentes y módulos del software.

Pregunta 7: ¿Cuáles son las ventajas de las pruebas de caja blanca?

Respuesta: Las pruebas de caja blanca garantizan un producto de software de mayor calidad, ya que el programador prueba cada componente. Este es un proceso largo que lleva más tiempo que las pruebas de caja negra.

Pregunta 8: ¿Qué son las pruebas de regresión?

R: Cuando se cambie o modifique el software, vuelva a probar para verificar que las funciones del software funcionen correctamente y para asegurarse de que no haya errores no intencionales en el software. Este proceso de prueba se llama prueba de regresión.

Pregunta 9: ¿Qué son las pruebas funcionales?

R: La prueba funcional es un proceso de prueba y verificación según las especificaciones del cliente y cumple con todos los requisitos del cliente.

Pregunta 10: ¿Cuál es la relación entre los casos de prueba y los scripts de prueba?
 

Tres, pruebas de software preguntas comunes de la entrevista

1. ¿Cuáles son las etapas de la prueba?

Generalmente dividido en cinco etapas: prueba unitaria, prueba de integración, prueba de confirmación, prueba del sistema, prueba de aceptación.

2. ¿Cuáles son los métodos de prueba de software?

Caja negra, caja blanca, caja gris.

3. La diferencia y el uso de sum y count en la base de datos.

Las entrevistas generales usarán la suma y el orden por grupo juntos
contar: contar la cantidad de registros de datos que consulta: seleccionar contar(*) de la tabla de estudiantes;
suma: suma: seleccionar suma(chengji) de la tabla de estudiantes donde nombre='张tres';

4. Diseñe un caso de prueba de módulo

Investigue si la experiencia del entrevistador, la capacidad de diseño de casos de uso, el pensamiento y los métodos de prueba dominados son integrales.
Analice desde los aspectos de prueba funcional, prueba de interfaz, prueba de excepción, rendimiento y prueba de seguridad.

5. ¿Cómo gestiona pytest los casos de prueba?

Domine las reglas de casos, como comenzar con prueba, la clase nombrada después de Prueba, etc.
Cómo ejecutar un solo archivo de caso py, cómo administrar varias carpetas

6. ¿Por qué eligió la industria de pruebas de software?

Debido a que conocía la industria de pruebas de software antes, creo que sus perspectivas de desarrollo son muy buenas.
(¡No diga que simplemente cambia a pruebas cuando no puede hacer desarrollo!)

7. ¿Cuáles son los tipos de pruebas de software?

Los tipos de prueba incluyen: prueba funcional, prueba de rendimiento, prueba de interfaz

8. ¿Qué es un caso de prueba, qué es un script de prueba y cuál es la relación entre los dos?

Un conjunto específico de datos de entrada, operación o varias configuraciones ambientales y resultados esperados proporcionados al sistema bajo prueba para la implementación de la prueba.
Los scripts de prueba son scripts escritos para pruebas automatizadas.
La redacción de scripts de prueba debe corresponder a los casos de prueba correspondientes

9. ¿Cómo escribir un plan de prueba y casos de prueba?

Para ser simple, el plan de prueba debe incluir estrategias y métodos de prueba detallados, arreglos de recursos razonables y detallados, etc. En cuanto a los casos de prueba, depende de si los requisitos (incluidos los requisitos funcionales y no funcionales) se refinan a puntos funcionales y si pueden ser probados esperar.

10. ¿Cuál es la estrategia para las pruebas de software?

Estrategia de prueba de software: bajo la guía de ciertos estándares de prueba de software y especificaciones de prueba, la colección de principios, métodos y métodos de prueba de software estipulados de acuerdo con las restricciones ambientales específicas del proyecto de prueba.

Preguntas comunes de prueba escrita para pruebas de software:

Verdadero o Falso (Y=Sí, N=Falso)

1. El propósito de las pruebas de software es encontrar tantos defectos de software como sea posible. (Y)

2. La prueba beta es un tipo de prueba de aceptación. (Y)

3. El usuario final realiza las pruebas de aceptación. (NORTE)

4. Los probadores no necesitan enviar ningún artefacto antes de que se apruebe el proyecto. (Y)

5. Las pruebas unitarias pueden encontrar alrededor del 80 % de los defectos de software. (Y)

6. La revisión del código es para verificar si el código fuente cumple con los requisitos del diseño del módulo. (NORTE)

7. La integración ascendente requiere que los probadores escriban controladores. (Y)

8. La prueba de carga es para verificar el nivel más alto de capacidad del sistema que se va a probar. (NORTE)

9. Los probadores deben cumplir con el principio, y el defecto no se aprobará si no se repara. (NORTE)

10. Los evaluadores suelen atender a los revisores de código. (NORTE)

11. Podemos liberar artificialmente el problema de configuración del software. (NORTE)

12. El plan de pruebas de integración se presenta al final de la fase de análisis de requisitos. (NORTE)

opción multiple

1. Entre los siguientes métodos de prueba de cobertura lógica, el que tiene la mayor capacidad de cobertura es (D)

A. Cobertura de estados de cuenta b. Cobertura del juicio C. cobertura de condición d. Cobertura de combinación de condiciones

2. Con respecto a la diferencia entre la prueba de caja negra y la prueba de caja blanca, ¿cuál de las siguientes afirmaciones es correcta (A)?

A. Las pruebas de caja blanca se enfocan en la estructura del programa, mientras que las pruebas de caja negra se enfocan en la funcionalidad
B. Las pruebas de caja blanca pueden usar herramientas de prueba automáticas, pero las pruebas de caja negra no pueden usar herramientas 100 clases intensivas sobre preguntas de prueba
C. Las pruebas de caja blanca requieren la participación de los desarrolladores, mientras que las pruebas de caja negra no
. Las pruebas de caja negra son más utilizadas que las pruebas de caja blanca.

3. Respecto a la representación del código de estado en el protocolo HTTP, cuál de las siguientes afirmaciones es incorrecta (D)

A. 1**: Indica error del cliente
B. 2*: Indica que la solicitud fue recibida con éxito *
C. 3**: Indica que la solicitud está completa y el cliente necesita refinar aún más la solicitud
D. 4**: Indica error del servidor

4. En Linux, para descomprimir bugzilla.tar.gz y reportar en detalle los nombres de archivos procesados ​​por el comando tar, se debe usar el comando (A)

A.tar –xvzf bugzilla.tar.gz B.tar –cvzf bugzilla.tar.gz
C.tar –cvzf bugzilla.tar.gz D.tar –cxvf bugzilla.tar.gz

5. En Redhat Linux 9, para instalar un paquete de software, perl.i386.rpm, y mostrar el progreso de la instalación con # durante la instalación, el comando que debe usarse es (A)

A.rpm –ih perl.i386.rpm B.rpm –i perl.i386.rpm
C.rpm –e perl.i386.rpm D.rpm –V perl.i386.rpm

6. En el editor vi de Linux, quiere salir de vi sin guardar los cambios. Necesidad de utilizar el comando es (C)

A.:qa B.:qw C.:q! D.:!q

7. En una base de datos se almacenan dos tablas de datos: tabla de profesores (número de profesor, nombre del profesor) y tabla de currículo (número de curso, nombre de curso, número de profesor).Para saber rápidamente los cursos impartidos por un determinado profesor, se utiliza el siguiente índice: establecido La forma correcta es (C)

A. Cree un índice en la tabla de maestros por ID de maestro
B. Cree un índice en el plan de estudios por número de curso
C. Cree un índice sobre el plan de estudios por el maestro número
D. Índice en la tabla de profesores por nombre de profesor

8. Para consultar la situación de todos los libros que contienen "computadora" en el nombre del libro (nombre del libro) en la tabla de libros, puede usar la declaración (B)

A. SELECCIONE * FROM libro WHERE nombre_libro LIKE 'computadora'
B. SELECCIONE * FROM libro WHERE nombre_libro LIKE '%computadora%'
C. SELECCIONE * FROM libro WHERE nombre_libro='computadora'

9. ¿Cuál de las siguientes afirmaciones sobre las pruebas alfa es correcta? (AD)

A. Las pruebas alfa requieren la participación de los representantes de los usuarios.
B. Las pruebas alfa no requieren la participación de los representantes de los usuarios.
C. Las pruebas alfa son un tipo de pruebas del sistema.
Las pruebas D. alfa son un tipo de pruebas de aceptación.

10. ¿Quién participará en la revisión del plan de pruebas de software? (ABCD)

A. Gerente de proyecto
B. Líder de SQA
C. Líder de configuración
D. Grupo de prueba

4. Las preguntas de la entrevista de prueba de software más completas en toda la red con respuestas (pruebas de rendimiento + pruebas funcionales + pruebas de interfaz + pruebas automatizadas)

pruebas de rendimiento

Describa brevemente el proceso de prueba de rendimiento.

1. Analizar los requisitos de rendimiento.
2. Desarrollar un plan de prueba de rendimiento.
3. Escribir casos de prueba
4. Construir un entorno de prueba y preparar datos de prueba
5. Escribir scripts de prueba de rendimiento
6. Ajuste de script de prueba de rendimiento.
7. Diseñar escenarios de prueba.
8. Analizar los resultados de las pruebas.
9. Pruebas de rendimiento de regresión.
10. Escribir informe de prueba.

¿En qué entorno y cuándo se realiza su prueba de rendimiento?

Construiremos un entorno de prueba de rendimiento independiente para la prueba En términos de tiempo,
prueba comparativa: después de la prueba funcional, lo haremos cuando el sistema sea relativamente estable.
Pruebas de carga: en la oscuridad de la noche, cuando nadie está usando el sistema

¿Cuál es el papel de think_time?

Simule operaciones de usuario de producción real para examinar el impacto en el servidor.
Después de confirmar que los resultados de la prueba de rendimiento son creíbles, si se encuentran los siguientes problemas, ubique los problemas de acuerdo con las ideas proporcionadas a continuación.

Con la función de código de verificación, ¿cómo hacer pruebas de rendimiento?

1. Bloquee temporalmente el código de verificación y restáurelo después de completar la prueba de rendimiento.
2. Use el código de verificación universal

¿Cuáles son los indicadores de la prueba de desempeño?

Tiempo de respuesta
  Rendimiento
  cpu
  memoria
  io
  disco

pruebas funcionales

¿Qué opina sobre la industria de las pruebas de software? ¿Por qué debería elegir las pruebas de software?

La prueba de software es una carrera prometedora. Tengo más experiencia en esta industria. Creo que soy muy adecuado para esta posición y quiero continuar con firmeza.

¿Qué debe hacer si se encuentra un error durante la prueba pero el desarrollador cree que no es un error?

Primero, envíe el problema a la plataforma de gestión de defectos para su archivo y registro. Luego, para obtener la base y los criterios de juicio:

De acuerdo con la especificación de requisitos, la descripción del producto, los documentos de diseño, etc., confirme si los resultados reales son inconsistentes con el plan y proporcione una base directa para confirmar los defectos;

Si no hay base documental, se puede confirmar si hay un defecto basado en las características generales de un software similar para explicar si hay alguna inconsistencia;

De acuerdo con los hábitos generales de uso del usuario, para confirmar si se trata de un defecto;

Hable con el personal pertinente, como diseñadores, desarrolladores y gerentes de productos, para confirmar si se trata de un defecto.

Haga una discusión razonable, explique las razones de su juicio al administrador de la prueba, preste atención a la objetividad, al rigor y no mezcle emociones personales. Espere a que el gerente de producto tome una decisión final. Si aún hay una disputa, confirme con el gerente de prueba. Al enviar el informe en línea, deje el riesgo de este error como una advertencia temprana e informe a todos en el proyecto sobre esto. situación.

¿Cuáles son los métodos para diseñar casos de prueba?

Clases de equivalencia, valores límite, tablas de decisión, diagramas de causa y efecto.

¿Cuál es la estrategia para las pruebas de software?

Estrategia de prueba de software: bajo la guía de ciertos estándares de prueba de software y especificaciones de prueba, la colección de principios, métodos y métodos de prueba de software estipulados de acuerdo con las restricciones ambientales específicas del proyecto de prueba.

¿Cuál es la tarea de un probador en el proceso de desarrollo de software?

(1) Descubra los errores en el sistema lo antes posible;

(2) Evitar defectos en el proceso de desarrollo de software;

(3) medir la calidad del software y garantizar la calidad del sistema;

(4) Prestar atención a las necesidades de los usuarios y asegurarse de que el sistema satisfaga las necesidades de los usuarios. El objetivo general es: garantizar la calidad del software.

Pruebas de automatización de interfaz

¿La diferencia entre obtener y publicar?

Obtener solicitud, el navegador enviará el encabezado http y los datos juntos, el servidor devuelve un código de respuesta 200
Psot solicitud, el navegador envía el encabezado primero, el servidor responde 100 (continuar) y luego envía datos, el servidor devuelve una respuesta 200 Code
Post es más seguro que drogarse

¿Cómo lidiar con la asociación en la automatización de interfaces?

Pase el resultado devuelto por la solicitud anterior al parámetro de la siguiente solicitud, refleje el resultado de la solicitud en un atributo de clase (usando la función setattr()) y llame al atributo de clase en la siguiente solicitud

¿Cómo verificar los resultados de las pruebas automatizadas?

Afirmaciones, donde los resultados esperados se comparan con los resultados reales

Verificación de la base de datos, según el escenario de prueba para consultar los datos en la base de datos y comparar los datos antes de la solicitud

Cuéntame sobre tu comprensión de la parametrización y la gestión de datos.

Esta pregunta involucra dos conceptos muy importantes en las pruebas automatizadas: parametrización y control de datos. En realidad, me parece que son lo mismo: la separación de los scripts de prueba y los datos. Por ejemplo: su secuencia de comandos de inicio de sesión escribió originalmente un conjunto fijo de datos de prueba: nombre de usuario, contraseña. Cada vez que se cambian los datos hay que cambiar el script, si quiero separar los datos del script entonces extraigo el nombre de usuario y la contraseña para afuera, preferiblemente en un archivo externo, esto se llama parametrización.

Para las pruebas de rendimiento, quiero asegurarme de que cada usuario virtual inicie sesión con un nombre de usuario y una contraseña diferentes, lo que se acerca más a los escenarios comerciales reales. Para las pruebas automatizadas, quiero probar una variedad de combinaciones de datos, como varios tipos de nombres de usuario, contraseñas. Independientemente del escenario, debe haber múltiples conjuntos de datos, pero el proceso de operación de inicio de sesión es fijo. Esto se llama basado en datos.

Los marcos de pruebas unitarias para lenguajes de desarrollo generales tienen funciones basadas en datos, como el módulo ddt de Python y la anotación DataProvider de TestNG.

¿Cómo limpiar los datos basura generados por la interfaz?

Igual que arriba, para la creación y limpieza de datos, necesita usar python para conectarse a la base de datos y realizar operaciones de adición, eliminación, modificación y consulta Preoperación de
casos de prueba, configuración para la preparación de datos
Postoperación, desmontaje de datos limpieza

Aspectos de las pruebas automatizadas de WebUI

¿Cómo determinar si existe un elemento en el selenio?

No existe un método nativo para juzgar si un elemento existe. Generalmente, podemos juzgar localizando elementos + captura de excepción

¿Se pueden ubicar elementos ocultos o mostrar = ninguno en selenio?
No, si desea hacer clic, puede usar js para eliminar la propiedad de display=none

¿Cómo aumentar la velocidad de ejecución del script de selenio?

1. Optimice los casos de prueba.
2. Reduzca los pasos de operación innecesarios.
3. Cargas de página de interrupción.
4. Utilice la cuadrícula de selenio.

¿Qué es la Integración Continua?

Integre con frecuencia el código en el tronco y lleve a cabo continuamente la construcción del proyecto, para que los errores se puedan encontrar rápidamente y evitar que la rama se desvíe mucho del tronco.

¿Qué son las pruebas estratificadas?

1. Capa de datos
2. Capa de interfaz
3. Capa de interfaz de usuario

Prueba de aplicaciones

Explique la diferencia entre el teléfono móvil IOS y el teléfono móvil Android, ¿el sistema?

Los dos mecanismos operativos son diferentes: IOS usa un mecanismo operativo de sandbox y Android usa un mecanismo operativo de máquina virtual.

El sistema de fondo de los dos es diferente: cualquier programa de terceros en IOS no puede ejecutarse en segundo plano; cualquier programa en Android puede ejecutarse en segundo plano y no se cerrará hasta que no haya memoria.

¿En qué cree que debe centrarse la prueba de rendimiento de la aplicación, es decir, la prueba especial?

Memoria, uso de CPU, consumo de energía, tráfico, etc.

Presente brevemente la arquitectura de cuatro capas del sistema Android.

De arriba a abajo, es la capa del programa de aplicación, la capa del marco del programa de aplicación, la capa de tiempo de ejecución del sistema y la capa central de Linux.

¿Qué hará si encuentra un bloqueo o ANR en la aplicación durante la prueba?

Puede filtrar los registros primero: adb logcat | findstr xxxxx (filtrar información de registro), y luego buscar las palabras clave en él, como: excepción, bloqueo, para ver qué métodos o excepciones causaron el envío del problema y después inicialmente localizar la causa del problema, se puede entregar al desarrollador para averiguar la causa subyacente y solucionarlo.

Presente brevemente las prácticas herramientas de prueba de automatización de la interfaz de usuario de Android.

appium: es un marco de automatización móvil que se puede usar para probar aplicaciones nativas, aplicaciones web móviles y aplicaciones híbridas, y es multiplataforma.

robotium: es un marco de prueba automatizado de Android externo, principalmente para pruebas automatizadas de caja negra de aplicaciones de la plataforma Android. Proporciona API para simular varias operaciones de gestos (clic, presión prolongada, deslizamiento, etc.), mecanismos de búsqueda y aserción, y puede Operar varios controles.

Preguntas de la entrevista de prueba de automatización de pila completa

1. Preguntas de la entrevista de prueba de automatización web

1. ¿Se pueden localizar elementos ocultos o mostrados = ninguno en Selenium?

No, primero puede escribir JavaScript para cambiar lo oculto en la etiqueta a 0 y luego colocar el elemento.

2. ¿Cómo asegurar la tasa de éxito de los elementos operativos en Selenium? En otras palabras, ¿cómo garantizar que se pueda hacer clic en el elemento en el que hago clic?

Agregue el elemento controlador de tiempo de espera inteligente.implicitly_wait (30)
Agregue el tiempo de espera obligatorio (como escribir dormir en python)
intente ubicar la identificación, el nombre, la clase, la ruta x, el selector css de diferentes maneras, si el primero falla, puede automáticamente prueba el segundo Dos tipos

3. ¿Cómo aumentar la velocidad de ejecución del script de Selenium?

La optimización de código, la multitarea y la implementación distribuida pueden mejorar la velocidad de ejecución de scripts.

4. El caso de uso muchas veces es inestable durante el proceso de ejecución, es decir, puede pasar esta vez, pero no pasará la próxima ¿Cómo mejorar la estabilidad del caso de uso?

time.sleep( )
driver.implicitly_wait(30)
Use try para capturar y manejar excepciones

5. ¿Cuál es la estrategia de ejecución para su caso de uso de automatización?

Las pruebas automatizadas son esencialmente lo mismo que el desarrollo de software. Usando herramientas de pruebas automatizadas y analizando los requisitos de las pruebas, diseñe casos de prueba automatizados para crear un marco de pruebas automatizado, diseñe y escriba scripts automatizados, verifique la corrección de los scripts de prueba y, finalmente, complete la automatización. scripts (es decir, software de aplicación cuya función principal es la prueba) y resultados de prueba de salida.

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

La verificación de datos a nivel de la base de datos puede verificar más fácilmente si el procesamiento de datos del sistema es correcto.Después de que la lógica de procesamiento de datos sea normal, también se requiere la verificación a nivel de la interfaz de usuario.

7. Entre los atributos de id, nombre, clase, xpath, css selector, ¿cuál prefieres y por qué?

Casi todos los elementos de css y xpath se pueden ubicar, pero su inconveniente es que la posición es fácil de cambiar después de cambiar el elemento en la página, por lo que primero se usa la identificación o el nombre.

8. ¿Cómo ubicar los elementos cargados dinámicamente en la página?

Activar el evento del elemento cargado dinámicamente hasta que aparezca el elemento dinámico para el posicionamiento

9. ¿Cómo localizar elementos cuyos atributos cambian dinámicamente?

xpath o css localiza a través de hermanos, padres e hijos

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

Servirá

11. ¿Cuál es el patrón de diseño de objetos de página?

En pocas palabras, es usar la página como un objeto, pasar el objeto de la página en uso y usar los miembros o métodos correspondientes en el objeto de la página, lo que puede reflejar mejor las características orientadas a objetos y de encapsulación de la orientación a objetos. lenguaje (como java o python).

12. ¿Cómo resalto los elementos después de colocarlos (para fines de depuración)?

Use secuencias de comandos como JavaScript para restablecer los atributos de los elementos y agregue fondos y bordes a los elementos posicionados.

13. ¿Qué es una afirmación?

Una aserción es una expresión lógica que especifica un estado que un programa ya debe tener, o una condición que un conjunto de variables de programa debe satisfacer en algún momento durante la ejecución del programa.

14. ¿Cuál cree que es el mayor defecto en las pruebas automatizadas?

Inestable
Confiabilidad
Difícil de mantener
Costos y Beneficios

2. Preguntas de la entrevista de prueba de automatización de APPUI

1. Cuando la memoria de la aplicación de Android es insuficiente, ¿cómo finaliza el sistema el proceso para obtener memoria?

El sistema da prioridad a finalizar el proceso suspendido (suspendido) y libera memoria.

2. ¿Cuáles son los problemas graves comunes en las pruebas de aplicaciones? ¿Cuáles son las causas respectivamente?

Los más comunes son bloqueo y ANR (aplicación que no responde, atascado), generalmente causados ​​por la fragmentación del dispositivo, grandes fluctuaciones de la red, fugas de memoria y errores de escritura de código.

3. Presente brevemente una herramienta de prueba automatizada de aplicaciones que haya utilizado.

Preguntas abiertas con alguna opinión subjetiva

Compare los pros y los contras de otras herramientas de automatización conocidas.
Un breve plan para la automatización (sea específico sobre el contenido clave y breve). (pista: appnio, etc.)

4. ¿Cuál es la diferencia entre las pruebas de Android y las pruebas web?

Mismo punto:

El diseño de casos de prueba se basa en métodos como clases de equivalencia y valores límite, y los principios de prueba son los mismos; la
mayoría de ellos utilizan métodos de prueba de caja negra para verificar las funciones comerciales;
es necesario verificar si el diseño de la interfaz, el estilo y los botones son hermosos y unificados (pruebas de interfaz de usuario)
, la velocidad de carga y cambio de página, si el tiempo de inicio de sesión se desborda y otros problemas (prueba de rendimiento)
prueban la estabilidad del sistema de la aplicación;

diferencia:

El teléfono móvil se utiliza como herramienta de comunicación y algunos comportamientos, como la comunicación, provocarán una aplicación (prueba de interrupción).
Instalación y desinstalación de productos de aplicaciones para usuarios de teléfonos móviles: actualice directamente desde la versión anterior/dos versiones anteriores a la última.
Las herramientas más utilizadas para las pruebas automatizadas web son selenium, mientras que las herramientas automatizadas más utilizadas para las pruebas automatizadas de teléfonos móviles Android son monkey, monkeyrunner y Appium (las herramientas de prueba son diferentes)

5. ¿Qué tipos de entornos existen para probar aplicaciones?

Entorno local: el entorno del teléfono móvil donde está instalada la aplicación y el entorno de prueba automatizado integrado en la computadora (como SDK de Android, etc.
).
Entorno del servidor: el servidor implementado por el paquete war, se puede acceder al servidor a través de un navegador o mediante una aplicación
. (El acceso es la interfaz del programa web)

6. Introduzca brevemente los pasos de instalación del SDK de Android:

Descargue jdk y Android SDK
para instalar jdk, configurar variables de entorno (java_home, classpath, ruta)

7. Presente brevemente los puntos de prueba de la aplicación móvil y su servidor.

Las aplicaciones móviles incluyen principalmente permisos, instalación, operación y desinstalación, interfaz de usuario, función, rendimiento, interrupción, compatibilidad, seguridad,
regresión, actualización y experiencia del usuario. (Los 11 puntos de prueba principales de la aplicación)
El servidor tiene pruebas de interfaz, pruebas de rendimiento y pruebas de seguridad.

8. Cómo juzgar si el error de la aplicación es un problema del cliente o un problema de fondo

Esto depende del negocio. Hay más problemas de front-end con problemas de datos generales. El enfoque general es plantear los problemas a los desarrolladores de front-end. Ellos
saben si es su propio problema o los datos devueltos por el fondo.

9. ¿Cómo recuperar información de registro en Android?

Importe la información de registro del sistema Android al local en tiempo real: adb logcat -v time > d:\mylog.log
Ejecute y use una aplicación para obtener la información de registro de la aplicación en tiempo real (devuelva información en cmd):
adb shell monkey -p com.android.calendar -v 1000 > d:\mylog2.log

10. Comandos adb comunes:

Ver los dispositivos conectados actualmente: adb devices
Instalar el software: adb install path\xx.apk
Desinstalar el software: adb uninstall <nombre del paquete>
Enviar archivos de la computadora al dispositivo: adb push <ruta local> <ruta remota>
adb push C:\ test1. txt /sdcard/
Descargue archivos del dispositivo a la computadora: adb pull <ruta remota> <ruta local>
adb pull /sdcard/test1.txt D:
Obtener registros en tiempo real: adb logcat -v time > D:\mylog. iniciar
sesión en el shell del dispositivo terminal: shell adb
para encontrar el nombre del paquete/nombre de la actividad: adb logcat | findstr START
(en el script, el valor después de cmp= es el nombre del paquete/nombre de la actividad)
Start APP Start
adb shell am start -n nombre del paquete/actividad
Cerrar
la sintaxis de la aplicación: adb shell am force-stop nombre del paquete
monitorear la hora de inicio de la aplicación
adb shell am start -W nombre del paquete/actividad
Comando Monkey:
adb shell monkey -v -p mypackage 50

11. ¿Cómo probar tantos modelos convencionales de APP?

Nuestra empresa lo compró, Meizu, Huawei, Xiaomi, iphone7, iphone8, iphone8plus, iphone
x para probar la compatibilidad, algunos modelos que no están disponibles, primero tome prestado el teléfono móvil de un colega para probarlo y solicite que la empresa compre al mismo tiempo , o use la
máquina real en la nube.

12. La aplicación falla (flashback), ¿cuál puede ser la razón?

Demasiada basura de caché: debido a las características del sistema Android, si no limpia los archivos basura durante mucho tiempo, se atascarán cada vez más. También habrá flashbacks. Se están ejecutando demasiados programas, lo que resultará
en memoria insuficiente
Problema de compatibilidad de la versión de la aplicación: si la versión de la aplicación es demasiado baja, causará incompatibilidad y fallará. Además, se están depurando algunas versiones nuevas, lo que también hará que la aplicación se bloquee. Solución: si la versión es demasiado antigua, simplemente actualice a la nueva versión; si la nueva versión falla, es posible que la aplicación se esté revisando y depurando, y la versión anterior se puede instalar después de la desinstalación.
Compruebe dónde accede la aplicación a la red y si ImageView en el componente puede descargarse normalmente y mostrarse en la página de la aplicación.
Compruebe si el SDK de la aplicación es compatible con el sistema del teléfono.
Flashback en algunas situaciones específicas, como al reproducir un video, cuando Android 5.0 se actualiza a Android 6.0,
algunas API del sistema están disponibles en la versión anterior pero no en la nueva versión.

13. ¿Cuáles son los métodos de inicio de Appium?

1. Inicio del cliente
2. Inicio de la línea de comandos

14. Presente brevemente las herramientas de prueba de automatización de la interfaz de usuario de Android que ha utilizado.

appium: es un marco de automatización móvil que se puede usar para probar aplicaciones nativas, aplicaciones web móviles
y aplicaciones híbridas, y es multiplataforma. robotium: es un marco de prueba automatizado de Android extranjero, principalmente para
pruebas automatizadas de caja negra de aplicaciones de la plataforma Android. Proporciona API para simular varias operaciones de gestos (clic, presión prolongada,
deslizamiento, etc.), mecanismos de búsqueda y aserción, capaz de operar varios controles.

15. Explique la diferencia entre el teléfono móvil Android y el teléfono móvil IOS, y el sistema.

Los dos mecanismos operativos son diferentes: IOS usa un mecanismo operativo de sandbox y Android usa un mecanismo operativo de máquina virtual.

Los sistemas de fondo de los dos son diferentes: cualquier programa de terceros en IOS no puede ejecutarse en segundo plano; cualquier programa en Android puede ejecutarse en segundo plano y no se cerrará hasta que no haya memoria.

IOS tiene la autoridad más alta para las instrucciones de la interfaz de usuario y Android tiene la autoridad más alta para las instrucciones de procesamiento de datos.

3. Preguntas de la entrevista de prueba de automatización de interfaz

1. ¿Se puede usar Webdriver para probar la interfaz?

Hay módulos listos para usar para pruebas de interfaz, y WebDriver se usa para pruebas automatizadas de WebUI. Si desea implementar pruebas de interfaz, puede utilizar el módulo Solicitudes para lograr

2. Según su comprensión, ¿cuál es la interfaz del software?

Se refiere a la clase o función en el programa que es específicamente responsable de transmitir o recibir datos entre diferentes módulos y procesarlos.

3. ¿Cuál es la diferencia entre los protocolos HTTP y HTTPS?

El protocolo https necesita solicitar un certificado de una CA (Certificate Authority, autoridad certificadora). Generalmente, hay pocos certificados gratuitos, por lo que se requiere una determinada tarifa; http es un protocolo de transferencia de hipertexto
y la información se transmite en texto sin formato. El protocolo de red para la transmisión cifrada y la autenticación de identidad es
más seguro que el protocolo http,
http y https usan métodos de conexión completamente diferentes y diferentes puertos, el primero es 80 y el segundo es 443;

4. ¿En qué capa está HTTPS?

HTTPS está en la capa de aplicación.

5. ¿Cuál es la diferencia entre obtener y publicar?

Tanto POST como GET envían datos al servidor y ambos obtienen datos del servidor.
la diferencia:

Método de transmisión: get se transmite a través de la barra de direcciones, post se transmite a través del mensaje
Longitud de transmisión: los parámetros get tienen un límite de longitud (limitado por la longitud de la URL), y la publicación es ilimitada.
GET genera un paquete TCP (para un GET solicitud, el navegador enviará el encabezado HTTP y los datos juntos, el servidor responde con
200 y devuelve los datos), POST genera dos paquetes TCP (para POST, el navegador envía el encabezado primero, el servidor responde con 100,
continúa, el navegador envía datos nuevamente, y el servidor responde con 200 ok para devolver datos)
Los parámetros de la solicitud de obtención se conservarán completamente en el historial de navegación, pero los parámetros en la publicación no se conservarán.
Al realizar una consulta de datos, se recomienda utilizar el GET método; y al agregar, modificar o eliminar datos, se recomienda utilizar el método de publicación

6. Métodos comunes de envío de datos POST

Hay cuatro métodos principales: application/x-www-form-urlencoded, multipart/form-data,
application/json, text/xml, etc.

7. ¿Qué es el protocolo sin estado del protocolo HTTP?Cómo solucionar el protocolo sin estado del protocolo HTTP

Sin estado significa que el protocolo no tiene capacidad de memoria para el procesamiento de transacciones y el servidor no sabe en qué estado se encuentra el cliente. Es decir, después de que enviemos
una solicitud HTTP al servidor, el servidor nos enviará datos de acuerdo con la solicitud, pero
no se registrará ninguna información después del envío. HTTP es un protocolo sin estado, lo que significa que cada solicitud es independiente y Keep-Alive no puede
cambiar este resultado. La falta de estado hace que si se necesita información previa para un procesamiento posterior, se debe retransmitir, lo que puede provocar un
aumento en la cantidad de datos transferidos por conexión. En cambio, cuando el servidor no necesita información previa, su respuesta es más rápida. La característica del protocolo HTTP
tiene ventajas y desventajas. La ventaja es que el servidor está liberado y cada solicitud no causará una
ocupación innecesaria de la conexión. La desventaja es que cada solicitud transmitirá una gran cantidad de información de contenido repetido. Después de la aparición de aplicaciones web que interactúan dinámicamente entre el cliente y el servidor
, la naturaleza sin estado de HTTP dificulta seriamente la realización de estas aplicaciones.Después de todo,
la interacción debe ser un vínculo entre el pasado y el futuro. El programa también necesita saber lo que el usuario ha elegido antes. Por lo tanto,
surgieron dos tecnologías para mantener el estado de la conexión HTTP, una es Cookie y la otra es Sesión.

8. La diferencia entre cookie y sesión

Los datos de la cookie se almacenan en el navegador del cliente y los datos de la sesión se almacenan en el servidor. 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.
La sesión se guardará en el servidor durante un cierto período de tiempo. . Cuando aumenta el número de visitas, ocupará el rendimiento de su servidor. En consideración
a la reducción del rendimiento del servidor, debe usar cookies.
Los datos guardados por una sola cookie no pueden exceder 4K. Muchos navegadores limitan un sitio para guardar un máximo de 20 cookies, que
pueden almacenar información importante, como información de inicio de sesión Para la sesión, es necesario guardar otra información, que se puede colocar en cookies

9. Códigos de estado de devolución comunes en la interfaz de solicitud

1xx: informativo (indica una respuesta provisional. El cliente está listo para recibir una o más respuestas 1xx antes de recibir una respuesta regular) 2xx
: éxito (indica que el servidor aceptó con éxito la solicitud del cliente)
3xx: redirección (el cliente navega El servidor debe tomar más acción para cumplir con la solicitud. Por ejemplo, el navegador puede tener que solicitar una página diferente en el servidor, o repetir la solicitud a través de un servidor proxy)
4xx – Error del cliente (error enviado, hay un problema con el cliente. Por ejemplo , el cliente El cliente solicita una página que no existe y el cliente no proporciona información de verificación de ID válida)
5xx: error del servidor (el servidor no puede completar la solicitud debido a un error)
Los códigos de retorno comunes son:

200 OK - [GET]: El servidor devuelve con éxito los datos solicitados por el usuario
201 CREADO - [POST/PUT/PATCH]: El usuario creó o modificó con éxito los datos
202 Aceptado - [*]: Indica que una solicitud ha entrado en segundo plano cola (tarea asíncrona)
204 SIN CONTENIDO - [ELIMINAR]: El usuario eliminó los datos con éxito
400 SOLICITUD NO VÁLIDA - [POST/PUT/PATCH]: La solicitud enviada por el usuario fue incorrecta y el servidor no realizó la operación de creando o modificando los datos
401 No autorizado -[*]: Indica que el usuario no tiene permiso (error de token, nombre de usuario, contraseña)
403 Prohibido -[*]: Indica que el usuario está autorizado (a diferencia del error 401), pero el acceso está prohibido
404 NOT FOUND -[*]: La solicitud emitida por el usuario no existe para el Registro, el servidor no operó, la operación es idempotente
406 No Aceptable - [GET]: El formato solicitado por el usuario no es disponible (por ejemplo, el usuario solicitó formato JSON, pero solo formato XML)
500 ERROR INTERNO DEL SERVIDOR - [*]: El servidor ocurrió un error, el usuario no podrá saber si la solicitud realizada fue exitosa

10. ¿Qué es DNS?

DNS es el sistema de nombres de dominio (Domain Name System). El DNS se usa para la resolución de nombres de dominio. Lo convertirá
en una IP después de que ingrese la URL en Internet y luego acceda al otro servidor; sin él, debe recordar si desea ir a la IP de Baidu Baidu,
pero con procesamiento de DNS, solo necesita recordar el nombre de dominio del sitio web correspondiente, es decir, la URL.

11. ¿Cómo realiza su empresa las pruebas de interfaz?

La diferencia real entre las pruebas de interfaz y las pruebas generales es la parte de diseño del caso de prueba.

Obtenga la especificación de la interfaz.
Diseñar casos de uso de función de prueba de interfaz (principalmente desde la perspectiva de los usuarios para ver si la interfaz puede cumplir con los requisitos comerciales, el diseño de caso de uso es el conjunto de casos de uso de caja negra).
Varias verificaciones de parámetros de entrada (casos normales, casos anormales incluyen número incorrecto de parámetros de entrada, tipos incorrectos, opcional/obligatorio y consideración de parámetros mutuamente excluyentes o relacionados).
Varias verificaciones del valor de retorno de la interfaz (conforme a los requisitos del documento de la interfaz)
comprenden la lógica de implementación de la interfaz y realizan la cobertura lógica (declaración/condición/rama/juicio/...)
¿Se puede ejecutar la interfaz simultáneamente? ¿Es segura? ¿El rendimiento cumple con los requisitos?
Utilice herramientas o código de autoescritura para verificar.
El problema encontrado es el mismo que el de la prueba funcional, se debe informar el error y se debe rastrear el estado de seguimiento del estado de seguimiento.

12. ¿Cómo diseñar casos de prueba de interfaz?

Generalmente, el diseño de casos de prueba de interfaz necesita considerar los siguientes aspectos:

Si se cumplen las condiciones previas
Algunas interfaces deben cumplir las condiciones previas antes de que puedan obtener datos con éxito. Un caso de uso inverso común
que necesita iniciar sesión Token: diseñe 0 ~ n casos de uso para determinar si se cumplen las condiciones previas (se supone que son n condiciones)

Si llevar parámetros de valores predeterminados
Caso de uso positivo: no completar parámetros con valores predeterminados, no pasar parámetros, completar los parámetros requeridos con valores "regulares" correctos y existentes, no completar otros, diseñar 1 caso de
uso

Reglas de negocio y requisitos funcionales
Aquí, dependiendo de la situación temporal, combinado con la descripción del parámetro de la interfaz, puede ser necesario diseñar N casos de uso directo y casos de uso inverso

¿Se requiere el parámetro?
Caso de uso inverso: para cada parámetro requerido, diseñe un caso de uso inverso en el que el valor del parámetro esté vacío

Si existe una correlación entre los parámetros
Algunos parámetros tienen una relación restrictiva mutua entre sí

Restricciones del tipo de datos del parámetro
Caso de uso inverso: diseñe un caso de uso inverso para cada parámetro que no coincida con el tipo de valor del parámetro

El límite del valor del rango de datos del propio tipo de datos del parámetro
Caso de uso directo: para todos los parámetros, diseñe un caso de uso directo en el que el valor del parámetro de cada parámetro sea el valor máximo dentro del rango de datos

13. Haces pruebas de interfaz, ¿qué estás probando?

Pruebas de usabilidad
De acuerdo con el protocolo, el método y el contenido del formato acordados, transfiera los datos a la interfaz y devuelva el resultado esperado después del procesamiento:

Si la función de interfaz se implementa correctamente;
prueba de valor de retorno: el valor de retorno debe ser correcto además del contenido, y el tipo debe ser correcto para garantizar que la persona que llama puede analizar correctamente;
valor límite de valor de parámetro, prueba de clase de equivalencia;
error y prueba de manejo de excepciones

Ingrese valores anormales (valores nulos, caracteres especiales, que excedan la longitud acordada, etc.), la interfaz puede manejar correctamente y responder como se esperaba;
ingrese parámetros incorrectos, la interfaz puede manejar correctamente y responder como se esperaba;
más entrada, menos parámetros de entrada, la interfaz puede corregir el procesamiento y la respuesta como se esperaba;
prueba de formato de datos de transmisión incorrecto (como formato json escrito en formato de formulario);
prueba de seguridad, se refiere principalmente a la seguridad de los datos transmitidos:

Si los datos confidenciales (como contraseñas, claves secretas) están encriptados para la transmisión;
si los datos devueltos contienen datos confidenciales, como contraseñas de usuario, información completa de la cuenta bancaria del usuario, etc.;
si la interfaz realiza una verificación de seguridad de los datos entrantes, como identificación de identidad más token Verificación similar;
si la interfaz evita solicitudes maliciosas (como una gran cantidad de interfaces de solicitud falsificadas que provocan que el servidor se bloquee);
pruebas de rendimiento, como el tiempo de respuesta de la interfaz, las capacidades de procesamiento concurrente y el procesamiento de pruebas de estrés:

Solicitudes concurrentes a la misma interfaz (especialmente solicitudes POST), el procesamiento de la interfaz (como insertar el mismo registro conduce a errores de datos, provocando fallas en el sistema); el
tiempo de respuesta de la interfaz está dentro del rango que el usuario puede tolerar
; Pruebas de presión para determinar si el mayor cuello de botella satisface las necesidades comerciales actuales;

14. ¿Qué herramienta se suele utilizar para probar la interfaz?

Herramientas de prueba de interfaz de protocolo http de uso común, como: cartero, fiddler, jmeter; la interfaz de servicio web usa SoapUI,
jmeter, etc.

15. No hay un documento de interfaz, ¿cómo hacer una prueba de interfaz?

Esta pregunta prueba principalmente el EQ. En términos sencillos, es la capacidad de engañar al entrevistador. Primero, deja que el entrevistador sea engañado. También es una prueba a ciegas cuando entras. Prepárate para asumir la culpa en cualquier momento. Por supuesto , no debe responder a la sorpresa del entrevistador (mmp psicológico,
cara sonriente), el siguiente paso es
usar la herramienta de captura de paquetes para capturar y procesar la interfaz, y luego realizar pruebas específicas; si la información de campo en la interfaz no está clara, encuentre tiempo para centrarse en
las soluciones de desarrollo. (Herramientas comunes de captura de paquetes Fiddler, Charles, etc.)

16. En el proceso de prueba de interfaz manual o prueba de interfaz automatizada, ¿cómo lidiar con la dependencia de datos de las interfaces ascendentes y descendentes?

Use una variable global para procesar datos dependientes, como devolver un token después de iniciar sesión, y otras interfaces necesitan este token,
luego use una variable global para pasar el parámetro del token.

17. ¿Cómo probar la interfaz que depende de datos de terceros?

Después del simulacro, el entrevistador le preguntará si es un simulacro, luego continuará cavando a lo largo del hoyo y construirá un servicio simulado.

18. En la prueba de interfaz, ¿cómo probar la interfaz que depende del estado de inicio de sesión?

La esencia de la interfaz que depende del estado de inicio de sesión es que cada vez que se envía una solicitud, se debe incluir una sesión o cookie para
enviarla con éxito, y la sesión o cookie necesaria se agrega al construir una solicitud POST.

19. ¿Cómo simular una red débil para realizar pruebas?

Tanto Fiddler como Charles pueden simular pruebas de redes débiles. Lo que generalmente se denomina pérdida de paquetes simulada también es una prueba de red débil simulada. Para
obtener más información, consulte "Varios métodos de simulación de redes débiles, siempre hay uno adecuado para usted"

20. ¿Qué errores ha encontrado durante sus pruebas habituales de interfaz?

El entrevistador hace esta pregunta principalmente porque quiere saber si realmente has hecho la prueba de interfaz. Después de todo, los currículums de muchos socios pequeños están empaquetados (ni siquiera tienen una oportunidad de entrevista sin empaquetar, no hay manera, para para sobrevivir, puedo entender) Errores generales,
interfaz No se implementa, el resultado no se devuelve de acuerdo con el acuerdo, el error de procesamiento del valor límite, etc.
Ingrese valores anormales (valores nulos, caracteres especiales, que excedan la longitud acordada, etc.), la interfaz arroja un error y no se realiza ninguna encapsulación;
ingrese parámetros incorrectos, más entrada, menos parámetros de entrada y posibles errores en la interfaz ;
problemas de seguridad, como la transmisión de texto sin formato; el resultado devuelto contiene información confidencial, sin verificación de la información de identidad del usuario, sin intercepción de solicitudes maliciosas, etc.;
problemas de rendimiento, como la inserción simultánea de varias operaciones idénticas en la interfaz, tiempo de respuesta largo, cuellos de botella en las pruebas de presión de interfaz, etc.;

21. Cuando una interfaz tiene una excepción, ¿cómo analiza la excepción?

Primero capture el paquete, use la herramienta fiddler (charles) para capturar el paquete, o la herramienta de depuración F12 en el navegador; si está en la aplicación, use Fiddler como proxy y configure el proxy
a través del teléfono móvil para ver el mensaje de solicitud y devolución,
verifique el registro de back-end, como El sistema Linux se conecta al servidor a través de xhell, verifica el registro de la interfaz y verifica si hay algún mensaje de error (comando: tail -f log file);

22. ¿Cómo analizar si un error es de front-end o de back-end?

Por lo general, cuando se mencionan errores, el desarrollo de front-end y el desarrollo de back-end siempre están discutiendo, sin admitir que es el error de la otra parte. Esta situación es fácil de juzgar. Primero capture el paquete y mire el mensaje de solicitud, y luego mire 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, ese es el problema del desarrollo de back-end.

23. ¿Realiza la automatización de pruebas de interfaz?

Ahora, para una gran cantidad de aplicaciones, generalmente se recomienda automatizar las pruebas de interfaz, con bajos costos de mantenimiento y altos rendimientos. Hay muchas herramientas de uso común
, como Jmeter, Robot Framework, pytest, etc.

24. ¿Cuántos oyentes de JMeter se enumeran?

Algunos de los oyentes de JMeter son:
Informe de colección
Informe resumido
Ver resultados
Vista de árbol Resultados en tabla Gráfico
Resultados Informe resumido
de oyentes BeanShell , etc.

25. Pruebas basadas en datos en python

En unittest, no hay un controlador de datos incorporado, tenemos que usar ddt para lograrlo, en primer lugar, tenemos que
instalar ddt en el entorno operativo python, use el siguiente comando para instalar
pip install ddt
otro marco de prueba pytest, que viene con una implementación basada en datos, está
parametrizado por @pytest.mark.parametrize(argnames,argvalues).
También puede usar python para leer y manejar datos de acuerdo con sus propias necesidades.

26. ¿Cómo lidiar con la asociación en la automatización de interfaces?

Pase el resultado devuelto por la solicitud anterior al parámetro de la siguiente solicitud, refleje el resultado de la solicitud en un atributo de clase (usando la
función setattr()) y llame al atributo de clase en la siguiente solicitud

27. ¿Cómo verificar los resultados de las pruebas automatizadas?

Afirmación, compare el resultado esperado con el resultado real
Verificación de la base de datos, consulte los datos en la base de datos de acuerdo con el escenario de prueba y compárelos con los datos antes de la solicitud.

28. Específicamente, cómo se aplica la automatización a la situación real en este proyecto y su análisis de los resultados de la automatización.

Después de completar el diseño y la implementación de todos los marcos de prueba automatizados, realice pruebas de interfaz, luego integre en
Jenkins, configure la ejecución de tiempo, genere informes html, verifique la tasa de aprobación de la prueba y verifique las funciones de la interfaz.Cada
vez que se lanza una versión, realizar pruebas de regresión y nuevas funciones antes del desarrollo y las pruebas.

asistencia técnica

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/132275510
Recomendado
Clasificación