El futuro de las pruebas de software

De hace diez años a ahora, las pruebas han evolucionado exponencialmente en base a las herramientas que se utilizan, la manera en que se aplican y la mentalidad de las empresas que cada vez las tienen más en cuenta.


Hemos pasado por utilizar Excel para hacer casuísticas, o planes de prueba, a utilizar herramientas de test management, también de estar en equipos independientes, a formar parte de los equipos de desarrollo, con las metodologías ágiles y sobre todo de ser uno de los pilares del ciclo de vida del cualquier producto. 

Ahora somos los que probamos el software, evaluamos posibles riesgos, ayudamos en la implantación y seguimiento de la metodología, de procesos y creamos estrategias de pruebas, también somos los perfiles que ayudamos a poner en producción cualquier producto con la garantía que quiere y necesita cualquier cliente.

Pero, en este año, la tecnología está llegando a su próximo límite y ello nos obliga a actualizarnos y a mirar de cerca todo esto.

En primer lugar, tenemos ya aquí, la inteligencia artificial. Es la nueva moda, lo que ahora está en boca de todos y es el futuro cercano de la tecnología, ¿Quién no tiene o ha pensado en comprarse un Echo con Alexa?

Si hablamos de pruebas, nos encontramos con herramientas que aprenden automáticamente de la cantidad de pruebas que realizamos y automatizamos, cuanto más tengamos, más aprende y más nos ayudan los algoritmos a que el producto esté probado y con garantía de subir a producción.
Una buena manera de utilizar la inteligencia artificial es no dejar que nuestras pruebas comiencen a fallar si en el desarrollo se cambia algún atributo, por ejemplo. Gracias a ella, podemos observar el directorio de atributos y la misma inteligencia artificial, lo cambiará y nuestras pruebas nunca dejarán de funcionar.

También podemos esperar que la integración de las pruebas con los ciclos de integración continua sea mejores, que personas no técnicas puedan automatizar o que las pruebas sean más sencillas y su mantenimiento también.

Otro punto clave de lo que puede llegar a ser QA, es utilizarla como servicio. En los últimos años, muchas empresas están utilizando este sistema para solventar problemas en sus productos y así garantizar todo su software de mejor manera. 

Tenemos un gran abanico de servicios como dispositivos móviles, redes, tester y máquinas virtuales que se pueden contratar como servicio y solventarnos algunos problemas de crecimiento de equipo, de cuello de botella y de tener grandes máquinas para mantener nuestras pruebas automatizadas. Ahora mismo, con este tipo de soluciones, nos encontramos con que eso ya no es problema, y se contratan bajo demanda y según las necesidades que se tengan. Siempre opto por que las empreas tengan sus propios equipos de QA y que trabajen mano a mano con todas las personas, pero a veces, si tenemos muchas cosas en paralelo, nunca viene mal tener un servicio de un tercero que nos proporcione una mano amiga para probar y garantizar todo como debemos.

A nivel colaborativo, podemos hablar de DevOps como el gran aporte de estos últimos años, asegurando automatizaciones, monitorización y una administración de la infraestructura mucho mejor y más segura. Lo que nos depara el futuro en este terreno es el trabajo con TDD para automatizar desde el inicio, también debemos de crecer a nivel de tareas en integración y despliegue continuo y que se alineen mucho más con los ciclos de vida del software.

Para que todo esto se cumpla, es necesario que los niveles de colaboración sean mayores, y que los entornos donde probamos estén estendarizador, permitiendo obtener unas pruebas realmente férreas y seguras, garantizando todo lo que tenemos encima de nuestro tejado. Si tratamos el tema de la colaboración, es imprescindible el que todas las personas que participen en el proyecto, tengan en la cabeza la palabra calidad y aseguramiento de la calidad, y generar una cultura que trate de unificar criterios, trabajar mucho más unidos y que tengamos en cuenta todos los ciclos de prueba para poner algo realmente bueno en producción, sin esta colaboración, todo lo que venga en el futuro no tendrá sentido.

Por otro lado, tenemos el “malogrado” internet de las cosas, donde no llega a cuajar o a aterrizar del todo, pero que, si se nos pone delante el caso, debemos de probar, al igual que cualquier aplicación. Para ello, es importante, que en un futuro contemos con unas baterías más férreas de pruebas de integración, comprobando que todas las casuísticas con todos estos aparatos, estén cubiertas y no falle nada entre ambos. Es una tecnología, que, aunque no está cuajando ahora mismo del todo, estoy seguro que en unos años, volverá con fuerza y cualquier aparato que podamos tener en casa, estará conectado y podremos interactuar con ella, así que, a corto o medio plazo, debería de ser un punto de control en cualquier organización y preparar a los equipos de QA es imprescindible para ello.

En todo este tiempo, los avances que se están teniendo en tecnología han influido y seguirán influyendo en la forma que tenemos de realizar pruebas y también, provocando que muchas empresas estén tomando estrategias diferenciadoras, utilizando, por ejemplo, robots de pruebas (que están monitorizados por personas de QA), pero que sin un orden y una visión hacía el futuro, cualquier organización le será muy complicado el estar en la cresta de la ola. 

Desde hoy, es imprescindible, que cualquier equipo de QA esté preparado para lo que está por llegar y comience a fortalecer pilares como la inteligencia artificial, la robótica, las pruebas de integración y el, de momento llamado, DevOps.
Siguiente Publicación

Comentarios