[Pruebas automatizadas] ¿Es necesario hacer pruebas automatizadas?

directorio

I. Introducción

2. Finalidad de la automatización

3. Clasificación automática

4. Realización de la automatización.

 

I. Introducción

En algunos grupos de intercambio de pruebas, a menudo veo socios pequeños que preguntan: "¿Cómo hacer pruebas automatizadas? ¿Hay alguna información sobre cómo aprender a realizar pruebas automatizadas? ¿Son increíbles las pruebas automatizadas?" ¿realmente va a ser eliminado?"

Hay que decir que un grupo de propietarios de cuentas de tráfico captan la psicología pública, y los que hacen clic deben ser anuncios para vender cursos, o seguir la cuenta oficial de WeChat para recibir un gran paquete de regalo con materiales de prueba.

Para ser honesto, tuve la misma pregunta antes, incluso con preocupación. Cada vez que no estoy dispuesto a recibir un gran paquete de regalo con materiales de prueba...

Por supuesto, con la expansión continua de mi cognición y la mejora continua de mi propio sistema de prueba , estas preocupaciones desaparecieron gradualmente. Cada referencia técnica depende del escenario aplicable, si es adecuado para su propio equipo, y solo adaptándose a las condiciones locales puede ejercer su mayor valor.

Por lo tanto, me gustaría compartir mi comprensión de las pruebas automatizadas a través de este artículo.

2. Finalidad de la automatización

El trabajo automatizado puede ahorrar una gran cantidad de costos de operación manual, reducir las operaciones manuales repetitivas y mejorar la eficiencia de investigación y desarrollo de todo el equipo. Sin embargo, si lleva mucho tiempo construir un sistema de automatización y se invierten muchos recursos humanos, pero el usuario solo necesita 2-3 minutos de trabajo manual para resolverlo, y esta operación es poco frecuente, o la iteración de los cambios de plataforma que requieren operaciones automatizadas es muy rápido y no hay De acuerdo con la ley, las herramientas automatizadas siguen como un trabajo agotador. Entonces, ¿sigue siendo necesaria la automatización?

En el equipo en el que estaba antes, era muy difícil crear datos de prueba, lo que afectaba gravemente toda la eficiencia de I+D, pero no había una buena solución en ese momento. Más tarde, el equipo básico de I+D construyó una plataforma de creación de números. Esta plataforma necesita para configurar varios campos por sí mismo. Y ordene la asociación de cada campo de la tabla, cree la escena una por una de principio a fin, si accidentalmente comete un error de configuración, no puede encontrar la razón incluso si mira el indicador . Esto agrega otro obstáculo al proceso de hacer números, y lleva mucho tiempo por el tiempo de prueba insuficiente.

Si puede evaluar la entrada y los beneficios de la tarea antes de realizarla, ¿puede realizarla de manera más razonable? Entonces, ¿cuáles son la inversión y los beneficios de las pruebas automatizadas?

Inversión: A través de probadores que utilizan scripts o herramientas para automatizar y mantener la plataforma de automatización.

Beneficios: Mejore la eficiencia de las pruebas y mejore el crecimiento de los probadores.

¿Las pruebas automatizadas realmente mejoran la eficiencia de las pruebas? ¿Puede realmente mejorar el crecimiento de los probadores? Para estos últimos, creo que los hay. A continuación, hablemos sobre si las pruebas automatizadas pueden mejorar la eficiencia de las pruebas.

3. Clasificación automática

La automatización generalmente se divide en automatización de la interfaz y automatización de la interfaz de usuario. La automatización de la interfaz de usuario se divide además en la automatización de la interfaz de usuario web y la automatización de la interfaz de usuario de la aplicación. Según tengo entendido, también se debe agregar la automatización de la implementación.

  • automatización de la interfaz
  • Automatización de la implementación
  • Automatización de la interfaz de usuario web
  • Automatización de la interfaz de usuario de la aplicación

A continuación, daré una introducción a estos cuatro escenarios automatizados. Debido a que no estoy muy familiarizado con la automatización de la interfaz de usuario, creo que la relación entrada-salida no es muy alta, principalmente porque no he estado en contacto con ella, por lo que solo daré una breve introducción más adelante, centrándome en la automatización de la interfaz y la automatización de la implementación. .

4. Realización de la automatización.

4.1 Automatización de la interfaz

interfaz

Las pruebas de interfaz se utilizan principalmente para detectar los puntos de interacción entre los sistemas externos y los subsistemas internos. El objetivo de la prueba es verificar el intercambio de datos, el proceso de transferencia y las dependencias lógicas mutuas entre los sistemas.

proceso

Complete la interfaz, ingrese los parámetros, afirme los parámetros de salida, construya regularmente todos los días y genere el informe de prueba.

Cobertura de parámetros de entrada: requerido, opcional, sí/no/nulo, tipo, tamaño de valor/rango de valor, caracteres especiales;

Parámetros de salida: json, datos;

Asociación de interfaz: dependencia entre interfaces, transferencia de datos;

Aserción: para verificar la respuesta, puede verificar el código de estado o el mensaje.

ventaja

Las pruebas de interfaz pueden cubrir más escenarios;

Las pruebas de interfaz pueden encontrar problemas del lado del servidor más rápido;

