[Colección de entrevistas de pruebas de software] Conocimientos básicos de pruebas de software (2)

● Cuéntenos sobre los límites del caso de prueba.

Respuesta de referencia:
el análisis del valor límite es un método de prueba de caja negra para probar el valor límite de entrada o salida. Por lo general, el método de análisis de valor límite se utiliza como complemento del método de partición de clases de equivalencia.En este caso, los casos de prueba provienen del límite de la clase de equivalencia.
Valores de límite comunes

1) Para enteros de 16 bits, 32767 y -32768 son límites

2) El cursor en la pantalla está arriba a la izquierda y abajo a la derecha

3) La primera y última línea del informe

4) El primero y el último de los elementos de la matriz.

5) La 0ª vez, la 1ª vez, la penúltima vez y la última vez del ciclo

● Cuéntenos sobre las seis características de la calidad del software.

Respuesta de referencia:
De acuerdo con el estándar nacional de calidad del software GB-T8566-2001G, la calidad del software se puede evaluar por las siguientes características:
a. Características funcionales: un conjunto de atributos relacionados con un conjunto de funciones y sus propiedades específicas, donde las funciones cumplen requisitos explícitos o implícitos Aquellas funciones que contienen los requisitos.

b.Características de confiabilidad: un conjunto de propiedades relacionadas con la capacidad del software para mantener su nivel de rendimiento durante un período de tiempo específico y bajo condiciones específicas.

c) Características de facilidad de uso: un conjunto de atributos relacionados con el esfuerzo y la evaluación requeridos por un conjunto de usuarios específicos o potenciales para usar el software.

d.Características de eficiencia: un conjunto de atributos relacionados con la relación entre el nivel de rendimiento del software en condiciones específicas y la cantidad de recursos utilizados.

e) Características de mantenibilidad: un conjunto de atributos relacionados con el esfuerzo requerido para realizar una modificación específica.

f.Características de portabilidad: un conjunto de atributos relacionados con la capacidad del software para transferirse de un entorno a otro.

● Cuéntenos sobre el método de diseño de casos de prueba.

Respuesta de referencia:
prueba de caja negra:
1. División de clase de equivalencia

La partición de clase de equivalencia consiste en dividir el dominio de entrada del sistema en varias partes y luego seleccionar una pequeña cantidad de datos representativos de cada parte para la prueba. Las clases de equivalencia se pueden dividir en clases de equivalencia válidas y clases de equivalencia no válidas, que deben tenerse en cuenta al diseñar casos de prueba.

2. Análisis de valor límite

El análisis de valores límite es un complemento de la partición de equivalencia, ya que la mayoría de los errores se encuentran en los límites de entrada-salida. El análisis del valor límite asume que la mayoría de los errores ocurren en el límite de las condiciones de entrada. Si el valor del límite adjunto no causa errores de programa, entonces la posibilidad de errores en otros valores es muy pequeña.

El análisis de valores límite es más efectivo para realizar pruebas al seleccionar preferentemente valores límite entre diferentes clases de equivalencia para cubrir clases de equivalencia válidas y clases de equivalencia no válidas, por lo que este método debe usarse en combinación con la partición de clases de equivalencia.

3. Método de prueba ortogonal

La ortogonalidad consiste en seleccionar una cantidad adecuada de puntos representativos de un gran número de puntos de prueba. El diseño experimental ortogonal es un método de diseño para el estudio de multifactores y multiniveles, es un método de diseño experimental eficiente, rápido y económico basado en tablas ortogonales.

4. Método de transición de estado

El método de transición de estado consiste en verificar si un estado puede producir el cambio de estado requerido dentro de una condición dada, y si existe un estado inalcanzable o un estado ilegal. El método de transición de estado consiste en diseñar suficientes casos de uso para lograr la cobertura del estado del sistema. , estado y condición Composición, cobertura de caminos de transición de estado.

5. Análisis de procesos

El método de análisis de proceso está diseñado principalmente para el subelemento de prueba en el elemento de prueba cuyo tipo de escenario de prueba pertenece al escenario de prueba de proceso.Este es un método muy importante tomado del método de análisis de cobertura de ruta en la prueba de caja blanca.

6. Método de prueba de campo de entrada

El método de prueba de campo de entrada es una prueba para varios valores de entrada. Considera principalmente pruebas extremas, pruebas de rango medio y pruebas de valores especiales.

7. Análisis de dominio de salida

El método de análisis del dominio de salida consiste en analizar la clase de equivalencia y el valor límite del dominio de salida, determinar los puntos de muestra del dominio de salida que se cubrirán e inversamente obtener el valor de entrada que se debe ingresar, para construir un caso de prueba. Su propósito es lograr las clases de equivalencia del dominio de salida y la cobertura del valor límite para .

8. Método de análisis de la tabla de decisiones

