Para la implementación continua (CD), ¿cuál es la mejor manera de automatizar sus pruebas funcionales?

1. La automatización de pruebas funcionales no es tan compleja como lo era antes. Las herramientas y la potencia informática han madurado hasta el punto en que podemos ejecutar miles y miles de pruebas en minutos. En cada compromiso. Los días de las herramientas de prueba automatizadas que son propietarias, caras y lentas se han ido. Por ejemplo, piense en Selenium / webdriver como solo una API. Puede escribir una prueba de Junit que realice llamadas a esa API, lo que ejercitaría las interacciones del navegador. La prueba en sí no se ve diferente a una prueba unitaria.

Por supuesto, esas pruebas tienen que ser inteligentes y estar bien escritas. Por ejemplo, cada prueba debe comenzar su propio sistema bajo prueba y eliminar ese sistema cuando se complete la prueba. Falsifica tus dependencias externas. Esas cosas harán que sus pruebas sean más independientes y aisladas, por lo tanto, menos vulnerables a la contaminación.

No podemos evitar algunas cosas. Para las pruebas web, el más grande es el navegador en sí. Los navegadores son lentos y poco fiables a veces. Esto puede agregar descamación. Puede solucionar esto utilizando una herramienta como PhantomJS | PhantomJS, pero eso depende de su comodidad con ese tipo de estrategia de prueba.

2. ¿Quién crea y mantiene? Todos. Las pruebas funcionales automatizadas deben ser un aspecto habitual y asumido para el desarrollo de software. Su capacidad debe satisfacerlo, al igual que las pruebas unitarias. De esta manera, no puede ignorarlos, no puede empujarlos a la siguiente iteración, no puede empujarlos a un equipo de automatización separado.

Si sigue el n. ° 1 anterior, estas pruebas se ejecutarán en cada confirmación, por lo que cada desarrollador deberá saber cómo escribir, diagnosticar, depurar y corregir. Todos los evaluadores necesitarán saber cómo trabajar con su equipo para asegurarse de que las pruebas automatizadas sean atendidas. Pueden hacerlo ellos mismos, pueden emparejarse con desarrolladores más técnicos sobre lo que debe probarse. De cualquier manera, no puede poner a su equipo en una situación en la que la responsabilidad de una prueba reprobatoria recaiga en nadie más que en el responsable.

Recomiendo automatizar las pruebas con Selenium

Para automatizar las pruebas de rendimiento e implementar CI / CD, BlazeMeter es excelente

Para las pruebas móviles de CI, la CLI de Monkop es una gran herramienta para probar en dispositivos reales. Mira estos enlaces:

  1. Monkop CLI para su tubería de compilación
  2. Monkop – Android Testing Cloud

Si aún no lo ha leído, consulte la pirámide de automatización de pruebas.

http://www.abstracta.us/2015/10/…

Continuous Testing es parte de la historia de Dev Ops que consiste en:

  • Integración continua
  • Entrega continua
  • Prueba continua
  • Mantenimiento continuo

Con el advenimiento de las tecnologías digitales, los ciclos de lanzamiento de la aplicación se han reducido a unos pocos días y el número de lanzamientos puede ser de 5 a 6 por semana.

La filosofía de las pruebas continuas ayuda a reunir un motor (herramientas, tecnología, procesos, personas) que realiza continuamente el aseguramiento de la calidad.

En QualityKiosk, un veterano de garantía de calidad de software de 16 años, realizamos CT utilizando nuestra plataforma de garantía de calidad.

¿Qué hace que nuestra plataforma sea única? Podemos prometerle Pruebas continuas incluso si sus procesos de Entrega continua e Integración continua no están implementados.

¿Curioso? Hable con nuestros consultores de garantía de calidad y estaremos encantados de ayudarle.

Es importante tener en cuenta aquí que solo si ha incorporado la Integración Continua (CI) en su práctica de prueba, puede comenzar el viaje para implementar el CD .

En pocas palabras, la integración continua (CI) consiste en fusionar todas las copias creadas por sus desarrolladores en una línea principal compartida, varias veces al día.

LOS BENEFICIOS CLAVE DE CI SON LOS SIGUIENTES.

  • Detectar y corregir errores de integración temprano; Ahorre tiempo y dinero.
  • Pase menos tiempo depurando y más tiempo agregando nuevas funciones.
  • Retroalimentación rápida: no más tiempo de espera para verificar si su código final va a funcionar o no.
  • Puede tener la compilación actual a mano para fines de prueba, demostración o lanzamiento
    con cd puede compilar, probar con una herramienta de automatización de prueba de nueva generación y lanzar.

BENEFICIOS

  • Menos riesgo, ya que no pasa el código fallido a la siguiente etapa.
  • Puede obtener comentarios inmediatos sobre las nuevas funciones; de esa manera aprendes rápidamente si es un acierto o una falla.
  • Puede responder rápidamente para corregir errores de inicio de sesión cuando se accede al software desde diferentes dispositivos.
  • La responsabilidad de la entrega del software recae no solo en sus equipos internos sino también en los dueños de negocios.

Entonces, ¿cuál es la diferencia entre la entrega continua y la implementación continua?

En el primero, la tubería prueba automáticamente la aplicación pero mantiene la implementación como un paso manual. Sin embargo, en el último caso, el despliegue de la compilación es automático sin intervención humana.

Más información en este blog: http://bit.ly/2cWjZ1M

More Interesting

¿Cuáles son los mejores proyectos que has visto en informática?

¿Es mejor pasar directamente a la gestión de productos (para una empresa de software) o hacer primero un desarrollador de software?

Quiero dejar mi trabajo (en el que lo único que obtengo es el salario) por 2 a 3 meses de estudio a tiempo completo para actualizar mis habilidades de ingeniería de software. Actualizar mi conjunto de habilidades me ayudará a asegurar un mejor trabajo que me apasione. ¿Realmente vale la pena?

¿Es importante el control de calidad para una empresa de software? ¿Qué empresas recomendarías para el control de calidad?

¿Cuáles son algunos casos de uso para usar algoritmos en el desarrollo de software?

¿Por qué las aplicaciones o los juegos a menudo ofrecen la opción de idioma inglés británico o estadounidense? ¿Es la diferencia realmente notable e importante?

¿Los ingenieros de software de Silicon Valley a menudo tienen una visión inflada de su propia inteligencia?

¿Cuáles son los consejos para unirse a un nuevo equipo como ingeniero de software?

¿Qué se discute durante una reunión de Scrum?

¿Qué puede hacer un estudiante de secundaria ahora para prepararse para luego ser un desarrollador / ingeniero de software?

¿Cuál es el paquete de compensación para un nuevo ingeniero de software graduado que comienza en Microsoft en 2014?

Como soy un probador de software, ¿qué curso debo hacer en Canadá para obtener PR?

¿Cuál es la mejor manera de implementar una arquitectura de adaptación al aprendizaje similar al proceso en la naturaleza?

¿Cuánto cuesta desarrollar un videojuego?

¿Qué es lo que te apasiona y técnicamente, en qué estás más interesado en trabajar? Software