4. El rol del tester, del desarrollador y del equipo de calidad

4.1 Introducción

La calidad de un producto de software no depende de una sola persona. Aunque muchas organizaciones tienen roles específicos de testing o QA, la calidad se construye con la participación de todo el equipo: testers, desarrolladores, analistas, diseñadores, responsables del negocio, líderes técnicos y usuarios.

En un proyecto sano, el testing no aparece solamente al final para "aprobar" lo que otros hicieron. El tester participa, pregunta, revisa, diseña pruebas, ejecuta verificaciones, reporta defectos y aporta información sobre riesgos. El desarrollador también prueba, revisa y cuida la calidad técnica del código.

En este tema veremos qué hace cada rol, cómo se complementan y por qué la colaboración es más importante que la separación rígida de responsabilidades.

4.2 Calidad como responsabilidad compartida

Una idea fundamental es que la calidad no se agrega al final. Si un requisito es ambiguo, si el diseño es confuso, si el código es difícil de mantener o si nadie revisa los riesgos, las pruebas finales llegarán tarde para resolver todos los problemas de forma eficiente.

La calidad se construye desde el inicio del proyecto. Cada rol aporta algo diferente:

  • Quien define requisitos debe expresar necesidades claras y verificables.
  • Quien diseña la solución debe considerar la experiencia del usuario.
  • Quien programa debe escribir código correcto, mantenible y testeable.
  • Quien prueba debe buscar defectos, analizar riesgos y comunicar resultados.
  • Quien decide prioridades debe equilibrar valor, costo, tiempo y riesgo.
Idea clave: el tester ayuda a evaluar la calidad, pero no es la única persona responsable de crearla.

4.3 ¿Qué hace un tester?

Un tester es una persona que evalúa el software para descubrir información relevante sobre su calidad. Su trabajo no se limita a ejecutar pasos escritos en una planilla. También implica pensar, analizar, priorizar y comunicar.

Entre sus tareas habituales se encuentran:

  • Leer y analizar requisitos.
  • Detectar ambigüedades o comportamientos no definidos.
  • Diseñar casos de prueba.
  • Preparar datos de prueba.
  • Ejecutar pruebas manuales o automatizadas.
  • Comparar resultados obtenidos contra resultados esperados.
  • Registrar defectos con información clara.
  • Reprobar defectos corregidos.
  • Ejecutar pruebas de regresión.
  • Informar riesgos y estado de las pruebas.

Un tester eficaz no solo pregunta "¿funciona?". También pregunta "¿qué podría fallar?", "¿qué impacto tendría?", "¿qué no está claro?" y "¿qué evidencia tenemos?".

4.4 Habilidades importantes de un tester

El testing requiere habilidades técnicas y habilidades de análisis. Algunas de las más importantes son:

  • Atención al detalle: observar diferencias entre lo esperado y lo obtenido.
  • Pensamiento crítico: cuestionar supuestos y buscar casos no evidentes.
  • Comunicación clara: explicar problemas sin ambigüedad y sin culpar personas.
  • Conocimiento del negocio: entender qué necesita el usuario y qué reglas son importantes.
  • Criterio de prioridad: distinguir defectos graves de problemas menores.
  • Organización: documentar pruebas, resultados y evidencias.
  • Curiosidad técnica: comprender cómo funciona el sistema para probarlo mejor.

No todos los testers hacen exactamente las mismas tareas. Algunos se enfocan más en pruebas manuales, otros en automatización, otros en análisis funcional, seguridad, rendimiento o calidad de procesos. En este curso introductorio nos concentraremos en las bases comunes a todos esos caminos.

4.5 ¿Qué no debería ser el rol del tester?

También es importante aclarar algunos malentendidos. El tester no debería ser visto como:

  • La única persona responsable de la calidad.
  • Alguien que solo busca culpables.
  • Un usuario que prueba sin método.
  • Una etapa final que bloquea entregas sin contexto.
  • Una persona que simplemente sigue pasos sin analizar.
  • El reemplazo de buenas prácticas de desarrollo.

El valor del tester está en aportar una mirada crítica y ordenada sobre el producto. Esa mirada debe ayudar al equipo, no generar enfrentamientos innecesarios.

4.6 ¿Qué hace un desarrollador en relación con la calidad?

El desarrollador tiene un rol central en la calidad porque construye el código que sostiene el sistema. Su responsabilidad no termina cuando una funcionalidad "compila" o se ve correctamente en pantalla.