La tabla de decisión es una herramienta para analizar y expresar diferentes acciones del sistema bajo varias condiciones de entrada.Puede expresar la relación lógica compleja y la combinación de varias condiciones de manera concreta y clara;

9. Diagrama de causa y efecto

El diagrama causal se utiliza para describir la relación causal y la relación de restricción entre la entrada y la salida del sistema. El proceso de elaboración del diagrama causal es un proceso de modelado de las características externas del sistema bajo prueba, de acuerdo al diagrama causal entre entrada y salida se puede obtener una tabla de decisión, para planificar casos de prueba.

10. Conjeturas incorrectas

El método de adivinación de errores está dirigido principalmente al método de adivinación del sistema para la operación de la operación incorrecta, a fin de diseñar el caso de prueba.

11. Método de análisis anormal

El método de análisis anormal es analizar la posible operación anormal del sistema, la falla causada por defectos de software y hardware, y analizar la capacidad del sistema para manejar y recuperar errores cuando ocurre un error, y diseñar casos de prueba basados ​​en esto.

Pruebas de caja blanca:

Las pruebas de caja blanca, también conocidas como pruebas estructurales o pruebas basadas en la lógica, son una prueba de cómo funciona internamente la unidad bajo prueba. Diseña casos de prueba de acuerdo con la estructura de control del programa y se utiliza principalmente para la verificación de software o programas. El método de prueba de caja blanca verifica la estructura lógica interna del programa y prueba todas las rutas lógicas. Es un método de prueba de ruta exhaustivo, pero incluso si se han probado todas las rutas, aún pueden existir errores. Porque: la prueba de ruta exhaustiva no puede verificar si el programa en sí viola la especificación de diseño, es decir, si el programa es un programa incorrecto; la prueba de ruta exhaustiva no puede detectar que el programa tiene errores debido a rutas faltantes; errores relacionados.

Los principios a seguir en las pruebas de caja blanca son: 1. Asegúrese de que todas las rutas independientes en un módulo se prueben al menos una vez 2. Todos los valores lógicos deben probarse para ver si son verdaderos (verdadero) y falsos (falso); dos casos: 3. Verifique el programa 4. Ejecute todos los bucles dentro de los límites superior e inferior y el rango operativo.

Métodos de prueba de caja blanca comúnmente utilizados:

Pruebas estáticas: pruebas sin ejecutar el programa, incluida la verificación de código, análisis estructural estático, medición de la calidad del código, prueba de documentos, etc. Se puede hacer manualmente para aprovechar al máximo las ventajas del pensamiento lógico humano, o se puede hacer automáticamente con la ayuda de herramientas de software (Fxcop) .

Pruebas dinámicas: es necesario ejecutar el código y encontrar el problema ejecutando el programa, incluida la confirmación de funciones y pruebas de interfaz, análisis de cobertura, análisis de rendimiento, análisis de memoria, etc.

La cobertura lógica en las pruebas de caja blanca incluye cobertura de declaración, cobertura de decisión, cobertura de condición, cobertura de decisión/condición, cobertura de combinación de condición y cobertura de ruta. La capacidad de los seis criterios de cobertura para detectar errores muestra un cambio de débil a fuerte:

1. Cobertura de declaraciones Cada declaración se ejecuta al menos una vez.

2. Cada rama de una decisión que cubre cada decisión se ejecuta al menos una vez.

3. Cobertura de condiciones Cada condición de cada decisión debe tomar varios valores posibles.

4. Cobertura de sentencia/condición Satisfacer la cobertura de condición de cobertura de decisión al mismo tiempo.

5. La combinación de condiciones cubre cada combinación de condiciones en cada decisión al menos una vez.

6. La cobertura de rutas hace que todas las rutas posibles del programa se ejecuten al menos una vez.

● Cuéntenos sobre las habilidades necesarias de un ingeniero de pruebas.

Respuesta de referencia:
Conocimientos requeridos:
• Conocimientos teóricos básicos de pruebas de software, como pruebas de caja negra, pruebas de caja blanca, etc.;

• Conceptos básicos del lenguaje de programación, como C/C++, java, python, etc.;

• Herramientas de prueba automatizadas, como Selenium, Appium, Robotium, etc.;

• Conocimientos básicos de informática, como base de datos, Linux, red informática, etc.;

• Frameworks de prueba, como JUnit, etc.

Habilidades requeridas:

• Capacidades de análisis comercial, analizar el proceso comercial general, analizar los datos comerciales bajo prueba, analizar la arquitectura del sistema bajo prueba, analizar los módulos comerciales bajo prueba, analizar los recursos necesarios para la prueba y analizar los objetivos de finalización de la prueba;

• Capacidad de comprensión de defectos, capacidad de descubrimiento general de defectos, capacidad de descubrimiento de problemas ocultos, capacidad de descubrimiento de problemas conjuntos, capacidad de problemas ocultos, capacidad de descubrimiento temprano de problemas y capacidad de raíz de problemas;