La prueba de interfaz es relativamente fácil de automatizar la integración continua ;

Las pruebas de interfaz están más cerca de los escenarios comerciales que las pruebas unitarias;

Selección de tecnología

1, esfera de metro

MeterSphere es una plataforma integral de pruebas continuas de código abierto que cubre funciones como el seguimiento de pruebas, pruebas de interfaz, pruebas de rendimiento y trabajo en equipo, y es totalmente compatible con los estándares principales y de código abierto como JMeter, Postman y Swagger.

MeterSphere es una plataforma con todas las funciones y es de código abierto. La versión gratuita es suficiente para que la usen equipos pequeños. El umbral de uso es relativamente bajo y no requiere grandes habilidades técnicas, por lo que es una buena opción. La pila de tecnología utilizada por MeterShpre es SpringBoot+vue, así como algunos middleware , que también se pueden usar para el desarrollo secundario sobre esta base.

Puede consultar la experiencia de aterrizaje de la compañía financiera MeterSphere compartida por los miembros de mi equipo anterior , que presenta en detalle los puntos débiles de las pruebas resueltos por MeterSphere, así como el tutorial de operación.

2, pitón

Para la automatización de la interfaz a través de Python, los componentes comunes incluyen: Solicitudes de la biblioteca de ejecución, prueba unitaria de la biblioteca de afirmaciones, informe de prueba HTMLTestRunner e integración continua de Jenkins para la construcción regular.

Idea de marco: encapsulación, basada en datos.

Si usa Python, necesita dominar ciertas habilidades de codificación. Por supuesto, esto es muy útil para mejorar las habilidades personales, pero si el tiempo es escaso y no tiene suficientes habilidades técnicas, aún se recomienda MeterSphere.

4.2 Automatización de la implementación

desplegar

La implementación consiste en compilar el código fuente en un paquete de software ejecutable, como un paquete jar o un paquete war, y colocar el paquete de software en el entorno de destino, ejecutar el paquete de software y que el cliente pueda invocarlo.

proceso

Extraiga el código a través del almacén remoto, compile el front-end, compile el back-end, entregue el paquete de software a la máquina de destino, reinicie el servicio y emita una alarma si falla el inicio.

ventaja

En comparación con la implementación manual tradicional, es más rápida, menos propensa a errores y mejora la eficiencia de la entrega.

Selección de tecnología

gitlab o gitee: alojamiento de código

git: gestión de versiones

nodo: compilación front-end

experto: compilación de fondo

ansible: enviar archivos

shell: reiniciar el servicio

oleoducto: construcción de oleoductos

Jenkins: administrador de CICD, integra las herramientas anteriores y proporciona páginas para que los usuarios operen el proceso de implementación.

4.3 Automatización de la interfaz de usuario web

automatización de la interfaz de usuario

Ubique el elemento a través del posicionamiento del elemento de la página y simule el comportamiento de operación del usuario, haga clic, ingrese, arrastre y suelte, etc.

proceso

Localice elementos, simule acciones de usuarios y envíe informes de prueba.

ventaja

Es adecuado para escenarios que regresan al proceso principal y no cambian con frecuencia. Se puede utilizar para pruebas y verificaciones funcionales repetitivas. El equipo en el que estaba antes hizo una parte de la automatización de la interfaz de usuario web, pero debido a los cambios frecuentes en los requisitos y la energía limitada, el costo de mantener esta plataforma era relativamente alto y no había mantenimiento continuo en el futuro.

Selección de tecnología

Python, selenio.

4.4 Automatización de la interfaz de usuario de la aplicación

automatización de la interfaz de usuario

Ubique el elemento a través del posicionamiento del elemento de la página y simule el comportamiento de operación del usuario, haga clic, ingrese, arrastre y suelte, etc.

proceso

Localice elementos, simule acciones de usuarios y envíe informes de prueba.

ventaja

Es adecuado para escenarios que regresan al proceso principal y no cambian con frecuencia.

Selección de tecnología

aplicación.

Conclusión: creo que la automatización de la interfaz y la automatización de la implementación pueden traer beneficios, realmente pueden mejorar la eficiencia y también pueden generar crecimiento para los evaluadores.


Finalmente, me gustaría compartir con ustedes mi "Ruta de aprendizaje para ingenieros de pruebas de automatización"

1. Contenido esencial de programación de Python para pruebas automatizadas

 2. Contenido básico de las pruebas automatizadas de la interfaz de usuario web

 

3. Contenido de prueba automatizado de interfaz de usuario web

 

4. Contenido básico de las pruebas de automatización de la interfaz de usuario de la aplicación

 

5. Contenido práctico de las pruebas de automatización de la interfaz de usuario de la aplicación

 

6. Contenido básico de las pruebas automatizadas de la interfaz API

 

7. Contenido práctico de las pruebas automatizadas de la interfaz API 

 

8. Tecnología especial de integración continua CI/CD

 

9. Tecnología práctica del marco de prueba automatizado

 

Por último, me gustaría agradecer a todos los que han leído detenidamente mi artículo. La reciprocidad siempre es necesaria. Aunque no es algo muy valioso, puedes quitártelo si lo necesitas:

Estos materiales deberían 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. ¡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/131263624
Recomendado
Clasificación