Para celebrar el Día Internacional del Software Tester de este año, hemos tenido el placer de entrevistar a nuestra Claire McCrae, Directora de Software Testing en Connex.
Con seis años de experiencia práctica en pruebas para productos de experiencia del cliente (CX), el recorrido de Claire en el ámbito del software testing le ha proporcionado una visión única de las complejidades de garantizar la calidad del software.
Únase a nosotros para hablar de la trayectoria profesional de Claire, su enfoque para abordar los desafíos únicos del testing de CX y AI, y sus pensamientos sobre el futuro del testing.
¿Podrías describirnos su función como Directora de Software Testing en ConnexAI y las responsabilidades que suele asumir tu equipo en el proceso de desarrollo de software?
Claire: En mi puesto en Connex, superviso las actividades diarias de nuestro departamento de pruebas, además de dar forma a la dirección del equipo y a la estrategia general de pruebas de la empresa.
Nuestro equipo se centra principalmente en testear los tickets de los proyectos que se nos asignan, pero también nos aseguramos de llevar a cabo sesiones de pruebas de regresión a menudo, ya que periódicamente lanzamos actualizaciones de software, correcciones y nuevas características para nuestros clientes.
Cuando tenemos nuevas funciones en proyecto, nos esforzamos por planificarlas con antelación mediante la creación de casos de prueba basados en la información disponible, que pueden ser documentos de diseño, documentación técnica o conversaciones con los propietarios de los productos. Esta preparación nos permite testear rápidamente y con precisión en cuanto una función está disponible en nuestro primer entorno de pruebas.
Además de participar activamente en los procedimientos de testing , también dirijo el equipo, lo que incluye las tareas de gestión habituales, como delegar tareas en los miembros del equipo, gestionar la plantilla y ayudar a establecer prioridades cuando surgen disputas. También participo en la elaboración de estrategias para nuestro equipo de desarrollo de productos, la planificación de futuros proyectos, la comunicación con las partes interesadas y la participación en los esfuerzos de contratación de Connex.
¿Qué te inspiró a dedicarte al testing de software?
La mayor parte de mi carrera se ha basado en el servicio al cliente, empezando en la hostelería y pasando después a trabajar en un call center en una empresa anterior. Con el tiempo llegué a ser agente superior de atención al cliente, pero me di cuenta de que a partir de cierto punto el margen para seguir aprendiendo era limitado.
Ya tenía la mentalidad de buscar oportunidades de aprendizaje continuo cuando algunos amigos de la parte de ingeniería de mi equipo me sugirieron que solicitara un puesto de ingeniero de pruebas. Les pareció que yo encajaría bien, puesto que ya tenía experiencia en pruebas con usuarios, una actitud positiva y una fuerte ética de trabajo, etcétera.
Tras investigar el puesto y darme cuenta de que coincidía con mi gusto por ayudar a los clientes y evitar que se produjeran problemas, en lugar de tratar con ellos a posteriori, hice la entrevista y me contrataron en menos de una hora.
¿Puede contarnos sobre su viaje de carrera y como se convirtió en un Gerente de Prueba de Software?
Después de comenzar mi viaje como un Ingeniero de Testing Junior, entonces trabajé mi camino hasta un Ingeniero de Test de Nivel 3. Desde allí rápidamente llegué a mi propia posición. A partir de ahí, rápidamente empecé a trabajar por mi cuenta cuando me dieron acceso a ciertas áreas como bases de datos, registros, métricas y otros servicios en AWS como EC2 y ELB, etc. Con esta perspectiva, pude aprender sobre observabilidad y comprender mucho mejor la infraestructura que hay detrás de los procesos técnicos.
Por el camino, asumí varias funciones y proyectos que me apasionaban, como profundizar en las pruebas de automatización y convertirme en defensor de las pruebas de accesibilidad dentro de un gremio en mi anterior empresa. También tuve el privilegio de ser mentor de un aprendiz de pruebas que aprobó con sobresaliente.
Cuando decidí unirme a Connex, asumí el papel de Directora de Testing, supervisando inicialmente un equipo de dos personas que ahora ha crecido significativamente.
El departamento de testing es en realidad un equipo mayoritariamente femenino, lo que supone un cambio agradable con respecto a la «norma» de los equipos mayoritariamente masculinos en el espacio tecnológico, pero se ha producido de forma muy natural. También he podido enorgullecerme de ayudar a personas a reincorporarse al trabajo después de un paréntesis y de guiar a quienes no tenían experiencia previa hacia carreras de éxito en el ámbito de las pruebas.
Su equipo trabaja en software de experiencia del cliente (CX) e inteligencia artificial (AI).
¿De qué manera estos dominios presentan desafíos únicos para las pruebas de software y qué estrategias emplean para abordar estos desafíos de manera efectiva?
Las pruebas de experiencia del cliente son siempre un reto porque hay que pensar lo mejor posible “¿qué haría un ser humano? Habrá una parte de un sistema que se haya construido de una determinada manera, por lo que, en teoría, debería utilizarse de esa manera, pero eso no es lo que suelen hacer los clientes, y ahí es donde nosotros, como probadores, tenemos que pensar varios pasos por delante para tener en cuenta su comportamiento.
Muchas veces, en los procesos de los clientes, hay que «salvarlos de sí mismos». Así que si no quieres que lo utilicen de una determinada manera, no se lo permitas. Si hacen algo mal, dales un mensaje de error claro y utiliza una terminología amigable que les indique cómo corregirlo. Cualquier espacio para insertar el autoservicio es una gran victoria tanto para el proveedor como para el consumidor.
Por otro lado, las pruebas de IA son harina de otro costal. A menudo hay que renunciar a los conocimientos tradicionales adquiridos en las pruebas de CX y sumergirse a fondo en la investigación de la IA. Comprender cómo se construyen los sistemas de IA y cómo se supone que deben funcionar es lo más importante para poder probarlos.
Las habilidades que hemos podido utilizar de nuestros proyectos de CX en ConnexAI son sobre todo en el lado del análisis del habla, donde los clientes tienen diferentes formas de hablar, como acentos, frases o velocidades, que el software de IA necesita ser capaz de interpretar correctamente. A la hora de probar estos procesos, creo que uno de los principales retos puede ser la calidad o la disponibilidad de los datos, por lo que trabajamos en estrecha colaboración con nuestros equipos de Data Science y Annotation para ayudarnos a evitar y resolver estos problemas.
En su opinión, ¿cuáles son las principales contribuciones de los evaluadores de software al proceso de desarrollo y a la calidad general de los productos informáticos?
Los evaluadores de software desempeñan un papel crucial en varias fases del proceso de desarrollo.
Durante la fase inicial de diseño, aportamos una perspectiva imparcial del usuario, ayudando al equipo a entender cómo podrían interactuar los usuarios con el software. En la fase de perfeccionamiento, introducimos escenarios de «qué pasaría si», realizando análisis basados en riesgos para identificar posibles problemas. Estas contribuciones tienen un valor incalculable, ya que se producen antes de que se escriba ningún código, lo que garantiza que todo el equipo comparta un entendimiento común.
Los testers sirven a menudo de puente entre el usuario y la empresa, sobre todo después de la fase de diseño. También actuamos como intermediarios entre los desarrolladores y los Product Owners (PO).
Además de testear el software cuando está listo, proporcionamos comentarios en forma de evaluaciones de aprobado/no aprobado y observaciones para dar una mejor idea de lo que debe abordarse.
Siempre que es posible, apoyamos nuestros comentarios con hechos y métricas para que todos puedan aprender de los datos, como el número de fallos, su prioridad, los índices de aceptación y los tipos de fallos encontrados.
¿En qué herramientas, metodologías o buenas prácticas se basa su equipo para garantizar la calidad y fiabilidad del software que desarrolláis?
Utilizamos una mezcla de herramientas para asegurarnos de que las pruebas de nuestro producto son de primera categoría. Jira es nuestra herramienta de referencia para gestionar los tickets del proyecto y mantenerlo todo organizado. Cuando se trata de probar APIs, dependemos de Postman, que realmente ayuda a simplificar el proceso.
Para las tareas de base de datos utilizamos DataGrip y cuando necesitamos acceder a sistemas remotos a través de SSH, utilizamos PuTTY y Terminal. Para documentar nuestras pruebas específicas, Confluence resulta muy útil. Y para asegurarnos de que nuestro software funciona bien en distintos navegadores y dispositivos, recurrimos a Browserstack para realizar pruebas de compatibilidad exhaustivas.
De cara al futuro, ¿cómo crees que evolucionará el papel de las pruebas de software en los próximos años, sobre todo a la luz de tecnologías emergentes como la IA, el aprendizaje automático y la automatización?
En el futuro, veo que el papel del testing de software seguirá desplazándose hacia la izquierda en el ciclo de vida de desarrollo de software, que es donde personalmente creo que ya debería estar, pero muchas empresas todavía se están quedando atrás.
Para todos los equipos de desarrollo de software, el objetivo es obtener feedback lo antes posible, lo que suele ocurrir incluso antes de escribir el código. Adoptar el fracaso como una oportunidad de aprendizaje será cada vez más importante, y los equipos deben tratar de fracasar rápido para que las lecciones puedan aprenderse y abordarse rápidamente.
También creo que la automatización seguirá siendo un enfoque significativo, pero creo que es crucial invertir en la formación interna y el desarrollo de probadores que puedan sentar las bases para las pruebas de automatización. Esto permite a los probadores utilizar su experiencia en pruebas de interfaz de usuario y fomentar la colaboración con los desarrolladores para responder a cualquier consulta, que es algo que puede pasarse por alto cuando las empresas traen ingenieros de automatización que carecen de experiencia y conocimientos de interfaz de usuario.
En cuanto a la IA y el aprendizaje automático, las pruebas especializadas en estas áreas crecerán en importancia. Los evaluadores tendrán que comprender en profundidad cómo se construyen los sistemas de IA y cómo se pretende que se comporten. Las pruebas de IA requerirán que los evaluadores exploren varios escenarios de análisis de voz y comprendan diferentes formas de interactuar con los sistemas de IA.
¿Qué áreas de las pruebas le interesan más y qué avances le gustaría ver en los próximos años?
Para mí, el testing de accesibilidad son muy importantes. Debería implantarse universalmente y las empresas deberían prestarle más atención. No sólo es lo correcto para los demás y sigue las mejores prácticas de diseño, sino que también abre las puertas a otros mercados, lo que se traduce en más oportunidades.
Por supuesto, la automatización sigue siendo un tema de gran interés. Todo el mundo habla de ella y la quiere para su negocio, pero muchas empresas no están dispuestas a dedicar el tiempo y los recursos necesarios para hacerlo correctamente, de modo que pueda construirse de la forma adecuada desde el principio. Desde mi punto de vista, es esencial construir marcos de automatización que sean fáciles de implementar, mantener y que requieran unas habilidades de codificación mínimas. También creo que es fundamental ayudar a los ingenieros de automatización a comprender en profundidad las pruebas de interfaz de usuario.
La observabilidad también es otro aspecto que me interesa. Proporcionar a los testers acceso a herramientas que mejoren la observabilidad nos permite identificar los problemas con mayor eficacia. Cuanto mejor podamos observar y analizar los sistemas, más probabilidades tendremos de detectar y notificar los problemas.
¿Cree que hay áreas de las pruebas que el sector infravalora o pasa por alto?
Las pruebas de accesibilidad, como ya he dicho, suelen infravalorarse y pasarse por alto. Otro ámbito que merece más atención es el de las pruebas exploratorias, que imitan la libertad y las opciones personales del usuario final cuando navega por un sistema. Se trata de una técnica de prueba esencial, pero siempre debe estar limitada en el tiempo y ser específica para maximizar su impacto.
Por último, a título personal, ¿qué es lo que encuentra más gratificante de su función como responsable de software testing en Connex?
El aspecto más gratificante de mi papel como Gerente de Pruebas de Software es ser testigo del crecimiento de mi equipo. Verlos adquirir nuevas habilidades y tomar la iniciativa en proyectos que antes no podían manejar es increíble.
En el Día Internacional de las Pruebas de Software de este año, Connex quiere agradecer a Claire y a todo el equipo de pruebas sus increíbles contribuciones al desarrollo de nuestra plataforma CX y su impacto positivo en toda nuestra organización.
Para obtener más información sobre el trabajo en ConnexAI o para solicitar unirse a nuestro brillante equipo, consulte nuestro Centro de empleo para ver las últimas vacantes y enviar su CV para su consideración.