Colección de preguntas de la entrevista (3)

Responda qué es la prueba α y la prueba β, y cuándo usarlas

  • Prueba alfa: realizada en un entorno controlado, realizada por el usuario en las instalaciones del desarrollador y probada bajo la guía del desarrollador para el usuario. El desarrollador es responsable de registrar los errores y problemas encontrados durante el uso
  • Prueba beta: aplicación real en un entorno más allá del control del desarrollador, realizada por los usuarios finales del software en uno o más sitios de clientes, el usuario registra una serie de problemas encontrados en la prueba e informa regularmente al desarrollador .

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

  • La prueba unitaria es el nivel más bajo de actividad de prueba que se llevará a cabo durante el proceso de desarrollo de software y se centra en los módulos del sistema, incluida la verificación de la corrección de las subrutinas .
  • Pruebas de integración, también llamadas pruebas de ensamblaje o pruebas conjuntas. Sobre la base de las pruebas unitarias, todos los módulos se ensamblan en subsistemas o sistemas de acuerdo con los requisitos de diseño para las pruebas de integración. La práctica ha demostrado que aunque algunos módulos pueden funcionar individualmente, no se puede garantizar que funcionen correctamente cuando están conectados. Es probable que los problemas que no pueden reflejarse en algunas partes del programa estén expuestos globalmente y afecten la realización de funciones. La prueba se centra en la conexión entre módulos y la transferencia de parámetros .
  • La prueba del sistema consiste en ensamblar el subsistema probado en un sistema completo para probar. Es un método efectivo para verificar si el sistema puede proporcionar las funciones especificadas en la especificación del programa del sistema. La prueba se centra en el funcionamiento de todo el sistema y su compatibilidad con otro software.

¿Cuál crees que es la competitividad central de las pruebas de software?

  • La competitividad central radica en encontrar problemas temprano y poder encontrar problemas que otros no pueden.
  • 1. Detección temprana del problema: cuanto antes se descubra el problema, menor será el costo de la resolución. Si se puede descubrir un requisito antes de que se cumpla, el valor de dicho problema es el más alto.
  • 2. Descubre problemas que otros no pueden descubrir: problemas que todos pueden descubrir, si lo encuentras, puedes probar que puedes ser reemplazado. Otros no pueden encontrarlo, y tú puedes encontrarlo, entonces simplemente no puedes ser reemplazado.

Por favor prueba el juego de comer pollo

1. Antes que nada, aclare lo que necesita ser probado:

1. Hardware del servidor del juego

  • a. E / S del disco duro b. Memoria c. CPU

2. Presión de red

  • a. Conexión larga   
  • a1. Número máximo de conexiones
  • a2. Flujo (intranet, extranet, entrada, salida)
  • b. Conexión larga y período corto (similar a la aplicación TCP de Http, este es un requisito especial, específicamente para LoginAgent)
  • b1. Número de conexiones establecidas por segundo
  • b2. Capacidad de procesamiento real

3. Base de datos

  • a. número de transacciones por segundo b. número de bloqueos en espera por segundo c. retraso promedio (ms) d. CPU temporal

4. El número óptimo de subprocesos para subprocesos múltiples

  • a. Hilo múltiple realizado por la base de datos b. Procesamiento de conexión múltiple

Diseñe casos de prueba de acuerdo con la interfaz de inicio de sesión de WeChat

Respuesta de referencia:

1. Prueba funcional

  1. Ingrese el nombre de usuario y la contraseña correctos y haga clic en el botón Enviar para verificar que puede iniciar sesión correctamente.
  2. Si ingresa un nombre de usuario o contraseña incorrectos, la verificación de inicio de sesión fallará y se mostrará el mensaje de error correspondiente.
  3. ¿Puedo saltar a la página correcta después de iniciar sesión correctamente
  4. Compruebe si puede seleccionar diferentes métodos de inicio de sesión para iniciar sesión, como iniciar sesión con un número de teléfono móvil, iniciar sesión con la cuenta de WeChat o escanear el código.
  5. Función para recordar nombre de usuario
  6. La función que no puede registrar la contraseña después de un error de inicio de sesión
  7. Si la contraseña no se muestra en texto plano, utilice símbolos como asteriscos y puntos.
  8. Cuando hay un código de verificación, también es necesario considerar si el texto está demasiado distorsionado, lo que hace que sea difícil de reconocer, y si el color, actualizar o cambiar un botón es fácil
  9. ¿Están correctos los enlaces en la página de inicio de sesión, como el registro, la contraseña olvidada y el inicio de sesión con otra cuenta?
  10. Al ingresar la contraseña, aparece un mensaje de aviso cuando se activa el teclado de mayúsculas.
  11. No ingrese nada y haga clic en el botón Enviar para verificar la información del mensaje.

