Blog

¿Cuál es el trabajo de un Tester de Software?

Si estás pensando en contratar a un equipo de testers o en asociarte con una empresa de testing de software pero aún no tienes seguridad de esta decisión, te recomendamos leer este artículo. Descubre cuál es el trabajo de un tester de software y cuáles son sus principales responsabilidades.

Principales actividades y responsabilidades del equipo de testers de software en el proceso de desarrollo
Foto de Louise Viallesoubranne en Unsplash

Llevar adelante testing de software continuo es crucial para lograr coconstruir software de mejor calidad. En este sentido, es importante no dejar el testing de software como una etapa final, sino poner foco en ello y hacerlo parte del proceso de manera integral desde el comienzo.

Al mismo tiempo, resulta prioritario no dejar el testing en manos de desarrolladores, sino asignarlo a un equipo de expertos en testing. ¿Por qué no dejarlo en manos de desarrolladores? Pueden ser excelentes en lo suyo, pero lo suyo es el desarrollo, no el testing. Es fundamental que los desarrolladores y los testers de software trabajen siempre de manera mancomunada, pero cada cual desde su rol.

¿Cuáles son las principales responsabilidades de un equipo de testers de software?

Roger Abelanda, Chief Technology Officer en Abstracta

Roger Abelanda, Chief Technology Officer en Abstracta, explicó de este modo cuál es el trabajo de un tester de software: “La principal responsabilidad de un tester es mejorar la calidad del software entregado, lo cual implica conocimientos muy variados e involucramiento en diferentes etapas de desarrollo”.

“Dependiendo del equipo y el tipo de software desarrollado, las tareas pueden variar. Las tareas también dependen del expertise del tester. En algunos casos están más enfocadas más en aspectos funcionales, en diferentes verticales de negocio. Y en otros casos se centran en aspectos no funcionales, como performance, seguridad y accesibilidad, entre otros”.

Jorge Lira, Senior Functional Tester en Abstracta

Jorge Lira, Senior Functional Tester en Abstracta, especificó: “Como testers nos adaptamos a las necesidades de los proyectos en los que participamos. Desarrollamos casos de pruebas, y probamos que se cumplan los requerimientos del software y hardware. Estamos atentos en identificar carencias en la calidad tanto del producto como de los procesos con los que se construyen, y sugerimos mejoras”.

Y continuó: “En caso de no tener claro cómo mejorar, sugerimos reuniones ejecutivas con las personas que puedan ayudarnos a encontrar soluciones. Comunicamos estas carencias cualitativas respetuosamente, de forma objetiva y constructiva, si es posible acompañadas de alguna idea inicial”.

Compartimos aquí las principales responsabilidades de un equipo de testing de software. En la voz de Roger Abelanda, en base a su experiencia de desarrollo y liderazgo de equipos de desarrollo de productos de testing y plugins de JMmeter, entre otros.

1. Inserción del Proyecto o incorporación al mismo

Es momento de empezar. En esta instancia, el equipo de testers de software necesitará:

  • Definir una correcta estrategia de testing acorde a la criticidad del producto, el tipo de producto, la conformación del equipo, el énfasis y cultura de la empresa y el producto a desarrollar, el público objetivo y tipos de usuarios del producto.
  • Definir stack y framework para automatización de pruebas en colaboración con el equipo de desarrollo.
  • Definir en conjunto con el equipo el proceso de release y los diferentes entornos, accesos y datos de pruebas a usar en cada uno.
  • Participar en la definición de proceso de pruebas, revisiones y liberaciones del producto.
  • Fomentar desde el inicio la colaboración y comunicación en el equipo, integrarse como parte del equipo y promover la percepción de que el tester está para ayudar, como cualquier miembro del equipo debería. Promover que estamos todos los roles tratando de sacar el mejor producto y de la manera más rápida y eficiente posible.
  • Adecuarse a las mecánicas y cultura del equipo, planteando puntos de mejora pero evaluando adecuadamente trade offs y evitando agregar peso en el equipo. Ayudar a que las cosas salgan mejor no solo en calidad sino en relación a la eficiencia del proceso.
  • Estar siempre atento a proponer mejoras en el proceso de desarrollo, comunicación del equipo, uso de herramientas, etc. Ser un miembro proactivo dentro del equipo.
  • Estimar esfuerzos de implementación de funcionalidades, dando peso a las actividades de testing, tales como automatización, testing exploratorio y revisión de documentación, entre otras.