• Capacidad de trabajo en equipo, división razonable del trabajo, ayudar a los miembros del equipo a resolver problemas, cooperar con la realización de tareas de prueba, cooperar con el desarrollo para reproducir defectos, supervisar el progreso general del proyecto y ser valiente para asumir la responsabilidad de los problemas;

• Capacidad profesional y técnica, dominar los conocimientos básicos de las pruebas, dominar los conocimientos informáticos y utilizar hábilmente las herramientas de prueba;

• Habilidad de pensamiento lógico, juzgar la corrección de la lógica, análisis lógico de factibilidad y pensar desde una perspectiva objetiva;

• Habilidades para resolver problemas, problemas técnicos, problemas de trabajo, problemas de comunicación;

• Habilidades de comunicación, comunicación con técnicos, personal de producto, superiores y subordinados;

• Capacidad de control macro, control efectivo del tiempo de prueba, control efectivo del costo de la prueba, formulación efectiva del plan de prueba, evaluación de riesgos efectiva y control efectivo de la dirección de la prueba.

● Infórmenos sobre los indicadores de las pruebas de rendimiento de la aplicación.

Respuesta de referencia:
1. Memoria: el objetivo de diseño del nodo de prueba de consumo de memoria es evitar que la aplicación ocupe demasiados recursos del sistema, liberar la memoria a tiempo y garantizar la estabilidad de todo el sistema. Por supuesto, con respecto a las pruebas de memoria, aquí debemos introducir varios conceptos: estado inactivo, especificación media y especificación completa.
El estado inactivo significa que después de abrir la aplicación, haga clic en el botón de inicio para permitir que la aplicación se ejecute en segundo plano. El estado de la aplicación en este momento se denomina inactivo; la especificación media y la especificación completa se refieren a los diferentes períodos de tiempo de funcionamiento para la aplicación, la especificación media es más larga, y la especificación completa es más larga.El tiempo de especificación es más corto.

Hay muchos subelementos de prueba en la prueba de memoria, la lista es la siguiente:

●Consumo de memoria de la aplicación en estado inactivo;

●Consumo de memoria de aplicaciones bajo especificaciones medianas;

●Consumo de memoria de aplicaciones bajo especificaciones completas;

●Valor máximo de la memoria de la aplicación;

●Fugas de memoria de aplicaciones;

●Si la aplicación reside en la memoria;

●Uso de memoria después de la prueba de estrés.

2 、 procesador:

Use la copia simple de vista proporcionada por Android para ver la porción de código en CÓDIGO Derivado de mi porción de código

adbshell dumpsys CPUinfo |grep nombre del paquete >/dirección/CPU.txt para obtener;

Use la vista de comando superior copia simple para ver la porción de código en CÓDIGO Derivado de mi porción de código

adbshell top |grep packagename>/address/CPU.txt para obtenerlo.

3. Tráfico:

La prueba de tráfico de red es para la mayoría de las aplicaciones, y algunas aplicaciones pueden centrarse en pruebas como la velocidad de la red y redes débiles.

La prueba de tráfico incluye los siguientes elementos de prueba:

La aplicación inicia el indicador de flujo por primera vez;

El valor del tráfico de la aplicación ejecutándose continuamente en segundo plano durante 2 horas;

Picos de tráfico donde la aplicación se ejecuta bajo una carga pesada.

4. Electricidad:

● No hay una diferencia significativa en el consumo de energía en espera antes y después de instalar el APK de destino en el teléfono móvil de prueba;

●En escenarios de uso común, puede entrar en espera normalmente y la corriente de espera está dentro del rango normal;

●No hay consumo de energía anormal cuando se utiliza la aplicación de forma continua durante mucho tiempo.

5. Velocidad de inicio:

La primera categoría: primer lanzamiento: el tiempo que tarda la aplicación en iniciarse por primera vez;

La segunda categoría: no primer lanzamiento: el tiempo empleado por la aplicación en el no primer lanzamiento;

La tercera categoría: cambio de interfaz de la aplicación: el tiempo dedicado al cambio dentro de la interfaz de la aplicación.

6. Velocidad de deslizamiento, velocidad de conmutación de interfaz

7. Velocidad de red para interactuar con el servidor

● Infórmenos sobre las herramientas para probar aplicaciones.

Respuesta de referencia:
Automatización de prueba funcional
a) Prueba de automatización de interfaz ligera

jmetro,

b) Automatización a nivel de UI de la aplicación

android:Visor de UI Automator,Android Junit,Instrumentación,UIAutomator,

iOS: automatización de la interfaz de usuario de iOS basada en instrumentos,

Pruebas de rendimiento

a) Prueba de rendimiento de front-end web

Herramienta de captura de red: Wireshark

Tamaño del archivo de la página web

prueba de página web

información sobre la velocidad de la página

anuncio de cromo

b) Prueba de rendimiento de la aplicación

Análisis de uso de memoria de Android: MAT

Análisis de problemas de memoria de iOS: modo ARC

