El mundo del desarrollo de software tiene un hito bastante importante que es la entrega de software con alta calidad, no solo previene errores durante el proceso de desarrollo, sino que también minimiza problemas futuros. Sin embargo, para que la calidad del software alcanzara la relevancia que tiene hoy, tuvieron que suceder una serie de eventos históricos importantes.
Hecho histórico relevante para la implementación de la calidad de software
Uno de estos eventos y el que inició a darle la importancia necesaria a la calidad, fue cuando se comenzó a implementar el software en el armamento en la guerra de las Malvinas en 1982 entre Inglaterra y Argentina cuando un misil tierra-aire destinado a derribar aviones salió de un destructor. El misil persiguió al avión guiado por el calor de sus motores, pero debido a una falla en el software embebido en el circuito integrado del misil, este confundió a su tobera de salida como la fuente con más calor, regresando al barco de dónde había sido lanzado provocando daños importantes.
El departamento de defensa de los Estados Unidos tomó la siguiente decisión basándose en diferentes sucesos: “debido a la utilización cada vez más intensiva del software en el armamento, si no está bien diseñado, construido y probado, nuestras armas pueden actuar en nuestra contra, es imprescindible contar con un método de trabajo que garantice una alta calidad de los productos de software, ya sea embebido en circuitos integrados o corriendo en algún hardware”.
Esto hizo que organismos hicieran y publicaran estándares y normas de calidad, con el fin de que hoy en día las empresas logren productos de software con alta calidad, actualmente contar con el área de pruebas dentro de los proyectos es indispensable, debido a la demanda y exigencia de los clientes y usuarios.
Evolución en las herramientas
Las pruebas de software han experimentado una notable evolución en la última década. Hace unos diez años, las herramientas predominantes para diseñar, ejecutar, controlar y monitorear las pruebas eran Excel y Word. Estas aplicaciones se utilizan extensamente para generar reportes automáticos e intuitivos que cubrían todo el ciclo de vida de las pruebas de software. Estos reportes, elaborados manualmente por el equipo de calidad y pruebas de software, ofrecían una visión detallada y de alto nivel sobre la cobertura, eficacia y calidad del software evaluado.
La función de los Testers ha evolucionado significativamente. De ser responsables únicamente de probar el software, ahora se han convertido en analistas de calidad.
Sus responsabilidades incluyen la creación de planes y estrategias de prueba, el análisis y mejora de procesos de calidad, la evaluación de riesgos, la estimación de tiempos y esfuerzos necesarios para las pruebas, y la implementación de acciones correctivas en caso de detectar riesgos. Además, apoyan en la adopción de metodologías de calidad y garantizan que el producto final cumpla con los estándares esperados por el cliente.
Con los avances tecnológicos de los últimos años, la automatización ha sido introducida en los procesos de calidad, transformando tareas manuales en automáticas con la ayuda de robots. Esto incluye pruebas de rendimiento, seguridad y usabilidad, aumentando así la confiabilidad y calidad del producto. Esta transformación ha llevado a que los analistas de calidad se conviertan en especialistas o ingenieros de calidad, integrándose más estrechamente con los equipos de desarrollo y adoptando metodologías ágiles.
¿La IA acabará con el rol del analista de calidad?
Siendo el miedo de muchos profesionales el cuestionarse si la IA algún día podrá reemplazar a el humano, quizás esta tenga la capacidad de ejecutar una tarea específica y automatizar muchas tareas en diferentes ámbitos, pero esto no quiere decir que le quitará el puesto de trabajo a una persona, ya que realmente el rol que pasaremos a tomar es el de analista en la realidad impulsada por la IA, no solo como usuarios sino como intérpretes esenciales, supervisores y directores de la tecnología de IA, aprovechándose en la optimización de procesos y tomas de decisiones.
Los analistas seguirán siendo bastante importantes en el ciclo del desarrollo ya que se necesita de creatividad y juicio que quizás la IA no pueda replicar, entender los contextos y los objetivos del negocio, la interacción directa con los usuarios para digerir de manera asertiva las necesidades y expectativas, entre otros muchos factores, por tal motivo no podemos ver a la IA como algo malo o como una competencia, sino como una herramienta para mejorar procesos trabajando en conjunto con el analista que aporta percepción e intuición para la mejora continua.
La inteligencia artificial (IA) es la tendencia tecnológica actual y su impacto en el área de calidad es significativo. Las herramientas de pruebas automatizadas y de rendimiento están incorporando IA para aprender de las pruebas ejecutadas y adaptarse a cambios en el desarrollo, evitando fallos. La IA también promete mejorar la integración continua de pruebas con el desarrollo, facilitando la automatización incluso para personas con menos conocimientos técnicos.
Algunas herramientas de IA para calidad
Applitools Eyes: Applitools Eyes utiliza IA para ayudar a los equipos a enviar rápidamente aplicaciones de alta calidad en cualquier navegador o dispositivo al replicar el "ojo humano" y detectar automáticamente errores y defectos con cada lanzamiento.
Testim.io: para crear pruebas funcionales y de extremo a extremo que cubran diferentes escenarios de uso de tu aplicación, como el proceso de compra en un sitio de comercio electrónico.
Mabl: mabl brinda la mejor experiencia de código bajo a usuarios comerciales y no técnicos, al mismo tiempo que brinda flexibilidad total de código para desarrolladores junto con asistencia de IA para escenarios complejos y validación de intenciones de aplicaciones impulsadas por IA.
Otra tendencia emergente es la oferta de servicios de calidad por demanda, un modelo que algunas empresas están adoptando para reducir costos mientras aseguran la calidad del software. Además, el enfoque DevOps ha sido crucial, proporcionando automatización para procesos repetitivos y mejorando la integración continua, la administración de la infraestructura y el seguimiento. El área de calidad se está adaptando a DevOps, implementando diversas pruebas en un mismo proyecto.
Conclusión:
El futuro de la calidad del software se está convirtiendo en un campo en constante evolución en el que la inteligencia artificial y la automatización juegan un papel cada vez más importante, pero siempre bajo la guía y supervisión de personas creativas formadas que aplican su intuición.
Adaptarse a estas tendencias y utilizar nuevas herramientas y métodos será la clave para mantener y mejorar los estándares de calidad en el desarrollo de software.
Comments