La calidad no es una fase del proyecto, es una responsabilidad continua. QA (Quality Assurance) abarca procesos, prácticas y cultura que garantizan el correcto funcionamiento de los productos. Esta guía presenta cómo implementar un control de calidad eficaz en productos digitales.
¿Qué es el control de calidad?
Definición
Conjunto de actividades que garantizan la calidad del software.
Control de calidad frente a control de calidad
El control de calidad es un proceso (prevención de defectos). El control de calidad es inspección (encontrar defectos).
Alcance
No sólo pruebas. Procesos, estándares, documentación.
Por qué es importante el control de calidad
Costo de los errores
Los errores en producción cuestan 100 veces más que en desarrollo.
Experiencia de usuario
Los errores frustran. Los usuarios abandonan.
Reputación
Las aplicaciones con errores reciben críticas negativas.
Confianza
Es más seguro cambiar el código.
Tipos de pruebas
Pruebas unitarias
Probar funciones aisladas. Rápido, mucho.
Pruebas de integración
Pruebe los componentes juntos. API, banco.
De extremo a extremo (E2E)
Flujo completo como usuario.
Pruebas manuales
Humanos explorando el producto.
Pruebas de humo
Comprueba rápidamente si la construcción funciona.
Pruebas de regresión
Asegúrese de que los cambios no hayan roto los existentes.
Pruebas de rendimiento
Comportamiento bajo carga.
Pruebas de seguridad
Vulnerabilidades y cumplimiento.
Pirámide de pruebas
Concepto
Muchas pruebas unitarias, menos integración, pocos E2E.
¿Por qué?
Las unidades son rápidas y económicas. E2E son lentos y frágiles.
Saldo
Cada tipo tiene valor. No descuides ninguno.
Automatización de pruebas
¿Por qué automatizar?
Repetibilidad, velocidad, cobertura.
Qué automatizar
Casos repetitivos, críticos, estables.
Herramientas
Broma, Pytest, Ciprés, Dramaturgo, Appium.
Mantenimiento
Las pruebas automatizadas necesitan atención continua.
Control de calidad en ágil
Desplazamiento a la izquierda
Calidad desde el principio, no al final.
Pruebas continuas
Las pruebas se ejecutan en cada confirmación.
Definición de hecho
Incluye criterios de calidad.
Multifuncional
QA integrado en el equipo, no separado.
Procesos de control de calidad
Planificación de pruebas
Qué probar, cómo y cuándo.
Casos de prueba
Documentación de escenarios.
Informe de errores
Descripción clara, reproducción, severidad.
Triaje
Priorización de errores.
Regresión
Nuevas pruebas después de las correcciones.
Entornos de prueba
Desarrollador
Para desarrolladores. Inestable.
Puesta en escena
Espejo de producción. Control de calidad completo.
###Producción
Siempre estable. Pruebas limitadas.
Fecha
Datos de prueba realistas pero seguros.
Control de calidad móvil
Fragmentación del dispositivo
Muchos dispositivos, versiones, tamaños.
Laboratorios de dispositivos
Prueba en dispositivos reales.
Pruebas en la nube
BrowserStack, laboratorio de pruebas de Firebase.
Plataforma específica
iOS y Android tienen peculiaridades.
Pruebas exploratorias
¿Qué es?
Pruebas sin guión. Investigación.
Cuándo utilizar
Encuentra errores inesperados.
Heurística
Las técnicas guían la exploración.
Documentación
Capture lo que descubra.
Métricas de control de calidad
Tasa de escape de errores
Errores que llegan a producción.
Cobertura de prueba
Código cubierto por pruebas.
Densidad de defectos
Errores por tamaño de código.
Es hora de arreglar
¿Cuánto tiempo para arreglar?
Tasa de aprobación de la prueba
Porcentaje de pruebas aprobadas.
CI/CD y control de calidad
Integración continua
Las pruebas se ejecutan con cada fusión.
Puerta
Fusión bloqueada si las pruebas fallan.
Despliegue continuo
Despliegue automático si se superan las pruebas.
Monitoreo
Observabilidad en producción como control de calidad continuo.
Cultura de calidad
Responsabilidad compartida
La calidad es de todos, no sólo del control de calidad.
Revisión de código
Código de revisión por pares.
Definición de hecho
Calidad incluida.
Autopsias sin culpa
Aprende de los errores, no culpes.
Documentación
Planes de prueba
Estrategia de prueba para función/lanzamiento.
Casos de prueba
Pasos para probar escenarios.
Informes de errores
Descripción completa para jugar.
Notas de la versión
Qué cambió, qué probar.
Errores comunes
Control de calidad al final
Déjalo para el último minuto. Desplazarse hacia la izquierda.
Sólo manual
Las pruebas manuales no escalan.
Ignorar comentarios
Errores conocidos no corregidos.
Diferentes entornos
Puesta en escena muy diferente de la producción.
Conclusión
El control de calidad es una inversión que evita costes mucho más elevados. Automatizar lo repetitivo, realizar pruebas tempranas, construir una cultura de calidad. Los productos bien probados son productos confiables.
##Preguntas frecuentes
1) ¿El control de calidad es responsabilidad exclusiva del evaluador? No. Todo el equipo es responsable de la calidad.
2) ¿Cuánto automatizar? Por mucho que tenga sentido. Pruebas unitarias exhaustivas, E2E selectivas.
3) ¿El control de calidad retrasa las entregas? Quizás a corto plazo. A largo plazo, evita retrabajos.
4) ¿Necesito un control de calidad dedicado? Depende del tamaño. Los equipos pequeños pueden compartir la responsabilidad.
5) ¿Cómo priorizar los errores? Gravedad x impacto. Primero los bloqueadores.
