17 May
17May

Si alguna vez has usado una aplicación, un software o un sitio web y te has encontrado con un error, probablemente sabes lo frustrante que puede ser. Ahora, imagina si ese error te impide completar una tarea crucial o, peor aún, causa una pérdida de datos o de dinero. Aquí es donde entra en juego el Software Testing, una disciplina crítica en el mundo de la tecnología que busca prevenir exactamente este tipo de problemas.

¿Qué es el Software Testing?

El Software Testing es el proceso de evaluar un sistema o sus componentes con el objetivo de encontrar si cumple con los requisitos especificados. Es decir, se encarga de verificar y validar que el software funcione correctamente, que haga lo que se supone que debe hacer, y que no haga lo que no se supone que debe hacer.Este proceso abarca diferentes tipos de pruebas, desde pruebas de funcionalidad y usabilidad, hasta pruebas de seguridad y rendimiento. Cada una de estas pruebas tiene un propósito específico y ayuda a garantizar que el software sea robusto, seguro y fácil de usar.

¿Qué hace un Tester?

Un Tester, también conocido como Ingeniero de Pruebas o QA (Quality Assurance), es el profesional encargado de llevar a cabo el proceso de Software Testing. Sus tareas pueden variar dependiendo del tipo de pruebas que realice, pero en general, sus responsabilidades incluyen:

  1. Diseño de pruebas: Los testers crean planes y casos de pruebas que definen qué aspectos del software se van a probar y cómo se realizarán esas pruebas.
  2. Ejecución de pruebas: Los testers llevan a cabo las pruebas siguiendo los casos de pruebas que han diseñado. Esto puede implicar interactuar con el software de la misma manera que lo haría un usuario final, o utilizar herramientas y scripts para realizar pruebas automatizadas.
  3. Registro de resultados: Los testers documentan los resultados de las pruebas, incluyendo cualquier defecto o error que encuentren.
  4. Reporte de errores: Cuando un tester encuentra un error, lo registra en un sistema de seguimiento de errores y se comunica con el equipo de desarrollo para que puedan corregirlo.
  5. Verificación de las correcciones: Una vez que los errores han sido corregidos, el tester verifica que las correcciones realmente solucionen el problema.

El rol de un Tester es esencial en cualquier equipo de desarrollo de software. Al detectar y ayudar a corregir los errores antes de que el software llegue a los usuarios finales, los testers contribuyen a mejorar la calidad del software y a garantizar una experiencia de usuario positiva.

Ejemplo de una actividad típica en Software Testing

Para hacer esto un poco más concreto, veamos un ejemplo de cómo podría ser una prueba en un sistema conocido, como Instagram. 

Supongamos que se ha introducido una nueva función que permite a los usuarios compartir una foto en sus historias directamente desde su galería.

El tester podría diseñar un caso de prueba que incluya los siguientes pasos: abrir la galería dentro de la aplicación de Instagram, seleccionar una foto, hacer clic en el botón "compartir en la historia", añadir texto o stickers si se desea, y finalmente publicar la historia. 

Después, el tester verificaría que la historia se publicó correctamente y que la foto seleccionada aparece como se esperaba.

Si en algún punto del proceso se produce un error, como que la aplicación se cierre inesperadamente o que la foto no aparezca en la historia, el tester registraría este error, informaría al equipo de desarrollo, y luego verificaría la corrección una vez que el equipo haya solucionado el problema.

Así que, la próxima vez que utilices una aplicación o un software y todo funcione a la perfección, recuerda que probablemente haya un Tester detrás de ello, trabajando duro para asegurarse de que tu experiencia sea la mejor posible.