En segundo lugar, la prueba de interfaz

  1. Si el diseño es razonable y si el testbox y los botones están limpios.
  2. Si la longitud y la altura de la caja de prueba y el botón son requisitos compuestos.
  3.  Si el estilo de diseño de la interfaz está unificado con el estilo de diseño de la interfaz de usuario.
  4.  El texto en la interfaz es conciso y fácil de entender, sin errores tipográficos.

3. Prueba de rendimiento

  1. Abra la página de inicio de sesión, si el tiempo requerido está dentro del tiempo requerido.
  2. Después de ingresar el nombre de usuario y la contraseña correctos, verifique si el tiempo para iniciar sesión correctamente en la nueva página está dentro del tiempo requerido.
  3. Simule a un gran número de usuarios para iniciar sesión al mismo tiempo y verifique si pueden iniciar sesión normalmente bajo cierta presión.

4. Prueba de seguridad

  1. Si la cookie generada después de un inicio de sesión exitoso es httponly (de lo contrario, es fácil de robar con el script).
  2. Si el nombre de usuario y la contraseña se envían al servidor web mediante cifrado.
  3. La verificación de nombre de usuario y contraseña debe ser verificación del lado del servidor, no solo verificación de JavaScript en el lado del cliente.
  4. Los cuadros de entrada de nombre de usuario y contraseña deben estar protegidos de los ataques de inyección SQL.
  5. El cuadro de entrada para el nombre de usuario y la contraseña debe prohibir la entrada de scripts (para evitar ataques XSS).
  6. Evite el agrietamiento por fuerza bruta y compruebe si hay un límite en el número de inicios de sesión falsos.
  7.  Si es compatible con varios usuarios para iniciar sesión en la misma máquina.
  8. ¿Puede el mismo usuario iniciar sesión en varias máquinas?

Cinco, prueba de compatibilidad

  1. Si puede mostrarse normalmente y funcionar normalmente en diferentes plataformas móviles o entornos de PC
  2. Si puede mostrarse normalmente y funcionar normalmente bajo diferentes versiones de WeChat en la misma plataforma.
  3. Si la pantalla es normal a diferentes resoluciones.

¿Qué errores impresionantes ha encontrado y cuáles son los motivos de los errores en la prueba de interfaz?

Al cargar una imagen con jmeter test, explique específicamente:

 

Los errores comunes en las pruebas de interfaz son los siguientes:

  • El manejo incorrecto de valores especiales hace que el programa salga anormalmente o se bloquee
  • Escriba desbordamiento de límite, lo que resulta en datos solos y escritura inconsistente
  • El mensaje de error correcto no se devuelve fuera del límite del valor
  • El permiso no se procesa, puede acceder a la información de otros usuarios
  • La verificación lógica no es perfecta, y la escapatoria puede usarse para obtener beneficios ilegítimos
  • Manejo de estado incorrecto, lo que resulta en errores lógicos
  • El programa sale anormalmente cuando el número de elementos del tipo de matriz es 0 o los elementos se repiten

¿Alguna vez has hecho una prueba de estrés en un proyecto, cómo hacerlo?

Respuesta de referencia:

1. Primero analice el sistema que se va a probar y asegúrese de que necesita hacer una prueba de esfuerzo de esa parte, como un pico, pagar

2. Cómo aplicar presión a estos puntos de prueba

La primera forma es escribir un script para generar un robot de presión para enviar y recibir paquetes al servidor

El segundo punto es usar algunas herramientas de prueba de esfuerzo como Jmeter, LoadRunner

3. Cómo aplicar la presión correcta a estos puntos de prueba

