Se dice que las pruebas de software son simples, ¿por qué no lo siento?

prefacio

¿Es difícil la prueba de software? Solo inténtalo y lo descubrirás.

A menudo escucho a amigos que quieren ingresar a la industria decir:

Quiero cambiar a pruebas de software y escuché que las pruebas de software son muy simples.

En este momento, mi corazón estaba lleno de jeje, quién dijo que las pruebas de software son fáciles, ¿sabes? Los ingenieros de pruebas deben ser capaces de entender más cosas que el desarrollo, más que la operación y el mantenimiento , más que los administradores de bases de datos y más que los gerentes de productos No importa en términos de amplitud o dimensión, los probadores necesitan dominar demasiadas cosas.

Luego analice qué habilidades necesita un ingeniero de pruebas:

01

Teoría de las pruebas de software

Como probador de software, debe conocer las pruebas de software en sí.

¿Siempre necesita saber qué son las pruebas de software? ¿Qué es un caso de prueba? ¿Qué es un defecto? ¿Cuáles son las características de las pruebas de software? Estas son solo teorías, y no me importa si se hará.

Otro ejemplo es la definición de pruebas de software, ¿las pruebas de software son un programa de prueba? ¿O documentación de prueba? ¿O probar software, etc.?

02

Proceso de prueba de software

Si desea conocer el proceso de prueba de software, debe conocer la ingeniería de software, el ciclo de vida del software, el modelo de investigación y desarrollo y el modelo de prueba.

Los modelos incluyen el modelo clásico en cascada, el proceso de desarrollo ágil más popular, el modelo V, el modelo W, el modelo X, el modelo H, etc. Debe conocer al menos tres o cuatro de estos modelos de forma casual.

Además de estos, también necesita saber qué hacer en cada etapa del proceso de prueba.

03

documento de prueba

La prueba de software es un trabajo basado en habilidades, no un trabajo basado en la investigación Después de comprender la teoría de las pruebas de software, siempre tendrá que hacer algo, como escribir documentos.

Una de las habilidades necesarias para los probadores de software es escribir documentos y resumirlos.

Hay muchos documentos para escribir en las pruebas de software, como planes de prueba, planes de prueba, casos de prueba, envío de errores e informes de prueba. A veces, después de completar cada iteración, el jefe le pedirá que genere varios documentos de experiencia. Se puede ver que la prueba que puede escribir documentos ¿Qué tan necesario es el personal.

04

Fundamentos de la computadora

Los ingenieros de pruebas de software pueden considerarse personal de TI de cualquier manera y deben conocer los conceptos básicos de las computadoras.

De lo contrario, deja que cierres un servicio, estás confundido...

Le permite configurar una variable de entorno, sin importar cuán confundido esté...

Le permite instalar un software, desinstalar un software, pasa mucho tiempo, el software instalado está todo en la unidad C, el software desinstalado no se desinstala en absoluto, la reinstalación no se realiza correctamente y luego vuelve a confundirse...

Le permite verificar la IP en la ventana de comandos de DOS y luego configurar una IP estática, se confundirá nuevamente

………………

Los conceptos básicos de informática son una de las habilidades necesarias para los probadores de software.

05

herramientas de software

Como persona de TI, ¿le avergüenza decir que no conoce algunos programas?

Entonces hagamos un balance juntos, el software que los probadores de software deben conocer:

Sin mencionar el software de oficina, las pruebas de software requieren escribir muchos documentos, por lo que debe conocer el software de oficina.

Al analizar los requisitos y desmantelar los puntos de prueba, siempre es necesario dibujar un mapa mental, por lo que XMIND u otro software de mapas mentales siempre debe tener uno.

Las herramientas de gestión de configuración, ya sea el SVN anterior o el popular git, siempre tienen uno.

Las herramientas de conexión remota, bases de datos y servidores se configuran básicamente en la sala de cómputo, por lo que se deben conocer las herramientas de conexión remota de bases de datos y servidores, no se puede ir a la sala de cómputo para operarla, si se va a la sala de cómputo para operar , debes recordar traer un monitor. .

Si no lo sabes, siempre revisa a Du Niang y al tío Gu, no dirás que todos lo saben, ¡no lo hagas! De lo contrario, ¿cómo puede haber el mismo problema y otros pueden encontrar una solución rápidamente, pero no siempre puede encontrar la página web que buscó?