Análisis de rendimiento de Android WebView:

Análisis de rendimiento de iOS WebView

c) Prueba de rendimiento del servicio de fondo

carga, presión, durabilidad

Escalabilidad, Benchmark

Herramientas: apacheAB, Jmeter, LoadRunner,

prueba especial

a) Pruebas de compatibilidad

Pruebas manuales: sistema operativo, resolución, rom, tipo de red

Plataforma en la nube: testin, scripting, Android.

b) Prueba de flujo

Gestión de tráfico integrada de Android,

Red que viene con iOS

captura de paquetes tcpdump

Captura de paquetes de proxy WiFi: Fiddler

Método de ahorro de tráfico: datos comprimidos, json es mejor que xml; WebP es mejor que JPG tradicional, PNG; controle la frecuencia de acceso; solo obtenga los datos necesarios; caché;

c) Prueba de batería

Según el método de prueba del equipo, se compra un medidor de potencia para la prueba.

Monitor de batería GSam Pro

iOS se basa en las herramientas de Instrument Energy

d) Prueba de red débil

La herramienta de simulación del estado de la red que viene con el teléfono móvil

Simulación de red débil basada en agentes:

Herramientas: ventanas: Simulador de retardo de red

Mac: acondicionador de enlace de red

● Cuéntenos sobre el ciclo de errores y describa los diferentes tipos de errores.

Respuesta de referencia:
1. Nuevo: (Nuevo)
Cuando se descubre un "error" por primera vez, el evaluador debe comunicarse con el líder del proyecto para confirmar que el descubrimiento es realmente un error. Regístrelo y configure el estado del error. a la nueva

2. Asignado (asignado)

Cuando un error se identifica como Nuevo, se le informará al desarrollador. El desarrollador confirmará si se trata de un error. El estado se establece en "Asignado".

3, abierto (abierto)

Una vez que el desarrollador comienza a trabajar en el error, establece el estado del error en "Abierto", lo que significa que el desarrollador está trabajando en el "error".

4. Fijo (fijo)

Una vez que el desarrollador lo ha procesado (y cree que se ha resuelto), puede establecer el estado del error en "Reparado" y enviarlo al jefe del equipo de desarrollo, quien luego devuelve el error al equipo de prueba.

5. Restablecimiento pendiente (a probar)

Cuando el error se devuelve al grupo de prueba, establecemos el estado del error en Pendiente de reinicio"

6. Restablecer (volver a probar)

La persona a cargo del grupo de prueba asigna el error a un probador determinado para que lo vuelva a probar y establece el estado del error en "Reiniciar".

7, cerrado (cerrado)

Si el evaluador confirma que el error se ha resuelto después de volver a realizar la prueba, establezca el estado del error en "Cerrado".

8. Reabrir (volver a abrir)

Si el error (que se refiere al error en sí en lugar del nuevo error causado por la solución) aún existe después de volver a realizar la prueba, el evaluador pasará el error al equipo de desarrollo nuevamente y establecerá el estado del error en "Reabrir".

9. Rechazo pendiente

Si el desarrollador considera que el error transmitido por el probador al equipo de desarrollo es un comportamiento normal en lugar de un error, en este caso el desarrollador puede rechazarlo y establecer el estado del error en "Rechazo pendiente".

10. Rechazado (rechazado)

Cuando la persona a cargo del equipo de prueba recibe el error mencionado anteriormente, si él (ella) encuentra que este es un comportamiento normal definido en la especificación del producto o después de discutir con el desarrollador y piensa que no es un error, la persona en a cargo del equipo de desarrollo establecerá el estado de este error en "Rechazado"

11. Pospuesto

A veces, la prueba de algunos errores especiales debe dejarse de lado por un período de tiempo. De hecho, hay muchas razones que pueden hacer que esto suceda, como datos de prueba no válidos, algunas funciones especiales no válidas, etc. En este caso, el error El estado se establece en "Pospuesto"

Diferentes categorías de errores:

tipos de errores

• error de código

• optimización de la interfaz de usuario

• Defectos de diseño

• Relacionado con la configuración

• Instalación y despliegue

• Relacionado con la seguridad

• problemas de desempeño

• Especificaciones estándar

• Guiones de prueba

• otro

● Infórmenos sobre fallas en la red de la computadora y cómo solucionarlas.

Respuesta de referencia:
(1) La primera es eliminar la falla de contacto, es decir, garantizar que su cable de red se pueda usar normalmente. Luego deshabilite la tarjeta de red y luego habilítela para eliminar fallas ocasionales. Abra la ventana Centro de redes y recursos compartidos, haga clic en "Cambiar configuración del adaptador" en la parte superior izquierda de la ventana, haga clic con el botón derecho en "Conexión de área local" o "Conexión de red inalámbrica" ​​y haga clic en el comando "Desactivar" en el menú contextual para desactivar la red seleccionada. A continuación, reinicie la red, simplemente haga clic derecho y haga clic en habilitar.
(2) Use ipconfig para ver los parámetros de Internet de la computadora

