
Hoy nuestras vidas giran en torno a muchas aplicaciones y programas. Ya sea Spotify o un CRM de ventas, los software son algo tan cotidiano que jamás nos cuestionamos su uso… hasta que presentan un error.
Se cree que los programadores son quienes aseguran la calidad del software. Después de todo, ellos escribieron el código ¿no?
Como todo lo creado por humanos, incluso los mejores programas pueden tener errores. Y la persona encargada de detectarlos y evitarlos no es el programador, sino el tester.
Si te relacionas con el mundo de la programación, probablemente hayas escuchado sobre el testing de software, pero ¿sabes realmente de qué trata?
Analista QA, software tester, ingeniero(a) de calidad… o simplemente tester. Este rol tiene muchos nombres, pero su misión es bastante clara: que el producto final funcione correctamente y cumpla con los estándares de calidad definidos. ¿Cómo? Gracias a la ejecución de distintas pruebas según el software.
Estas pruebas se pueden ejecutar de manera manual (funcional) o automatizada… y aquí es donde entra el tester automator, un perfil con una alta demanda en el mercado y del que hablaremos en un próximo artículo.
En la automatización de pruebas, un robot evalúa el software según ciertos patrones ya determinados en un script. Aquí el rol de un tester es diseñar el script y darle instrucciones al robot para probar el correcto funcionamiento del software. El objetivo es detectar errores (o “bugs”), reportarlos y descubrir por qué ocurrieron.
La idea es que los usuarios finales de un sitio web o aplicación móvil, se encuentren con la menor cantidad de errores posibles y su experiencia sea la mejor. Dicho de otra forma, que el botón de “Agregar al carrito” efectivamente añada tu producto al carrito, en la cantidad y variedad que hayas escogido.
Ahora ¿por qué emplear la automatización de pruebas? Sobre esto podríamos hacer otro artículo completo, pero, en pocas palabras, el testing automatizado entrega mayor rapidez y seguridad al momento de evaluar el sistema o producto digital.
Hoy, debido a la digitalización, es más importante que nunca contar con un software a prueba de balas. O, mejor dicho de bugs.
El primer error informático se reportó en 1947. Una polilla (muy grande, por cierto) había quedado atrapada en un relé del Mark II, un computador electromecánico de la Universidad de Harvard.
Grace Hopper, científica en computación y militar estadounidense que trabajaba en Harvard, encontró el error y lo reportó en su bitácora como “Primer caso real de bicho encontrado” (“First actual case of bug being found”). También sumó instrucciones para depurar el problema (debugging).
Desde entonces, a los errores o problemas encontrados en un software se les conoce como bugs.
Este hecho marcó el punto de partida para el testing y quienes se dedicarían a él.
Un o una tester no solo se ocupa de encontrar errores y “romper el software”. Su trabajo es mucho más amplio y significativo de lo que parece: el testing de software se trata, finalmente, de generar confianza en el producto y la marca.
Por eso, cuando hablamos de que un software mantenga estándares de calidad, nos referimos a que cumpla con: facilidad de uso, estándares de accesibilidad, rendimiento requerido para soportar cargas máximas de usuarios, entre otros aspectos.
Para ello, un tester debe estar empapado de la cultura y los objetivos de la empresa. Además, al centrarse en la solución de errores, también está aportando a la agilidad de los procesos y optimización de los mismos.
No creas que para ser tester es necesario ser experto en programación. Si bien debes tener nociones de código y comprender cómo funciona, finalmente no serás tú el que lo escriba o corrija.
Sobre todo para la automatización de pruebas, como tester, tu rol será el de guiar al robot por las rutas y caminos adecuados, comprobando que cada elemento responda a su función y esté en su lugar.
Más que grandes conocimientos técnicos, este rol requiere mucha minuciosidad, disciplina y organización para ejecutar las pruebas. Ser detallista y tener un “ojo agudo” para detectar los posibles errores es clave.
Además de estas cualidades, la curiosidad es fundamental. Un tester debe ir proponiendo puntos de mejora y preguntarse constantemente: ¿qué pasaría si falla esto? ¿qué sucedería si…?
Más allá de reportar errores, el gran aporte de un tester también se encuentra en su capacidad de “pensar fuera de la caja” y tener empatía con el usuario final, entiendo que el software puede mejorar su calidad de vida. Esto es lo que aportará valor al negocio.
En resumen, un buen tester de software evitará la mayor cantidad posible de errores, lo que mejora la experiencia y aumenta la confianza en el software. Las aplicaciones nunca serán perfectas, pero sí pueden ser cada vez mejores.
¿Te gustaría sabes más sobre el día a día de un tester? ¡Te invitamos a leer el post de Abstracta Chile!
En el post encontrarás todas las preguntas y respuestas realizadas en el webinar «La Ruta hacia el Test Automation» 👨🏻💻