2. Análisis de Requerimientos

Cuando ya se ha iniciado un proyecto, los testers deben realizar un análisis de los requisitos, teniendo en cuenta las numerosas tareas implicadas y las necesidades del proyecto. Con el fin de lograr este objetivo, los testers de software proceden a:

  • Realizar un análisis con especial énfasis en la coherencia de la funcionalidad y visión del producto.
  • Identificar los casos de borde y criterios de aceptación, y definir un plan de pruebas.
  • Defender los intereses de los usuarios, con énfasis en la experiencia de usuario.
  • Tener en cuenta la accesibilidad, escalabilidad, performance y otros aspectos no funcionales que puedan aportar al equipo.
  • Entender el valor agregado de la funcionalidad y cuestionar la funcionalidad dentro de la visión general del producto.

3. Durante el Desarrollo de las Funcionalidades

  • Impulsar la automatización de pruebas con el fin de que hagan más eficiente la ejecución. Revisión de resultados de las mismas para evitar bugs de regresión.
  • Abogar por la correcta gestión e implementación de las pruebas automatizadas. Para ello, es preciso revisarlas en detalle, chequeando los tiempos invertidos en sus ejecuciones para mantener las automatizaciones ágiles, con el menor feedback loop posible desde que se desarrolla una funcionalidad y se detectan posibles desviaciones.
  • Hacer testing exploratorio revisando casos de borde, integración y coherencia con otras funcionalidades, aspectos de accesibilidad y UX, seguridad, performance, y precisión de la documentación provista.
  • Reportar adecuadamente desviaciones, y mantener una comunicación fluida con el equipo enfocada en la colaboración. Facilitar el consumo de dichos reportes, facilitando la identificación y reproducibilidad del mismo. Categorizar adecuadamente cada desviación planteando potenciales riesgos, y visibilizar los mismos ante una potencial liberación.
  • Asegurar la correcta documentación de los hallazgos hechos transparentando el valor del testing y la calidad del producto a diferentes stakeholders.

4. Liberación de Funcionalidades

  • Cuidar el uso de datos de los diferentes entornos y el manejo de información de usuarios.
  • Apoyar en la mejora continua del pipeline de release y revisión del producto.
  • Brindar y gestionar información objetiva y visible sobre las pruebas ejecutadas y los riesgos asociados en cada liberación para ayudar en la toma de decisiones a la hora de liberar. Es fundamental dar visibilidad no solo al equipo sino también a áreas y stakeholders fuera del mismo.

5. Soporte de Funcionalidades

Muchas de las responsabilidades en este punto están relacionadas con la relevación de bugs/issues reportados por usuarios o problemas que puedan surgir en producción. En este sentido, las tareas son en muchos casos las mismas que a la hora de relevar requerimientos, pero con especial énfasis en intentar entender lo que el usuario reporta. A su vez, con foco en tratar de reproducir el escenario para brindar más información al equipo de desarrollo para solucionar el problema.

Además, es importante ayudar a categorizar y priorizar adecuadamente el issue reportado según se trate de un bug, una nueva feature pedida, o simplemente una decisión de diseño de la aplicación que no requiere cambio alguno.

6. Cierre del Proyecto o salida del mismo

Principalmente, es necesario que el producto quede en un estado que se pueda continuar en el futuro ya sea por el mismo equipo o por otro equipo. Inclusive puede involucrar la propia transferencia de conocimiento a otro equipo. Es importante también transparentar el trabajo logrado y dar una clara perspectiva de la calidad del producto.


¿Te resultó útil este artículo para comprender cuál es el trabajo de un tester de software? Si tienes alguna pregunta, ¡no dudes en contactarnos!

Abstracta es una de las empresas más confiables en ingeniería de calidad de software. Somos un partner de calidad. Este año, Clutch nos posiciona en puesto N°1 de las mejores empresas de testing de software, y en el Top 15 de Empresas Líderes de Servicios B2B en Chile para 2022. Contáctanos y conversemos sobre cómo podemos ayudarte a hacer crecer tu negocio.


Otros contenidos relacionados

¿Cuándo es necesario contratar un Tester de Software?

Federico Toledo a fondo: “Cada vez van a ser necesarios más y mejores testers”

El rol de un Quality Engineer en el Desarrollo de Software

124 / 166