06

base de datos

Ya sea MySQL , Oracle, SQLServere, DB2, etc., puede que no necesites conocer las características, rendimiento y optimización de la base de datos, pero sí debes conocer el lenguaje SQL, quien les permitirá a todos conocer el lenguaje SQL.

El lenguaje SQL será DDL, DML, DQL y DCL.

Lenguaje de definición de datos (DDL):

Se utiliza para definir y administrar objetos de datos (bibliotecas, tablas, índices, vistas), incluidas bases de datos, tablas de datos, etc., por ejemplo: CREATE DROP ALTER y otras declaraciones.

Lenguaje de manipulación de datos (DML):

Se utiliza para manipular los datos contenidos en los objetos de la base de datos, por ejemplo: sentencia INSERT UPDATE DELETE.

Lenguaje de consulta de datos (DQL):

Se utiliza para consultar los datos contenidos en el objeto de la base de datos y puede realizar varias consultas de base de datos complejas y diferentes, como consulta de tabla única, consulta de conexión, consulta anidada y consulta de colección, y devolver los datos al cliente para su visualización, como : instrucción SELECCIONAR.

Lenguaje de control de datos (DCL):

El idioma utilizado para administrar la base de datos, incluidos los permisos de administración y los cambios de datos, como: GRANT, REVOKE, COMMIT, ROLLBACK y otras declaraciones.

Incluso si los probadores de software no necesitan preocuparse por la estructura de la base de datos, no necesitan usar DDL y DCL, pero deben conocer los lenguajes DML y DQL para datos (adición, eliminación, modificación y consulta). ).

Incluso si dice que las declaraciones INSERT, UPDATE y DELETE son muy simples, simplemente utilícelas directamente de acuerdo con el formato, ¿qué pasa con SELECT?

La declaración SELECT no solo tiene consultas simples, sino también consultas complejas.

Las consultas complejas incluyen consultas de tablas múltiples, consultas de unión, subconsultas y consultas con varias funciones.

Los probadores de software deben dominar estas oraciones.

07

LINUX

Linux se utiliza como sistema operativo del servidor, y los evaluadores de software a menudo necesitan crear un entorno de prueba en LINUX.

Si dice que el entorno de prueba de la empresa está completamente desarrollado y que el sistema y el software están instalados por operación y mantenimiento, no necesita conocer el sistema Linux.

Entonces estás equivocado.

Si se informa un error durante la prueba, siempre debe verificar el registro en segundo plano para analizar si es un ERROR. Si es un ERROR, aún necesita localizarlo.

Si el sistema Linux está muy atascado, siempre debe verificar el proceso, verificar la administración de recursos del sistema o eliminar algunos procesos, reiniciar el servicio o algo así.

Luego, los probadores de software deben conocer estos comandos.

Si dice que aún pueden depender del desarrollo, la operación y el mantenimiento, entonces debe fingir que no lo dije.

08

Lenguaje de programación

Como soy una persona de TI, si salgo y digo que no sé un lenguaje de programación, parece ser muy vergonzoso.

En la actualidad existen cientos de lenguajes de programación en el mundo, como C, C++, C#, el mejor lenguaje del mundo (PHP), JAVA, Perl, Python, etc., por lo que siempre hay que elegir un idioma para aprender a usar.

En general, se selecciona el idioma que actualmente utiliza el sistema de la empresa.

Pero si no sabe cómo elegir, sugiero que los probadores de software puedan elegir JAVA y Python. JAVA debe tener sus ventajas durante mucho tiempo, y debe haber una razón por la cual Python puede volverse popular en tan poco tiempo. tiempo.

Si no tiene ninguna base de programación, se recomienda aprender Python primero. Python está más cerca del lenguaje natural y es más fácil y rápido de aprender.

09

industria

Un principio de las pruebas de software es que la actividad de prueba depende del contenido de prueba.

Entonces el contenido de esta prueba es el negocio de la empresa, antes de convertirse en negocio, se le conoce comúnmente como demanda.

