Es difícil por no decir imposible adivinar el futuro, pero en este post te dejo algunas ideas o tendencias que más se están escuchando en el mundillo del testing, puede que no todas obviamente, ya que he omitido varias por el hecho de estar aún demasiado verdes o simplemente por ser una copia pomposa de algo que ya existe.
Tampoco es una definición o tutorial de cómo usarlas, solo vamos a hablar un poco de las que más peso tienen actualmente en mi humilde opinión y por lo que se escucha en las distintas comunidades. Como digo, no sabemos si son muy acertadas o si simplemente pasaran de largo absorbido por otras que ya existen actualmente, pero os lo dejo a vuestro criterio.
En este post no entraremos en el detalle de muchas de ellas, algunas más que otra o incluso de pasada, ya que podrían dar cada una para un artículo independiente, lo que sí nos centraremos será en las pruebas funcionales automáticas enfocadas en dispositivos móviles, aunque hablaremos de todo un poco de lo que se mueve ahí fuera.
A continuación, se enumerarán los distintos puntos, decir que el orden de ellos no afecta absolutamente en nada, algunos de los apartados son metodologías y otros una forma de trabajar, por lo que no es una lista ordenada de nada específico solo lo podremos así para darles un orden.
1. QAOps
Empezamos hablando de una metodología, tras el existo de DevOps en la comunidad de testing ha surgido la necesidad de crear QAOps, esta metodología toma las ideas centrales de las pruebas continuas en DevOps como CI/CD, aunque ya la estemos usando y cada vez tenga más peso, está cogiendo fuerza en las empresas. QAOps pisa fuerte incorporando la calidad en el núcleo del proceso de entrega en vez de centrarse en el equipo de desarrollo como la anterior, la principal gran diferencia y beneficio de esta nueva metodología emergente es garantizar que la calidad del producto se mantenga desde los inicios con un nivel muy alto y de manera continua sin comprometer la velocidad de entrega.
2. Inteligencia Artificial
La IA está a la vanguardia de las tecnologías más cotizadas hoy en día y nada más lejos de la realidad, pero el error es imaginarla como una película de un futuro lejano, como he mencionado antes, no vamos a entrar en el detalle de todo lo que conlleva la inteligencia artificial o el MachineLearning, etc. pero cada día vemos que esta tecnología se le está dando distintos usos que no sabíamos que podía darse, salen bots que imitan voces, suplantan streamers, incluso crean su propia música, sin comentar los famosos chatbot como ChatGPT.
Lo que pretenden este tipo de pruebas con inteligencia artificial es realizarlas de manera más sofisticadas y precisas. La automatización inteligente también puede ayudar a reducir los errores humanos y los tiempos de ciclo de prueba.
Sabemos que está de moda en las empresas hablar de todo lo que engloba la IA sobre todo por lo que puede dar de sí, pero ¿realmente tiene uso en la práctica? Obviamente sí, es de esas cosas que están un poco pendiente de pulir, pero es algo que ya llevamos utilizando desde hace tiempo y que es lo mismo que ya se usa a un nivel inferior para las pruebas automáticas, en las herramientas que usamos cada día para automatizar ya nos facilitan y ejecutan casos de pruebas por nosotros, pero aún no son capaces de decidir la cantidad de test, cuando ejecutarlas, corregir cambios de código, recopilar datos y aprender con el tiempo, estos son algunos de los cambios que la IA quiere solventar.
En este otro post podéis encontrar como usar una de estas herramientas con IA muy interesante:
Analizando la herramienta Mabl: Tests end-to-end con inteligencia artificial
3. Pruebas Basadas En La Nube
Una de las grandes ventajas de las pruebas en la nube obviamente es que nos ahorramos los costes de dispositivos físicos y la necesidad de estar actualizándolos tanto física como internamente en versiones necesarias para pruebas, existen algunas webs que brindan servicio de dispositivos incluso físicos y no solo emuladores. Este tipo de pruebas no suelen ser baratas, pero en proporción al coste de inicio, configuración, problemas de implementación, etc. es bastante asequible, por lo que muchas empresas están optando por esta opción para proyectos a largo plazo.
Algunos de los principales beneficios de este tipo de pruebas es la colaboración con equipos que es mucho más ágil, revisar errores más precisos dada la variedad de dispositivos, escalabilidad de desarrollo y además solo pagas por los recursos usados.
4. Pruebas De Microservicios
Ya sabemos que una arquitectura de Microservicios crea una aplicación como un conjunto de servicios, pero no por ello debemos centrar los esfuerzos en probar ese microservicio de forma aislada, sino también el conjunto que ellos forman y la comunicación que existe entre ellos.
Las pruebas de microservicios se están convirtiendo en una parte central de las canalizaciones de integración continua/entrega continua administradas por equipos modernos de DevOps/QAOps, al aislar los servicios, de esta forma podemos acotar mucho los errores facilitando la calidad del servicio sin interrumpir por completo el entorno.
5. Crowdtesting
Puede que conozcamos ya el Crowdfunding o el Crowdsourcing donde un conjunto de personas colaboran con un fin en común, las pruebas de multitudes son unas de las pruebas que más errores se pueden obtener, ya que solemos caer en la monotonía de las pruebas repetitivas y dar por hecho cosas a las que estamos habituados cuando nos pegamos un periodo largo de pruebas en una misma aplicación o entorno, este error lo solventamos gracias al Crowdtesting donde personas ajenas ponen a pruebas nuestra aplicación o entrono desde el punto de vista de un nuevo usuario, experimentado o no.
6. Codeless
La automatización de pruebas sin código está aumentando este año exponencialmente considerada el gran avance en las pruebas automatizadas, enfocada a los equipos Agile y DevOps/QAOps, la rapidez con la que se crean casos de pruebas es obviamente un punto fuerte de esta tecnología porque no precisa escribir ni una sola línea de código y se espera que para el 2025 gran parte de la industria utilice esta tecnología para crear sus aplicaciones, facilita la creación de casos de pruebas dada la baja curva de aprendizaje y la no necesidad de conocimientos técnicos hacen que esta forma de automatizar sea rápida y muy solicitada por los usuarios, se centra mucho en la innovación y en no realizar o repetir tareas cotidianas.
7. Testing Móvil
Hoy en día 5.320 millones de personas en todo el mundo usan un teléfono móvil, un 67% de la población mundial total, en España existen 3,2 dispositivos móviles conectados por persona. Pero fuera de números las pruebas para dispositivos móviles es un factor a tener en cuenta porque es algo que no va a desaparecer de la noche a la mañana, como en el capitulo de Black Mirror y el grano de arroz «The entire story of you», lo primero que hacemos tras levantarnos suele ser ver el móvil, y es que es algo que ya forma parte de nuestro día a día , dicho esto, enfocarse en las pruebas en dispositivos móviles es apostar al caballo ganador.
8. Automatización Biométrica
Uno de los factores de seguridad en dispositivos, incluso una especie de estándar es el acceso biométrico a nuestras aplicaciones, la mayoría de los dispositivos móviles actuales tienen sensores de hardware biométricos para autenticar la seguridad del propietario del dispositivo, pero ¿Cómo podemos probar esto?, aquí entra en juego la bioautenticación automatizada.
Si estáis trabajando con aplicación veréis, si no lo tenéis ya implementado, el doble factor a la hora de iniciar sesión un usuario, existen herramientas que ya son capaces de validar el acceso biométrico de emuladores como Appium, pero también se está avanzando en poder automatizar dispositivos físicos y es un activo con alto valor que podemos dar a nuestros proyectos dándole un alto nivel de calidad.
9. Pruebas de blockchain
Las pruebas de blockchain se encuentran entre las tendencias de prueba de software cada vez más populares debido al auge de la tecnología blockchain. El objetivo de las pruebas de blockchain es verificar la seguridad y confiabilidad del sistema de registro compartido que conecta diferentes bloques. Los bloques pueden contener diferentes aplicaciones de software con un nodo específico en un grupo. Además de la seguridad, las pruebas de blockchain también cubren la capacidad de carga y la escalabilidad de las bases de datos y los libros de contabilidad de blockchain.
10. Pruebas de ciberseguridad
Como no dar un apunte a las pruebas de ciberseguridad, ya sabemos permiten a las organizaciones proteger las aplicaciones/entornos de personas no deseadas y/o virus, mediante estas prueba las empresas pueden identificar las áreas susceptibles y evitar violaciones de seguridad. Las pruebas de ciberseguridad son un punto crítico en la seguridad a la hora de proteger y mantienen seguros los datos privados de las partes interesadas, los usuarios y otros involucrados y hay que tenerla muy presente en las pruebas. A estas pruebas no se les suele dar mucha importancia, pero cuando los hackers se les echan encima, ahí es cuando se llevan las manos a la cabeza y llegan las prisas por asegurar todo, mientras antes seamos conscientes de que los datos de los usuarios son lo más importante, menos problemas tendremos a futuro.
Conclusión
Esta lista no pretende ser la guía definitiva, nadie sabe que nos depara de aquí a un tiempo el camino a seguir en QA. Lo que si está claro que la calidad del software es un factor clave para el éxito de cualquier empresa que desarrolle software, por lo que es fundamental que los equipos de QA se mantengan al tanto de las tendencias actuales y futuras en el campo.
En mi opinión personal el camino a seguir va a seguir siendo la automatización de pruebas y la ciberseguridad enfocadas a pruebas de aplicaciones móviles, ya es parte de nuestras vidas, no hay nadie que no tenga un dispositivo móvil en sus manos y cada vez empezamos más jóvenes a usar estos dispositivos dejando de lado el uso de ordenadores personales.
Hay cosas de las que no se han hablado en este post como las Métricas de seguimiento, la automatización de RPA, el NLP, Shift-left Testing, IoT, el Testing centrado en el usuario y la lista sigue y sigue, pero como ya dije al principio esto sería inacabable. Con todo esto os dejo para que reflexionéis e intentéis por vosotros mismo adivinar el futuro que nos espera sabiendo esto de lo que hemos hablado en este post.
El futuro es nuestro por prepotencia de trabajo. Roberto Arlt.
<QA> <testing> <pruebas> <automatización> <tendencias> <trending> <IA> <QAOps> <nube> <microservicios> <bioautenticación> <blockchain> <ciberseguridad>