Want to make creations as awesome as this one?

Transcript

01

EMPEZAR

DevTestops

Bugs, backlog, dolores de cabeza...

Mobile testing

CTRL + F5

Desktop App

La importancia de QA más allá de la calidad

ÍNDICE

ÍNDICE

DEVTESTOPS

Beneficios QA

Casos reales

Pruebas E2e

Tipos de pruebas

Perfiles de QA

¿Qué es QA?

¿Quién soy?

¿Es Frontend?¿Es QA?

Soy Belén, QA Engineer en Voicemod desde hace 2 años.Empecé a trabajar en el sector del software hace 8 años aunque no empecé como QA sino como FE.Hace 5 años sentí la llamada del lado oscuro de la fuerza y empecé a meter cabeza en todo lo referente en QA y automatización.

¿Qué es QA?

Wikipedia

"El aseguramiento de la calidad es el conjunto de actividades planificadas y sistemáticas aplicadas en un sistema de gestión de la calidad para que los requisitos de calidad de un producto o servicio sean satisfechos."

Es el procedimiento para asegurar la calidad de un producto o servicio.El objetivo que persigue es probar y asegurar el adecuado funcionamiento del producto o servicio acorde a los requisitos especificados.

05

Automatización de pruebas

04

Reporte de bugs

03

Creación y ejecución de test cases

02

Definición y creación del test plan

01

Análisis de las historias de usuario

Responsabilidades de QA

QA Manual

QA Automation

+ INFO

+ INFO

@estefafdez

  • Revisar y analizar las especificaciones de las pruebas.
  • Definir los casos de prueba y los planes de prueba.
  • Ejecutar los casos de prueba y analizar los resultados.
  • Informar de los fallos y errores al equipo de desarrollo.
  • Escribir código limpio y de alta calidad que pruebe las funcionalidades del producto automáticamente.
  • Registrar y documentar los errores.
  • Identificar casos específicos para ser automatizados.
  • Colaborar con equipos multifuncionales (desarrollo, producto...)

Perfiles de QA

Test Unitarios

Test de Rendimiento

Test de integración

Test funcionales

¿no es sólo tarea de Qa?

Tipos de pruebas

Test Funcionales

Exploratorios

Responsivos

Regresión

Progresión

Aceptación

¡Hay más de uno!

Tipos de test Funcionales

[...]

Protractor

Cypress

Appium

Selenium

Herramientas

Ejemplo de test E2e

Test con Cypress

Renfe

Real Valladolid

Misión Exomars

2016

2022

CASOS EN LOS QUE FUE NECESARIO Testear Y NO LO SABÍAN

Se produjo un fallo en la actualización de los sistemas y dejó a toda cataluña sin trenes de Rodalies y larga distancia durante 8h.

2022

A los abonados no se les estaba asignando asiento al hacer el alta.

Un fallo de software hizo creer al módulo de aterrizaje que estaba en el suelo antes de tiempo.

Efecto 2000

Error en los frenos de toyota

El gusano de Morris

1988

2010

Otros casos

Se esperaba que el bug Y2K paralizase al mundo a la medianoche del 1 de enero 2000, debido a que en muchos desarrollos se había omitido la centuria en el año, asumiendo que funcionaría sólo durante los años que comenzaran con 19XX.

1999

Se retiraron más de 400.000 coches por un problema de software, que provocaba un retraso en el sistema anti-bloqueo de frenos.

Declarado como el primer malware auto replicable, afecto a 6000 ordenadores.

Y no es sólo reportar bugs

Beneficios de tener QA

01

02

03

04

Pon un QA en tu vida

Desarrollo más efectivo y eficiente

Mejora experiencia de usuario

Producto más seguro

Reducción de costes

Continuous testing

Coverage

Cuando DevOps y QA trabajan juntos

DevTestOPS

Cobertura del producto por encima la de cobertura del código.

Todos los departamentos hacen pruebas en lugar de delegarlo al departamento de QA.

Probar lo que da valor en lugar de probarlo todo.

Adoptar todas las posibilidades de prueba en lugar de sólo las pruebas funcionales automatizadas.

Testing continuo en lugar de testing al final.

Manifesto

DEVTESTOPS

Mejora continua

Actualizar constantemente las herramientas y los procesos para dar cabida a las tendencias y actualizaciones pertinentes.

Implementar las herramientas

Hay que enseñar a los equipos a usar estas herramientas de forma eficaz.Se asigna el rol de tester a personas de diversos equipos.

Automatización

Hay que aplicar la automatización en cada uno de estos procesos.

Cómo implementarlo

Crear un toolchain

Jira, Kubernetes, Selenium, GitHub y Jenkins, entre otras. Se asigna funciones a los diferentes equipos que utilizan estas herramientas para que puedan trabajar eficazmente con ellas.

04

03

02

01

Buenas prácticas

La pipeline tiene que estar constantemente monitorizada.

La automatización ayudará a acelerar el proceso.

Debe haber colaboración entre equipos.

Monitorización

Comunicación

Automatización

Gracias