A menudo se ve en JD que se prefiere la experiencia en la industria de pagos, se prefiere la experiencia en la industria financiera, se prefiere la experiencia en la industria de las telecomunicaciones y se optimiza la experiencia en la industria del comercio electrónico...

¿Por qué esto es tan?

Esto se debe a que los evaluadores deben comprender el negocio y estar familiarizados con él.

Los evaluadores que participan en la industria de las telecomunicaciones deben dominar varios protocolos, como el protocolo HTTP, el protocolo TCP/IP, y es posible que deban estar familiarizados con los principios de los conmutadores y enrutadores.

Los evaluadores que participan en la industria financiera deben estar familiarizados con diversos conocimientos contables.

Si está probando un sistema integrado, también necesita comprender el conocimiento del hardware.

Los evaluadores de software deben estar muy familiarizados con el negocio del software que se está probando, más que nadie.

Estos son los cimientos de la fundación.

Si aún se convierte en una vaca grande, como probador, también debe poder automatizar las pruebas, las pruebas de rendimiento, las pruebas de seguridad, las pruebas de interfaz, etc.

Cada prueba involucra una variedad de herramientas y marcos, como las pruebas automatizadas.

Por ejemplo, existen muchas herramientas como RobotFramwork, QTP, Selenium, AutoRunner, etc. Aunque no es necesario que las domines todas, debes conocer al menos una.

Lo mismo ocurre con otros tipos de pruebas.

¿Todavía puedes decir que las pruebas de software son simples?

Quiero decir "el camino es largo y largo, y buscaré arriba y abajo." Trabajemos duro juntos, amigos.


Finalmente, el editor compiló un conjunto de los últimos tutoriales de aprendizaje del sistema de pruebas de software para usted, incluida la teoría de pruebas, conceptos básicos de Linux, conceptos básicos de MySQL, pruebas web, pruebas de interfaz, pruebas de aplicaciones, herramientas de administración, conceptos básicos de Python, relacionados con Selenium, pruebas de rendimiento, LordRunner espera relacionada

A través del resumen de big data, se encuentra que las entrevistas para puestos de pruebas de software son casi las mismas. Las preguntas frecuentes incluyen las siguientes:

  • La primera parte, teoría de prueba (base de prueba + análisis de requisitos + modelo de prueba + plan de prueba + estrategia de prueba + caso de prueba, etc.)
  • La segunda parte, Linux (conceptos básicos de Linux + preguntas de práctica de Linux)
  • La tercera parte, MySQL (conocimiento básico + práctica de consulta + resumen de preguntas de entrevista clásicas de la mesa de estudiantes de Wannian + preguntas reales de empresas de bases de datos)
  • Parte IV, Pruebas web
  • Parte V, Pruebas API
  • Parte VI, Pruebas de aplicaciones
  • Parte VII, Herramientas de gestión
  • La octava parte, conceptos básicos de Python (conceptos básicos de Python + preguntas de programación + colecciones + funciones + características de Python, etc.)
  • Parte IX, relacionada con el selenio
  • Parte 10, Pruebas de rendimiento
  • Parte Once, relacionada con LordRunner
  • Parte 12, Redes informáticas
  • Parte Trece, Principios de Composición
  • Parte Catorce, Estructuras de Datos y Algoritmos
  • Parte XV, problemas de lógica
  • Parte XVI, Recursos Humanos

1. Fundamentos de las pruebas de software

  • ¿Cuáles son los pasos de las pruebas de software?
  • ¿Cómo grabar el script de prueba?
  • Métodos de prueba que se deben considerar sobre cómo probar
  • ¿Cómo estimar el esfuerzo de prueba?
  • El problema con el diseño de la prueba
  • Cuando ocurre un error durante el proceso de prueba, ¿cuáles son las soluciones?
  • Problemas con la ejecución de la prueba
  • Objetivos de la evaluación de pruebas
  • ¿Cómo mejorar la prueba?
  • Ventajas y desventajas del modo C/S
  • Ventajas y desventajas del modo B/S
  • ....

inserte la descripción de la imagen aquí

