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.

0 Comentarios