Curso de Fundamentos de Pruebas de Software

Los siete principios del testing moderno

Curso de Fundamentos de Pruebas de Software

Contenido del curso

Los siete principios del testing moderno

Resumen

La calidad no es un rol, es una responsabilidad compartida. Desde los principios de testing moderno de Alan Page y Brent Jensen, el foco cambia: del hallazgo de defectos a mejorar el negocio con equipos que colaboran, iteran rápido y aprenden de los errores. Aquí verás cómo el tester acompaña todo el proceso, el developer se apoya en buenas prácticas y ambos entregan valor real al cliente.

¿Qué es el testing moderno y por qué alinea a tester y desarrollador?

El testing moderno es la evolución natural del testing ágil: promueve que tester y developer trabajen como un solo equipo orientado a la calidad del producto y del proceso. El tester deja de ser “cazador de defectos” y se convierte en facilitador, proponiendo herramientas, prácticas y métricas que mejoren el desarrollo. La meta es una entrega continua que el cliente valore y que sostenga el negocio.

  • Colaborar para aprender de los errores, no para señalar fallas.
  • Orientar las pruebas a riesgo, valor y satisfacción del cliente.
  • Mantener una visión integral: producto, procesos y resultados.

¿Cuáles son los siete principios y cómo impactan al negocio?

El hilo conductor es claro: la prioridad es el impacto en negocio, con iteraciones cortas, gestión de cuellos de botella y una cultura de calidad que se vive desde el desarrollo.

¿Cómo priorizar el negocio con iteraciones y cuellos de botella?

  • Prioridad máxima: mejorar el negocio. Cada prueba, botón o mejora protege ingresos y continuidad del proyecto.
  • Reducir el trabajo en proceso con Lean Thinking y Teoría de las Restricciones: identificar, priorizar y mitigar cuellos de botella.
  • Construir en módulos y en iteraciones para detectar defectos temprano. Evitar “todo al final”.
  • Diseñar equipos y pruebas modulares: desde lo más pequeño hasta lo integral.

¿Cómo adaptar y consolidar una cultura de calidad?

  • Mejora continua: adaptarse y optimizar. Liberar por fases y distribuir pruebas para gestionar riesgo.
  • Impulsar cultura de calidad desde el inicio: buenas prácticas en desarrollo para que el tester aporte como coach, recomiende herramientas y mejore procesos.
  • Escalabilidad real: políticas claras de calidad y mejores prácticas en todas las áreas (desarrollo, diseño, documentación, requisitos). Como en Facebook, la calidad es prioridad organizacional.
  • El tester necesita visión del producto y del negocio, además de dominar aspectos técnicos y de documentación para el usuario.

¿Quién define la calidad y cómo usar datos de prueba extensos?

  • La calidad la define el usuario final: si el producto satisface expectativas por etapas pactadas (por ejemplo, entregar A, B y C ahora y el resto después), se cumple el nivel acordado.
  • Usar datos de prueba extensos. Los developers suelen probar con datos “cortos”; se requieren rangos completos para casos reales.
  • Ejemplo crítico: formularios de nombre en Latinoamérica con 30–60 caracteres frente a nombres en Asia de 3–6 letras. La variación revela defectos ocultos.
  • Considerar métricas de desarrollo y comunicación de impactos entre módulos. Existen incluso testers especializados en pruebas de datos.

¿Qué habilidades y responsabilidades necesita el equipo para escalar calidad?

La calidad crece cuando el conocimiento se comparte. El tester expande habilidades al equipo, promueve automatización, integra herramientas que aceleran ciclos y acompaña como coach. Se requiere liderazgo para sostener la política de calidad, pero la responsabilidad es de todos: desarrolladores, managers, diseñadores y más.

  • Compartir habilidades de testing y del negocio en todo el equipo.
  • Entender el producto extremo a extremo para decidir qué automatizar y cuándo.
  • Practicar responsabilidad compartida: nadie oculta errores, todos cuidan el costo y el valor.

Ahora, cuéntame en comentarios: ¿puedes aplicar estos principios donde trabajas?, ¿qué te facilita u obstaculiza? ¿Qué dudas tienes y qué te gustaría mejorar en tu proceso de desarrollo de software?