1. Haga clic en "Inicio | Todos los programas | Accesorios | Símbolo del sistema" para abrir la ventana del símbolo del sistema

2. Ingrese ipconfig, presione Enter para confirmar, puede ver la información de configuración de la máquina, ingrese ipconfig/all, puede ver los detalles de red relevantes, como la dirección IP y la dirección física de la tarjeta de red.

(3) Use el comando ping para probar la conectividad de la red y ubicar el rango de falla

Ingrese "ping 127.0.0.1" en la ventana del símbolo del sistema. Los datos muestran que la máquina ha enviado y recibido 4 paquetes de datos respectivamente, y la tasa de pérdida de paquetes es cero. Se puede juzgar que el protocolo de red de la máquina funciona normalmente. Si se muestra "Solicitud agotada", indica que hay un problema con la instalación de la tarjeta de red local o el protocolo TCP/IP. A continuación, debe verificar la tarjeta de red y el protocolo TCP/IP, desinstalar y volver a instalar.

(4) hacer ping a la IP local

Después de confirmar que se puede hacer ping a la dirección 127.0.0.1, continúe usando el comando ping para probar si se puede hacer ping a la dirección IP de la máquina. Si no, significa que el controlador de la tarjeta de red de la máquina es incorrecto o la conexión entre la tarjeta de red y el cable de red Si hay una falla, también puede ser que la superficie de enrutamiento local se haya dañado. En este momento, debe verificar si el estado de la tarjeta de red local está conectado y si los parámetros de red están configurados correctamente Si es correcto pero no se puede hacer ping, debe reinstalar el controlador de la tarjeta de red. Si la tasa de pérdida es cero, se puede juzgar que no hay problema con la instalación y configuración de la tarjeta de red y que el trabajo es normal.

(5) puerta de enlace de ping

Si se puede hacer ping a la dirección de la puerta de enlace, significa que la conexión de red de la máquina es normal. Si el comando falla, es posible que haya un problema con el dispositivo de la puerta de enlace o que los parámetros de red de la máquina están configurados incorrectamente Verifique los parámetros de red.

● Infórmenos sobre los métodos comunes de prueba.

Respuesta de referencia:
Pruebas de caja negra:
Las pruebas de caja negra también se denominan pruebas funcionales o pruebas basadas en datos.Como un recipiente negro que no se puede abrir, sin tener en cuenta la estructura interna y las características del programa, el probador realiza pruebas en el programa Interfaz. Solo verifica si las funciones del programa se usan normalmente de acuerdo con la especificación de requisitos, y si el programa se puede usar correctamente. Recibir datos de entrada vistos con precisión y producir información de salida correcta, y mantener la integridad de la información externa (como la base de datos o archivo).

El método de "caja negra" se enfoca en la estructura externa del programa, no considera la estructura lógica interna y prueba la interfaz del software y las funciones del software. El método de la "caja negra" es una prueba de entrada exhaustiva. Solo cuando todas las entradas posibles se utilizan como casos de prueba, se pueden encontrar todos los errores en el programa de esta manera. De hecho, hay infinitos casos de prueba, por lo que no solo se deben probar todas las entradas legales, sino también aquellas entradas ilegales pero posibles.

Los métodos de prueba de caja negra comúnmente utilizados son: método de división de clase de equivalencia, método de análisis de valor límite, método de diagrama causal, método de escenario, método de análisis de valor límite, método de diagrama causal, método de escenario, método de análisis de valor límite.

Pruebas de caja blanca:

Las pruebas de caja blanca, también conocidas como pruebas estructurales o pruebas basadas en la lógica, son una prueba de cómo funciona internamente la unidad bajo prueba. Diseña casos de prueba de acuerdo con la estructura de control del programa y se utiliza principalmente para la verificación de software o programas. El método de prueba de caja blanca verifica la estructura lógica interna del programa y prueba todas las rutas lógicas. Es un método de prueba de ruta exhaustivo, pero incluso si se han probado todas las rutas, aún pueden existir errores. Porque: la prueba de ruta exhaustiva no puede verificar si el programa en sí viola la especificación de diseño, es decir, si el programa es un programa incorrecto; la prueba de ruta exhaustiva no puede detectar que el programa tiene errores debido a rutas faltantes; errores relacionados.

Los principios a seguir en las pruebas de caja blanca son: 1. Asegúrese de que todas las rutas independientes en un módulo se prueben al menos una vez 2. Todos los valores lógicos deben probarse para ver si son verdaderos (verdadero) y falsos (falso); dos casos: 3. Verifique el programa 4. Ejecute todos los bucles dentro de los límites superior e inferior y el rango operativo.

Métodos de prueba de caja blanca comúnmente utilizados:

Pruebas estáticas: pruebas sin ejecutar el programa, incluida la verificación de código, análisis estructural estático, medición de la calidad del código, prueba de documentos, etc. Se puede hacer manualmente para aprovechar al máximo las ventajas del pensamiento lógico humano, o se puede hacer automáticamente con la ayuda de herramientas de software (Fxcop) .

Pruebas dinámicas: es necesario ejecutar el código y encontrar el problema ejecutando el programa, incluida la confirmación de funciones y pruebas de interfaz, análisis de cobertura, análisis de rendimiento, análisis de memoria, etc.

La cobertura lógica en las pruebas de caja blanca incluye cobertura de declaración, cobertura de decisión, cobertura de condición, cobertura de decisión/condición, cobertura de combinación de condición y cobertura de ruta. La capacidad de los seis criterios de cobertura para detectar errores muestra un cambio de débil a fuerte:

1. Cobertura de declaraciones Cada declaración se ejecuta al menos una vez.

2. Cada rama de una decisión que cubre cada decisión se ejecuta al menos una vez.

3. Cobertura de condiciones Cada condición de cada decisión debe tomar varios valores posibles.

4. Cobertura de sentencia/condición Satisfacer la cobertura de condición de cobertura de decisión al mismo tiempo.

5. La combinación de condiciones cubre cada combinación de condiciones en cada decisión al menos una vez.

6. La cobertura de rutas hace que todas las rutas posibles del programa se ejecuten al menos una vez.

● Cuéntame sobre el recuadro negro y el recuadro blanco.

Respuesta de referencia:
Pruebas de caja negra:
Las pruebas de caja negra también se denominan pruebas funcionales o pruebas basadas en datos.Como un recipiente negro que no se puede abrir, sin tener en cuenta la estructura interna y las características del programa, el probador realiza pruebas en el programa Interfaz. Solo verifica si las funciones del programa se usan normalmente de acuerdo con la especificación de requisitos, y si el programa se puede usar correctamente. Recibir datos de entrada vistos con precisión y producir información de salida correcta, y mantener la integridad de la información externa (como la base de datos o archivo).

El método de "caja negra" se enfoca en la estructura externa del programa, no considera la estructura lógica interna y prueba la interfaz del software y las funciones del software. El método de la "caja negra" es una prueba de entrada exhaustiva. Solo cuando todas las entradas posibles se utilizan como casos de prueba, se pueden encontrar todos los errores en el programa de esta manera. De hecho, hay infinitos casos de prueba, por lo que no solo se deben probar todas las entradas legales, sino también aquellas entradas ilegales pero posibles.

Los métodos de prueba de caja negra comúnmente utilizados son: método de división de clase de equivalencia, método de análisis de valor límite, método de diagrama causal, método de escenario, método de análisis de valor límite, método de diagrama causal, método de escenario, método de análisis de valor límite.

Pruebas de caja blanca:

Las pruebas de caja blanca, también conocidas como pruebas estructurales o pruebas basadas en la lógica, son una prueba de cómo funciona internamente la unidad bajo prueba. Diseña casos de prueba de acuerdo con la estructura de control del programa y se utiliza principalmente para la verificación de software o programas. El método de prueba de caja blanca verifica la estructura lógica interna del programa y prueba todas las rutas lógicas. Es un método de prueba de ruta exhaustivo, pero incluso si se han probado todas las rutas, aún pueden existir errores. Porque: la prueba de ruta exhaustiva no puede verificar si el programa en sí viola la especificación de diseño, es decir, si el programa es un programa incorrecto; la prueba de ruta exhaustiva no puede detectar que el programa tiene errores debido a rutas faltantes; errores relacionados.

Los principios a seguir en las pruebas de caja blanca son: 1. Asegúrese de que todas las rutas independientes en un módulo se prueben al menos una vez 2. Todos los valores lógicos deben probarse para ver si son verdaderos (verdadero) y falsos (falso); dos casos: 3. Verifique el programa 4. Ejecute todos los bucles dentro de los límites superior e inferior y el rango operativo.

Métodos de prueba de caja blanca comúnmente utilizados:

Pruebas estáticas: pruebas sin ejecutar el programa, incluida la verificación de código, análisis estructural estático, medición de la calidad del código, prueba de documentos, etc. Se puede hacer manualmente para aprovechar al máximo las ventajas del pensamiento lógico humano, o se puede hacer automáticamente con la ayuda de herramientas de software (Fxcop) .

Pruebas dinámicas: es necesario ejecutar el código y encontrar el problema ejecutando el programa, incluida la confirmación de funciones y pruebas de interfaz, análisis de cobertura, análisis de rendimiento, análisis de memoria, etc.

La cobertura lógica en las pruebas de caja blanca incluye cobertura de declaración, cobertura de decisión, cobertura de condición, cobertura de decisión/condición, cobertura de combinación de condición y cobertura de ruta. La capacidad de los seis criterios de cobertura para detectar errores muestra un cambio de débil a fuerte:

1. Cobertura de declaraciones Cada declaración se ejecuta al menos una vez.

2. Cada rama de una decisión que cubre cada decisión se ejecuta al menos una vez.

3. Cobertura de condiciones Cada condición de cada decisión debe tomar varios valores posibles.

4. Cobertura de sentencia/condición Satisfacer la cobertura de condición de cobertura de decisión al mismo tiempo.

5. La combinación de condiciones cubre cada combinación de condiciones en cada decisión al menos una vez.

6. La cobertura de rutas hace que todas las rutas posibles del programa se ejecuten al menos una vez.

● Cuénteme sobre el marco de prueba automatizado que conoce.

Respuesta de referencia:
1. Marco de prueba modular
El marco de script de prueba modular (MARCO DE MODULARIDAD DE PRUEBA) necesita crear módulos, fragmentos y scripts pequeños e independientes de la aplicación bajo prueba que se puedan describir. Estos pequeños scripts con estructura de árbol se pueden combinar para formar scripts que se pueden usar para casos de prueba específicos. De los cinco marcos, el marco modular es el más fácil de entender y usar. Construir una capa de abstracción encima de un componente para ocultarlo del resto de la aplicación es una técnica de programación bien conocida. Esto aísla la aplicación de modificaciones en los componentes, proporcionando la naturaleza modular del diseño del programa. Los marcos de secuencias de comandos de prueba modulares utilizan este principio de abstracción o encapsulación para mejorar la capacidad de mantenimiento y actualización de los conjuntos de pruebas automatizados.

2. Marco de biblioteca de prueba

La arquitectura de la biblioteca de pruebas es muy similar al marco de secuencias de comandos de prueba modular y tiene las mismas ventajas. La diferencia es que el marco de la biblioteca de prueba descompone la aplicación bajo prueba en procedimientos y funciones en lugar de scripts. Este marco requiere la creación de archivos de biblioteca que describan los módulos, los fragmentos y la funcionalidad de la aplicación que se está probando.

3. Marco de prueba basado en palabras clave o tablas

Para un marco de automatización independiente de la aplicación, la prueba basada en palabras clave (KEYWORD DRIVEN) y la prueba basada en tablas (TABLE DRIVEN) son términos intercambiables. Este marco requiere que se desarrollen tablas de datos y palabras clave. Estas tablas de datos y palabras clave son independientes de las herramientas de automatización de pruebas que las ejecutan y se pueden usar para "controlar" el código del script de prueba de la aplicación y los datos que se están probando. En una prueba basada en palabras clave, la funcionalidad de la aplicación bajo prueba se escribe en una tabla junto con los pasos de ejecución de cada prueba. Este marco de prueba puede generar una gran cantidad de casos de prueba con muy poco código. El mismo código se reutiliza al usar la tabla de datos para generar cada caso de prueba.

4. Marco de prueba basado en datos

Basado en datos (DATA DRIVEN), la prueba LJ es un marco. Los datos de entrada y salida probados aquí se leen de archivos de datos (grupo de datos, fuente ODBC, archivo CSV, archivo EXCEL, objeto ADO, etc.) y se cargan en variables mediante secuencias de comandos de código generadas manualmente o generadas por la herramienta de captura. En este marco, las variables se utilizan no solo para almacenar valores de entrada, sino también para almacenar valores de validación de salida. A lo largo del programa, el script de prueba lee el archivo de valores y registra el estado y la información de la prueba. Esto es similar a las pruebas basadas en tablas, donde los casos de prueba están contenidos en archivos de datos en lugar de scripts, y el script es simplemente un "controlador" o mecanismo de entrega para los datos. Sin embargo, las pruebas basadas en datos difieren de las pruebas basadas en tablas, aunque los datos de navegación no están contenidos dentro de la estructura de la tabla. En las pruebas basadas en datos, los archivos de datos contienen solo datos de prueba. Este marco pretende reducir el número total de scripts de prueba necesarios para ejecutar todos los casos de prueba. La gestión de datos requiere muy poco código para generar una gran cantidad de casos de prueba, lo que es muy similar a la gestión de tablas.

5. Marco híbrido de automatización de pruebas

El marco de implementación más común es una combinación de todas las técnicas descritas anteriormente, tomando sus fortalezas y compensando sus deficiencias. Este marco de prueba híbrido es una evolución de la mayoría de los marcos a lo largo del tiempo y a través de varios proyectos.

● Hable sobre la diferencia entre las pruebas web y las pruebas de aplicaciones.

Respuesta de referencia:
en términos de arquitectura del sistema:
los proyectos web son generalmente arquitectura b/s, basada en navegador

El proyecto de la aplicación es c/s, debe haber un cliente y el usuario debe instalar el cliente.

Siempre que la prueba web actualice el lado del servidor, el lado del cliente se actualizará sincrónicamente. Los proyectos de aplicaciones requieren que tanto el cliente como el servidor estén actualizados.