Necesita usar herramientas de prueba de esfuerzo u otros métodos para grabar scripts para simular las operaciones del usuario

4. ¿Cuánta presión sobre el diseño del punto de prueba es más apropiada?

Es necesario aclarar la cantidad de límites de prueba de esfuerzo, es decir, la cantidad de usuarios concurrentes

5. Cómo usar estos datos para localizar problemas de rendimiento después de la prueba

A través de las pruebas, puede obtener datos como el rendimiento y el tiempo de respuesta promedio. Detrás de estos datos está el resultado del efecto general de toda la lógica de procesamiento en segundo plano. En este momento, primero puede prestar atención a la CPU y la memoria del sistema, y ​​luego comparar el rendimiento. Con estos datos, puede confirmar qué parte del sistema causó el problema de rendimiento

Para una gran cantidad de acceso simultáneo al sistema, ¿cómo haría la prueba? ¿Alguna sugerencia?

¿Cómo probar sistemas altamente concurrentes? En términos generales, la estrategia de prueba general es: primero realizar pruebas de rendimiento y pruebas de estrés en algunos sistemas para obtener el máximo rendimiento de procesamiento de cada parte, y luego simular la prueba de proceso general, centrándose en probar el proceso comercial general y el negocio Carga esperada, concéntrese en probar los siguientes puntos:

  1. Diferentes provincias y diferentes operadores de rendimiento del nodo CDN, puede usar el programa de prueba de esfuerzo típico
  2. El ancho de banda de la red BGP de la sala central de computadoras, esta parte se enfoca en probar la confiabilidad de la red BGP de cada operador, la tasa real, generalmente usa humo, lxChariot y otras herramientas
  3. Todo tipo de rendimiento de equipos de hardware, generalmente utiliza herramientas de prueba de equipos de red profesionales
  4. Varios servidores de rendimiento concurrente, capacidades de procesamiento distribuido, pueden usar herramientas de programa de prueba de esfuerzo
  5. Rendimiento del sistema empresarial, utilizando el programa de prueba de esfuerzo del sistema empresarial
  6. Rendimiento del procesamiento de la base de datos, esta parte debe probarse junto con el sistema comercial para obtener el TPS / QPS de la base de datos en el escenario comercial central
  7. Si tiene una función de pago, debe realizar una interfaz de canal de pago y pruebas de derivación. Esta parte puede ser el mayor cuello de botella. Además, también implica la prueba de soluciones de respaldo, soluciones de recuperación ante desastres y soluciones de degradación comercial.

Responda cuáles son los comandos de shell de uso común relacionados con la red, la diferencia entre los tres netstat, ping, ifconfig, cuáles son sus funciones y cuál es el estado del puerto del servidor general en netstat después de que se inicia

Los comandos relacionados con la red más utilizados son los siguientes:

1 、 ifconfig

Este comando se usa para mostrar la interfaz de red, la máscara de subred

2 、 host 和 nslookup

Estos dos comandos son herramientas de búsqueda de DNS. Al ejecutar el host, se enumerarán todos los ips de un determinado nombre de dominio. Nslookup es un comando similar al host. Se utiliza para consultar detalles relacionados con DNS y la resolución de nombres.

3 、 ruta

Mostrar tabla de enrutamiento

4 、 traceroute

Este comando muestra todas las direcciones de puerta de enlace de la ruta de agrupación

Las tres diferencias entre netstat, ping e ifconfig:

netstat: muestra el estado de la red, usando netstat puede informarle la situación de la red de todo el sistema Linux, la sintaxis es netstat [-acCeFghilMnNoprstuvVwx] [-A <tipo de red>] [-ip]