En relación con testing y calidad, un desarrollador debería:

  • Comprender los requisitos antes de implementar.
  • Escribir código claro y mantenible.
  • Validar casos normales y casos de error.
  • Crear pruebas unitarias cuando corresponda.
  • Revisar que los cambios no rompan funcionalidades existentes.
  • Analizar y corregir defectos reportados.
  • Participar en revisiones de código.
  • Colaborar con testers para reproducir problemas.
  • Mejorar la testeabilidad del sistema.

Un código difícil de probar suele ser también difícil de mantener. Por eso el desarrollo y el testing están más conectados de lo que parece.

4.7 Diferencia entre probar como desarrollador y probar como tester

Desarrolladores y testers pueden probar la misma funcionalidad, pero suelen hacerlo con enfoques distintos. Ambos enfoques son necesarios.

Aspecto Mirada del desarrollador Mirada del tester
Foco principal Confirmar que la implementación técnica funciona. Evaluar el comportamiento desde requisitos, riesgos y usuario.
Conocimiento del código Alto conocimiento de cómo está construido internamente. Puede usar una mirada más externa e independiente.
Tipo de casos Validaciones técnicas, pruebas unitarias, integración inicial. Escenarios funcionales, casos límite, flujos alternativos y regresión.
Riesgo habitual Puede confirmar demasiado el camino que programó. Puede no conocer detalles técnicos internos si no hay comunicación.

La combinación de ambas miradas produce mejores resultados que cualquiera de las dos por separado.

4.8 El equipo de calidad

En algunas organizaciones existe un equipo de calidad o QA. Su estructura puede variar mucho según el tamaño del proyecto, la industria y la forma de trabajo.

Un equipo de calidad puede ocuparse de:

  • Definir estrategias de prueba.
  • Establecer criterios de aceptación y salida.
  • Diseñar y mantener casos de prueba.
  • Administrar ambientes y datos de prueba.
  • Coordinar pruebas manuales y automatizadas.
  • Medir defectos, cobertura y riesgos.
  • Promover buenas prácticas de calidad.
  • Acompañar al equipo en revisiones y mejora continua.

El objetivo no es crear una "policía de calidad", sino ayudar a que el producto sea más confiable y que las decisiones se tomen con información suficiente.

4.9 QA y testing: relación entre ambos términos

Las siglas QA vienen de Quality Assurance, que suele traducirse como aseguramiento de la calidad. En la práctica, muchas empresas usan QA como sinónimo de tester, aunque técnicamente no son exactamente lo mismo.

El testing se enfoca en evaluar el producto mediante pruebas. QA puede tener una mirada más amplia, incluyendo procesos, estándares, prevención de defectos, métricas y mejora continua.

Concepto Enfoque Ejemplo
Testing Evaluar el producto para encontrar defectos y conocer su estado. Ejecutar casos de prueba sobre una nueva funcionalidad.
QA Mejorar el proceso para prevenir defectos y elevar la calidad general. Definir una estrategia de revisión de requisitos antes de desarrollar.

Para un curso introductorio, lo importante es entender que ambos conceptos están relacionados y que en el trabajo diario pueden mezclarse según la organización.

4.10 El rol de analistas y responsables del negocio

Los analistas funcionales, product owners, usuarios clave o responsables del negocio también influyen directamente en la calidad. Ellos ayudan a definir qué debe hacer el sistema y qué reglas son importantes.

Su aporte es fundamental para responder preguntas como:

  • ¿Cuál es el comportamiento correcto?
  • ¿Qué casos son más importantes para el negocio?
  • ¿Qué datos son válidos y cuáles no?
  • ¿Qué errores debe mostrar el sistema?
  • ¿Qué situaciones son excepcionales pero posibles?
  • ¿Qué defectos deben corregirse antes de publicar?

Cuando el equipo de testing no tiene acceso a esta información, aumenta el riesgo de diseñar pruebas incompletas o interpretar mal los resultados.

4.11 Colaboración durante el ciclo de desarrollo

La colaboración entre roles puede ocurrir en distintas etapas:

  1. Antes de desarrollar: testers, desarrolladores y analistas revisan requisitos y criterios de aceptación.
  2. Durante el desarrollo: se aclaran dudas, se crean pruebas técnicas y se validan casos iniciales.
  3. Durante la prueba: se ejecutan casos, se reportan defectos y se ajustan prioridades.
  4. Después de corregir: se reprobar el defecto y se ejecutan pruebas de regresión.
  5. Luego de entregar: se analizan incidentes reales y se mejoran casos futuros.