Actuación:

Las páginas web se preocupan principalmente por el tiempo de respuesta.

La aplicación también debe preocuparse por el tráfico, la potencia, la CPU, la GPU y la memoria.

No hay diferencia en el rendimiento de sus servidores, todos son un servidor.

Compatibilidad:

La web se basa en el navegador, por lo que se inclina más a ser compatible con la dirección del navegador y el hardware y el sistema informático.

Las pruebas de aplicaciones dependen de la resolución, el tamaño de la pantalla y el sistema del dispositivo.

Las pruebas web se basan en el navegador, por lo que no es necesario considerar la instalación y desinstalación.

Y la aplicación es del lado del cliente, debe probar la instalación, actualización y desinstalación. Además de la instalación, actualización y desinstalación convencionales, también se deben considerar escenarios anormales. Incluyendo interrupción durante la instalación, red débil y eliminación de archivos de instalación después de la instalación.

Además, APP también tiene algunas pruebas especiales: como red y adaptabilidad.

● ¿Puedo preguntar qué método de prueba conoce?

Respuesta de referencia:
división de clases de equivalencia, análisis de valor límite, especulación de errores, método de diagrama causal, método de cobertura lógica, tecnología de instrumentación de programas, método de ruta básica, prueba simbólica, prueba basada en errores

● ¿Cuáles son los métodos de prueba de caja negra y prueba de caja blanca?

Respuesta de referencia:
Los métodos de prueba de caja negra incluyen la división de clases de equivalencia, el análisis del valor límite, la especulación de errores y el
método de diagrama causal; los métodos de prueba de caja blanca incluyen el método de cobertura lógica, la tecnología de instrumentación del programa, el método de ruta básica, la prueba simbólica y el método basado en errores. pruebas

● ¿Qué piensa acerca de las pruebas, qué tipos de pruebas conoce y qué métodos de prueba ha utilizado?

Respuesta de referencia:
Las pruebas son una parte indispensable del desarrollo de software. Las pruebas utilizan un método económico y eficiente para detectar errores en el software, a fin de lograr el propósito de mantener la calidad inherente del software.
Las pruebas se dividen en pruebas funcionales y pruebas no funcionales, y las pruebas no funcionales se pueden dividir en pruebas de rendimiento, pruebas de estrés, pruebas de capacidad, pruebas de robustez, pruebas de seguridad, pruebas de confiabilidad, pruebas de recuperación, pruebas de respaldo, pruebas de protocolo, pruebas de compatibilidad. , pruebas de usabilidad, pruebas de configuración, pruebas de GUI.

Los métodos de prueba utilizaron el método de partición de equivalencia, el método de análisis de valor límite, el método de adivinación de errores y el método de gráfico de causa y efecto.

● ¿Cómo prueba el protocolo de red?

Respuesta de referencia:
las pruebas de protocolo incluyen cuatro tipos de pruebas
1. Pruebas de conformidad: detectan el grado de conformidad entre la implementación del protocolo en sí y la especificación del protocolo

2. Prueba de interoperabilidad: basada en un determinado protocolo, la capacidad de detectar la interoperabilidad y la intercomunicación entre diferentes implementaciones de protocolo

3. Pruebas de rendimiento: detecta los indicadores de rendimiento implementados por el protocolo, como la velocidad de transmisión de datos, el tiempo de conexión, la velocidad de ejecución, el rendimiento, la concurrencia,

4. Prueba de robustez: el protocolo de detección es capaz de operar en varios entornos hostiles, como la inyección de mensajes de interferencia, fallas de comunicación y cortes de canales.

● Responda qué son las pruebas alfa y beta y cuándo usarlas.

Respuesta de referencia:
prueba α: en un entorno controlado, el usuario realiza la prueba en el sitio del desarrollador, y la prueba se realiza bajo la guía del desarrollador para el usuario. El desarrollador es responsable de registrar los errores encontrados y los problemas encontrados en Use
β Testing: la aplicación real en un entorno fuera del control del desarrollador, que es llevado a cabo por los usuarios finales del software en uno o más sitios del cliente.Los usuarios registran una serie de problemas encontrados en la prueba y los reportan a el desarrollador de forma regular.

Finalmente : para retribuir a los fanáticos acérrimos, he compilado un tutorial completo de aprendizaje en video de prueba de software para usted. Si lo necesita, puede obtenerlo gratis【保证100%免费】

Documentación de la entrevista de prueba de software

Debemos estudiar para encontrar un trabajo bien remunerado. Las siguientes preguntas de la entrevista son los materiales de entrevista más recientes de empresas de Internet de primer nivel como Ali, Tencent y Byte, y algunos jefes de Byte han dado respuestas autorizadas. Termine este conjunto Los materiales de la entrevista creen que todo el mundo puede encontrar un trabajo satisfactorio.

全部资料获取:

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_53918927/article/details/131790868
Recomendado
Clasificación