dos, linux

  • ¿Cuál es la diferencia entre grep y find?¿Cuáles son los usos de grep?
  • ¿Ver dirección IP?
  • ¿Crear y eliminar un directorio multinivel?
  • ¿Encontrar el archivo haha.txt en el directorio de inicio del usuario actual?
  • ¿Cómo consultar el proceso de Tomcat y eliminar el proceso y escribir comandos de Linux?
  • ¿Ver archivos de registro dinámicamente?
  • ¿Comando para ver el espacio del disco duro del sistema?
  • Ver todos los puertos de la máquina actual ¿Escuchar?
  • ......

inserte la descripción de la imagen aquí

3. pitón

  • ¿Cuenta el número de líneas de código en el archivo de código fuente de python, elimina comentarios, líneas en blanco y salida?
  • Python llama a cmd y devuelve el resultado?
  • Ordenamiento de burbuja
  • ¿Cuántos números de tres dígitos diferentes y que no se repiten pueden estar compuestos por los cuatro números 1, 2, 3 y 4?
  • Utilice Python para imprimir números simétricos dentro de 10000 (características del número de simetría: los números son simétricos a la izquierda y a la derecha, como: 1, 2, 11, 121, 1221, etc.)
  • Dado un número entero N y un número K de 0-9, se requiere devolver el número de ocurrencias del número K en 0-N
  • Determine cuántos números primos hay entre 101 y 200 y genere todos los números primos
  • Una función que ingresa un triángulo, si la salida puede formar un triángulo después de la entrada y el tipo de triángulo, use el método de partición de clase de equivalencia para diseñar un caso de prueba
  • .......
    inserte la descripción de la imagen aquí

4. mysql

  • ¿Qué motor Mysql usa y cuáles son las diferencias entre cada motor?
  • ¿Cómo optimizar el comando de consulta?
  • ¿Optimización de la base de datos?
  • ¿Cómo ocurre la inyección Sql y cómo prevenirla?
  • ¿Cuál es la diferencia entre NoSQL y las bases de datos relacionales?
  • ¿Cuál es la diferencia más básica entre la esencia de MySQL y MongoDB?
  • ¿Cómo implementar la paginación en la base de datos Mysql?
  • ¿Operación de la base de datos Mysql?
  • ¿Optimizar la base de datos?¿Mejorar el rendimiento de la base de datos?
  • ¿Qué es la integridad de los datos?
  • ......
    inserte la descripción de la imagen aquí

5. Internet

  • ¿Cuál es la diferencia entre las pruebas web y las pruebas de aplicaciones?
  • Método de prueba y construcción del entorno de prueba WEB
  • Tutorial de pruebas WEB
  • Puntos clave y métodos básicos de pruebas WEB
  • Resumen de la página de prueba web
  • .......
    inserte la descripción de la imagen aquí

6. Prueba de interfaz

  • que es una interfaz
  • Si el módulo solicita http a https, ¿cómo se debe formular y modificar el plan de prueba?
  • ¿Qué significa el agente de depuración de protocolo HTTP de uso común que tengo?¿Explica en detalle el proceso de configuración de captura del protocolo HTTPS?
  • Describir la estructura jerárquica del protocolo TCP/IP y los protocolos importantes en cada capa
  • jmeter, el resultado de la respuesta de una interfaz es el siguiente:
  • Cómo limpiar los datos basura generados por la interfaz
  • Cómo lidiar con la dependencia de interfaces de terceros
  • ¿Dónde pones los datos de prueba?
  • ¿Qué es data-driven y cómo parametrizarlo?
  • ...
    inserte la descripción de la imagen aquí

7. Prueba de rendimiento

  • ¿Cuál cree que es el propósito de las pruebas de rendimiento?¿Cuál es la clave para hacer un buen trabajo en las pruebas de rendimiento?
  • ¿Desde qué ángulos se realiza el análisis de rendimiento del lado del servidor?
  • ¿Cómo entender las pruebas de estrés, las pruebas negativas y las pruebas de rendimiento?
  • ¿Cómo juzgar si hay una pérdida de memoria y los indicadores de preocupación?
  • Describir las causas de las fugas de memoria en el software y cómo comprobarlas (se puede describir en combinación con un lenguaje de desarrollo)
  • Describa brevemente qué es la transferencia de valor, qué es la transferencia de dirección y cuál es la diferencia entre las dos.
  • ¿Qué es un cuello de botella del sistema?
  • ...
    inserte la descripción de la imagen aquí