Cuanto más temprano colaboren los roles, menor será la probabilidad de descubrir problemas graves al final.

4.12 Comunicación entre tester y desarrollador

Una buena comunicación entre tester y desarrollador evita pérdidas de tiempo. Cuando se reporta un defecto, el desarrollador necesita entender qué ocurrió y cómo reproducirlo. Cuando se corrige, el tester necesita saber qué cambió y qué debería verificar.

Algunas buenas prácticas son:

  • Reportar problemas con pasos claros.
  • Evitar frases vagas como "no funciona".
  • Adjuntar datos, capturas, videos o logs cuando ayuden.
  • Distinguir hechos observados de suposiciones.
  • Consultar dudas antes de asumir que algo es defecto.
  • Mantener respeto y foco en el producto, no en la persona.

El objetivo común es resolver el problema. Una incidencia bien escrita y una conversación clara aceleran mucho ese proceso.

4.13 Independencia del testing

La independencia en testing significa que una persona distinta a quien desarrolló puede revisar el producto con una mirada más fresca. Esto suele ayudar a encontrar problemas que el autor no vio.

Sin embargo, independencia no significa aislamiento. Un tester independiente igual necesita conversar con desarrolladores, analistas y usuarios para entender el contexto.

Hay distintos niveles de independencia:

  • El desarrollador prueba su propio código.
  • Otro desarrollador revisa o prueba el cambio.
  • Un tester del mismo equipo ejecuta pruebas.
  • Un equipo externo o independiente evalúa el producto.
  • Usuarios reales realizan pruebas de aceptación.

Cada nivel aporta una mirada diferente. La elección depende del riesgo, del tamaño del proyecto y de los recursos disponibles.

4.14 Ejemplo práctico de colaboración

Supongamos que el equipo debe implementar el registro de usuarios en una aplicación web.

Rol Aporte
Analista o negocio Define qué datos son obligatorios, qué mensajes deben mostrarse y qué reglas aplican.
Desarrollador Implementa formulario, validaciones, guardado de datos y pruebas técnicas iniciales.
Tester o QA Diseña casos con datos válidos, datos inválidos, campos vacíos, correos duplicados y errores de servidor.
Diseñador UX Revisa claridad visual, mensajes, orden de campos y experiencia de uso.
Responsable del proyecto Decide prioridad de defectos y si la funcionalidad está lista para publicarse.

Este ejemplo muestra que la calidad final depende de muchas contribuciones coordinadas.

4.15 Errores comunes en la relación entre roles

Algunos problemas frecuentes en equipos que recién comienzan a organizar su proceso de calidad son:

  • Creer que el tester debe encontrar todos los problemas al final.
  • Entregar funcionalidades a prueba sin validaciones básicas.
  • Reportar defectos sin pasos para reproducirlos.
  • Tomar los defectos como críticas personales.
  • No involucrar a testing en la revisión de requisitos.
  • No dar contexto técnico suficiente al tester.
  • No priorizar defectos según riesgo e impacto.
  • Corregir sin avisar qué cambió ni qué conviene reprobar.

Estos problemas no se resuelven solo con herramientas. Se resuelven con acuerdos de trabajo, comunicación y responsabilidad compartida.

4.16 Qué debes recordar de este tema

  • La calidad es responsabilidad de todo el equipo.
  • El tester aporta análisis, diseño de pruebas, ejecución, reporte de defectos e información sobre riesgos.
  • El desarrollador también prueba y cuida la calidad técnica del código.
  • QA puede tener una mirada más amplia que la ejecución de pruebas.
  • Analistas y responsables del negocio ayudan a definir el comportamiento esperado.
  • La colaboración temprana evita defectos costosos.
  • La independencia del testing aporta una mirada fresca, pero no debe convertirse en aislamiento.
  • Una buena comunicación mejora la velocidad y calidad de las correcciones.

4.17 Conclusión

El rol del tester es fundamental, pero no existe separado del resto del equipo. El tester ayuda a mirar el producto con criterio crítico, a descubrir defectos, a formular mejores preguntas y a comunicar riesgos. El desarrollador construye la solución y también participa activamente en la calidad mediante buen código, pruebas técnicas y corrección responsable de defectos.

Un equipo madura cuando deja de ver el testing como una barrera final y empieza a verlo como una práctica de colaboración. La calidad mejora cuando todos entienden qué deben aportar y trabajan con información clara.

En el próximo tema estudiaremos los principios fundamentales del testing, que resumen ideas esenciales para planificar y ejecutar pruebas de manera realista.