Momento destacado de la comunidad: Ramona Schwering

Ramona Schwering es ingeniera de software y experta de Google Developers con experiencia en control de calidad.

En esta entrada, se destaca a un experto de la comunidad como parte de la serie de blog Automatización de pruebas.

Ramona Schwering.

Ramona Schwering es ingeniera de software con experiencia en control de calidad. También es experta de Google Developers en tecnologías web. A Ramona le apasiona la automatización de pruebas. Contribuyó en gran medida a la automatización de pruebas con sus iniciativas de educación pública, como hablar en conferencias, publicar artículos, contribuir en proyectos de código abierto y organizar reuniones.

Ramona Schwering en VueJS Amsterdam.

Jecelyn: ¿Cuál fue tu ruta hacia el desarrollo y las pruebas web?

Ramona: Mi camino hacia el desarrollo comenzó gracias a mi amor por el arte. En la secundaria, pasaba mucho tiempo dibujando y creando ilustraciones que quería publicar. Sin embargo, quería usar algo distinto de DeviantArt y Animexx, así que creé mi propio sitio web. Eso me llevó a aprender sobre desarrollo web. Más adelante, durante mi primer trabajo, desarrollé una pasión por la automatización de pruebas. Quería eliminar las tareas rutinarias de prueba para poder centrarme en aquellas que requerían creatividad y experiencia humanas.

Jecelyn: Hay muchas herramientas de automatización de pruebas. ¿Cómo se puede aprender a todos o saber cuál elegir?

Ramona: Es una muy buena pregunta. Lo primero es lo primero: aunque, sin dudas, es bueno experimentar con muchos frameworks de automatización, no sientas la presión de aprender cada uno de ellos. Comienza con la compilación de proyectos pequeños o escribe una primera prueba pequeña para ver si te gusta la experiencia y las peculiaridades de un framework. Puedes elegir una o dos que coincidan con tus requisitos y que sean de tu agrado. Prefiero probar y ver si me gusta la experiencia de los desarrolladores con un framework determinado. Intento averiguar si me parece impecable usarlo. Recuerda que las pruebas deben sentirse como un hábito, no tener que pensar que tienes espacio de cabeza. Y, por supuesto, depende del proyecto que compiles y sus requisitos.

Jecelyn: Las pruebas suelen retrasarse hasta el final del proceso, por ejemplo, "Oh, aún no tenemos tiempo para eso". ¿Qué piensas sobre eso?

Ramona: Escribir pruebas lleva tiempo sin dudas, en especial si decides usar desarrollo basado en pruebas. Sin embargo, creo que es un error común pensar que las pruebas consumen MUCHO tiempo: consideraría que es una inversión que tiene muchas ventajas: se obtienen comentarios anticipados y, por lo tanto, se pueden corregir errores antes, lo que genera costos más bajos de corrección de errores porque los errores no se acumulan y no será más costoso solucionarlos en una etapa posterior. Aparte de eso, cuanto más automatizas, menos necesitas realizar pruebas manualmente, pero igualmente obtienes una gran descripción general del estado de tu proyecto. Entonces, en mi opinión, en realidad es lo opuesto: las pruebas le ahorrarán tiempo y le darán confianza sin un esfuerzo constante.

Jecelyn: Cuéntame sobre la cultura de automatización de pruebas en tu empresa.

Ramona: En mi equipo actual, las pruebas se consideran una responsabilidad compartida, es decir, todos son propietarios. Implementamos un proceso llamado "Quality at Speed", que introdujo Atlassian originalmente. Este proceso garantiza que los verificadores solo actúen como red de seguridad y decidan si una solicitud de extracción requiere pruebas o no. Por lo tanto, los desarrolladores no pueden confiar en la idea de que el verificador se encargará de todo. En cambio, los desarrolladores y verificadores trabajan en conjunto con la ayuda de ingenieros de calidad que actúan como entrenadores y les enseñan a los desarrolladores a realizar las pruebas. Los desarrolladores escriben las pruebas necesarias para sus cambios y, si los ingenieros de calidad creen que es necesario, las complementarán más adelante. Este enfoque aumentó la empatía entre los desarrolladores y los ingenieros de calidad, y les permitió trabajar juntos mientras compartían la responsabilidad.

Jecelyn: Estás participando en muchas actividades de la comunidad, como hablar, escribir y contribuir al código abierto. ¿Cómo encuentras ese tiempo y un equilibrio?

Ramona: Tengo la suerte de que mi empleador apoye mis interacciones para hablar en público, lo que significa que no tengo que tomarme días libres para asistir a conferencias o preparar contenido para las charlas. Sin embargo, debo admitir que sigo usando parte de mi tiempo libre para el aprendizaje público. Para administrar mi tiempo de manera eficaz, adopté una estrategia de time-boxing en la que dedico, por ejemplo, dos horas al día, por ejemplo, a contribuir con proyectos de código abierto, escribir mis artículos o ensayar mis presentaciones. Es fundamental tomarse un descanso del día después de estas dos horas para tener suficiente tiempo de ocio. Aunque hay momentos en que este enfoque no funciona según lo planeado, en general, me ha ayudado a lograr un buen equilibrio entre mi trabajo, mi compromiso con la comunidad y mi vida personal sin descuidar ninguna tarea importante.

Jecelyn: ¿Hay algún consejo que te hubiera gustado haber escuchado antes de comenzar a trabajar en la automatización de pruebas?

Ramona: Es importante no ser demasiado sesgado hacia un marco de solución en particular y priorizarlo por sobre la resolución de los problemas reales. Nuestro objetivo final es proporcionar la mejor calidad y experiencia del usuario a nuestros usuarios, y cualquier framework puede ayudarnos a lograrlo. Por lo tanto, es mejor no participar en guerras de marcos. Al comienzo de tu carrera como prueba, te recomiendo que empieces por aprender los aspectos básicos de las pruebas y la automatización de pruebas, y que solo uses frameworks como herramientas cuando sea necesario.

Jecelyn: ¿Cómo logras mantenerte al día con la automatización de pruebas y el desarrollo web?

Ramona: Disfruto de las tendencias y las ideas innovadoras más recientes supervisando las fuentes de noticias y las redes sociales. Sin embargo, filtrar la información relevante puede ser difícil, por lo que me aseguro de seguir personas y fuentes confiables. También consolido mis fuentes usando funciones como las listas de Twitter y los favoritos. Esta es una de la lista de fuentes que seguí. Asistir a conferencias y reuniones es otra forma de mantenerme informado, ya que puedo aprender de las charlas y participar en conversaciones con otros asistentes.