ocho, selenio

  • ¿Cómo construir un marco de prueba automatizado?
  • Cómo diseñar casos de prueba automatizados:
  • ¿Cómo abre y sale webdriver de un navegador?
  • ¿Qué es un marco de prueba automatizado?
  • ¿Qué es Selenium y cuáles son las versiones populares?
  • ¿Cómo se inicia Selenium RC desde la línea de comandos?
  • En mi máquina, el puerto 4444 no está libre. ¿Cómo puedo usar otro puerto?
  • ¿Qué es Selenium Server y en qué se diferencia de Selenium Hub?
  • ¿Cómo se conecta a la base de datos de Selenium?
  • ¿Cómo se verifica que un objeto existe en varias páginas?
  • ¿Cuál es la diferencia entre usar barras simples y dobles en XPath?
  • ¿Cómo escribir extensiones de usuario para SeleniumIDE/RC?
  • ¿Cómo verificar la existencia de un elemento después de que la página se carga correctamente?
  • ¿Qué sabes de Selenium Grid?, ¿qué características ofrece?
  • ¿Cómo iniciar el servidor Selenium desde su clase Java?
  • ¿Qué son los puntos de verificación en Selenium?
  • ¿Qué es XPath?¿Cuándo debo usar XPath en Selenium?
  • ........
    inserte la descripción de la imagen aquí

9. Computadora y Red

  • La IP de una computadora es 192.168.10.71 máscara de subred 255.255.255.64 con 192.168.10.201..
  • Describa brevemente los conceptos de DNS, directorio activo y dominio.
  • ¿Qué significa 10M de banda ancha?¿Cuál es la velocidad de descarga teórica?
  • ¿Qué es una dirección IP?
  • ¿Cuáles son las siete capas del modelo de red OSI?
  • ¿Cuál es la diferencia entre TCP y UDP?
  • ¿A qué capa de protocolo pertenece HTTP?
  • ¿Cuál es la diferencia entre HTTP y HTTPS?
  • ¿Cuál es la diferencia entre cookies y sesiones?
  • ¿Cuál es la diferencia entre una solicitud de obtención HTTP y una solicitud de publicación?
  • ¿Cuál es la diferencia entre HTTP1.0 y HTTP1.1?
  • ¿Proceso de establecimiento de conexión TCP y proceso de desconexión?
  • ¿El proceso del cliente usando DHCP para obtener una IP?
  • ¿Escribir la dirección de red y la dirección de transmisión de un segmento de red?
  • .....
    inserte la descripción de la imagen aquí
    inserte la descripción de la imagen aquí

10. Recursos humanos

  • ¿Cuál es su progresión en la carrera de pruebas? ¿Cuáles crees que son las ventajas de hacer pruebas?
  • Cuando estás buscando trabajo, ¿cuál es la consideración más importante?
  • ¿Por qué deberíamos admitirte?
  • Cuéntenos acerca de su mejor característica personal.
  • ¿Qué cualidades y habilidades debe poseer un ingeniero de pruebas?
  • Además, ¿cómo aseguran la calidad del software, es decir, cómo creen que se puede garantizar en la mayor medida posible la calidad del software?
  • ¿Por qué elegiste probar esta línea?
  • Si te contrato, ¿qué aporte puedes aportar al departamento?
  • ......
    inserte la descripción de la imagen aquí

por fin

El documento completo tiene un total de casi 200 páginas. Definitivamente es poco realista mostrarles todo. Para no afectar su experiencia de lectura, solo se muestra una parte del contenido. Espero que lo entiendan y espero ayudarlos a revisar antes de Entreviste y encuentre un buen trabajo, ¡y ahorre tiempo a todos buscando información en Internet para aprender!

Gracias a todos los que leyeron mi artículo con atención, aunque no es algo muy valioso, si pueden usarlo, se lo pueden llevar:

 Estos materiales deben ser el almacén de preparación más amplio y completo para los amigos [de pruebas de software] Este almacén también ha acompañado a decenas de miles de ingenieros de pruebas a través del viaje más difícil, ¡y espero que también pueda ayudarlo a usted!

Método de adquisición de información:

Supongo que te gusta

Origin blog.csdn.net/qq_56271699/article/details/131171963
Recomendado
Clasificación