El ‘tester’ del futuro

Publicado el 19 Nov 2012

70665_55

Autor: José Urbano, responsable de Pruebas Técnicas en MTP

La proliferación de dispositivos móviles, desde los que cada día se descargan millones de apps, el cloud computing, con todas sus ventajas para la informática corporativa, o la creciente complejidad de las aplicaciones, integrando componentes de distintas tecnologías y proveedores, son solo algunos ejemplos de cómo cambia, casi a diario, el entorno tecnológico.

Con este panorama, los desarrolladores se están viendo obligados a modificar su forma de trabajo. El testing, como cualquier otra actividad de desarrollo e implantación de los sistemas de información, tiene también que adecuar sus herramientas, metodologías y tecnologías con el fin de poder asumir y dar respuesta las nuevas características y necesidades del mercado. Y como consecuencia, los ingenieros de pruebas deben afrontar una serie de desafíos y cumplir una serie de requisitos para no quedarse atrás. En este punto, ¿Cuáles son las características del tester del futuro? ¿Qué conocimientos debe tener para poder desarrollar su labor de forma apropiada?

1. Más cercanos al desarrollo

La implantación de metodologías Agile aproxima a los equipos de desarrollo y de pruebas. Hacen que trabajen juntos con el fin de lograr una mayor calidad en el producto:

• Los equipos de pruebas participan en las reuniones junto con los integrantes del equipo de desarrollo y aportan información para completar los requisitos.
• Los equipos de desarrollo se convierten en los primeros testers de la aplicación. Codifican y diseñan casos de prueba (unitarios y de integración) a partir de la información obtenida de los testers.

El entorno de desarrollo Eclipse ha tomado gran importancia por la posibilidad de integración con otras herramientas de pruebas y su flexibilidad para adaptarse a los nuevos entornos, como Android.

2. Más técnicos.

El tester del futuro tendrá un alto nivel de conocimientos técnicos:

• Debido a la complejidad de las arquitecturas involucradas, el ingeniero de pruebas no solo conocerá en profundidad la funcionalidad de la aplicación y la lógica del negocio, sino que también tendrá un conocimiento a bajo nivel sobre el funcionamiento de la aplicación, los módulos que la conforman, como se integran entre ellos y la tecnología de la que hacen uso.
• Tendrá mayores conocimientos de programación (JAVA, PERL, etc..) que utilizará para desarrollar módulos de pruebas, simuladores o scripts de automatización.

3.Más conocimientos en herramientas Open Source

Las herramientas de pruebas seguirán siendo necesarias, pero actualmente existe un desplazamiento hacia el uso de herramientas Free u Open Source. Este tipo de herramientas aportan una gran flexibilidad para ser utilizadas en diferentes etapas de las pruebas y pueden ser complementadas con módulos desarrollados de manera específica. Algunas de estas herramientas:

Jmeter, SoapUI, JUnit: son herramientas que se utilizan de manera habitual en fases tempranas del desarrollo para pruebas unitarias, pero su uso se ha extendido a otras etapas del desarrollo de software, y ya son utilizadas de manera habitual por los ingenieros de pruebas.
Selenium y Robotium: son herramientas que permiten la automatización, pero con un componente técnico muy alto. Su integración con el entorno de desarrollo Eclipse las hace muy potentes.

4. Mayor flexibilidad

Hasta hace relativamente poco tiempo, los ingenieros de pruebas se encontraban claramente diferenciados por ámbitos, existiendo grupos de especialización encargados de las pruebas no funcionales o técnicas: rendimiento, prestaciones, seguridad…

Actualmente, la complejidad de las aplicaciones y su integración con distintas tecnologías hace que los ingenieros de pruebas lleven a cabo tanto las pruebas funcionales como las pruebas técnicas.

5. Mayor Automatización de pruebas

Actualmente nos encontramos en una situación caracterizada por:

Time-to-market corto: Los tiempos disponibles para implantar evolutivos de las aplicaciones son cada vez más cortos debido principalmente a que las empresas deben dar respuestas rápidas y alineadas con las campañas de marketing.
• Las aplicaciones deben estar soportadas en multitud de Sistemas Operativos (Windows, Android, iOS,…), plataformas (IE, Firefox, Chrome, …) y dispositivos(smartphone o tablets).

Con esta realidad, el tiempo destinado al testing se reduce drásticamente y hay que recurrir a la automatización, que aumenta la eficiencia de los ingenieros de pruebas y que se convierte en una cualidad necesaria en ellos. El tester deberá tener la capacidad para encargarse de todos los pasos del proceso de automatización -planificación, diseño, construcción y ejecución con diferentes herramientas con el fin de cubrir las diferentes tecnologías implicadas en las diferentes etapas del desarrollo: pruebas unitarias, de integración, de sistema…

Las cualidades anteriores son las más importantes, pero no las únicas que deberán encontrarse en un ingeniero de pruebas de software en el futuro más cercano. De todas formas, esta figura siempre ha demostrado una gran capacidad de adaptación al cambio y ahora se le presenta una nueva oportunidad para demostrarlo.

¿Qué te ha parecido este artículo?

Tu opinión es importante para nosotros.

Redacción

Artículos relacionados

Artículo 1 de 5