ping: la función es detectar el host, porque el comando ping utilizará el protocolo de transmisión icmp para enviar un mensaje solicitando una respuesta. Si no hay ningún problema con la función de red del host remoto, responderá al mensaje, por lo que el host está funcionando normalmente. ping [-dfnqrRv] [-c <número de finalizaciones>] [-i <intervalo de segundos>] [-I <interfaz de red>] [-l <precarga >> [-p <estilo de plantilla>] [- s <tamaño de paquete>] [-t <valor en vivo>] [nombre de host o dirección IP

ifconnfig: la función es mostrar o configurar dispositivos de red, la sintaxis es: ifconfig [dispositivo de red] [abajo arriba -allmulti -arp -promisc] [agregar <dirección>] [del <dirección>] [<hw <tipo de dispositivo de red> < Dirección de hardware>] [io_addr <dirección de E / S>] [irq <dirección IRQ>] [medios <tipo de medio de red>] [mem_start <dirección de memoria>] [métrica <número>] [mtu <byte>] [máscara de red <Máscara de subred>] [túnel <dirección>] [-broadcast <dirección>] [-pointopoint <dirección>] [dirección IP]

Después de que se inicia el servidor, generalmente está en estado de escucha

¿Conoce dominios cruzados, cuáles son las condiciones, qué debe agregarse en el encabezado? Hay varias opciones

¿Qué es el dominio cruzado?

  • Cuando un navegador solicita recursos de otro nombre de dominio desde una página web de un nombre de dominio, cualquier nombre de dominio, puerto y protocolo diferentes son de dominio cruzado

Varias opciones para dominios cruzados:

  1. Dominio cruzado basado en etiquetas de script
  2. Dominio cruzado basado en jquery
  3. Cruzando subdominios a través de iframe

Al abrir el navegador, ingrese la url para llegar a un controlador en el proyecto en el servidor, describa el proceso

En este proceso, se produce la comunicación de red, es decir, el uso del clúster de protocolo tcp / ip para la comunicación de red. El extremo emisor baja de la capa de aplicación y el extremo receptor sube de la capa de enlace de datos. Los pasos son los siguientes:

  1. URL de entrada del navegador, donde http es el protocolo
  2. Resolución de DNS en la capa de aplicación, devolviendo la dirección IP correspondiente
  3. El cliente de la capa de aplicación envía una solicitud http,
  4. La dirección MAC de consulta de IP de la capa de red,
  5. Mensaje de transferencia TCP de la capa de transporte
  6. Los datos alcanzan la capa de enlace de datos, momento en el cual el cliente envía la solicitud para finalizar
  7. El servidor recibe el paquete de datos en la capa de enlace de datos y luego baja a la capa de aplicación,
  8. El servidor responde a la solicitud, encuentra el recurso solicitado por el cliente y devuelve un mensaje de respuesta.

Por favor escriba mysql eliminar declaración

1. Declaración de caída. Se puede usar para eliminar bases de datos y tablas.

  • Use la instrucción drop para eliminar la base de datos: drop database db;
  • Use la instrucción drop para eliminar la tabla: drop table tb;

2. Eliminar la declaración. Se usa para eliminar campos en la tabla.

  • eliminar de tb donde id = 1;
  • Si no se agrega where a la instrucción delete, se eliminarán todos los registros de la tabla:

3. Use truncar para eliminar todos los campos de la tabla:

  • truncar la tabla tb;

Por favor escriba algunas declaraciones SQL básicas

  • Seleccionar: seleccione * de la tabla1 donde rango
  • : : Insertar en la tabla1 (campo1, campo2) valores (valor1, valor2)
  • Eliminar: eliminar de la tabla1 donde rango
  • Actualización: actualizar table1 set field1 = value1 donde rango
  • Buscar: seleccione * de la tabla1 donde el campo1 como '% value1%' --- como la sintaxis es exquisita, ¡verifique la información!
  • : : Seleccione * de la tabla1 ordenar por campo1, campo2 [desc]
  • : : Seleccione el recuento como recuento total de la tabla1
  • : : Seleccione sum (field1) como sumvalue de table1
  • : : Seleccione avg (field1) como avgvalue de table1
  • : : Seleccione max (field1) como maxvalue de table1
  • : : Seleccione min (field1) como minvalue de table1

Hay 10 datos idénticos en una tabla determinada, ahora quiero eliminar 9 de ellos, escriba la declaración sql

  • delete * from table_name limit 9

 

Diseñe un caso de prueba: una serie de números, la identificación de años bisiestos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29 artículos originales publicados · Me gusta1 · Visitas 573

Supongo que te gusta

Origin blog.csdn.net/wennie11/article/details/105554741
Recomendado
Clasificación