Arranca aquí la tercera parte de este ya extenso artículo sobre QA (Atrévete a conocer qué es QA: Introducción; y Atrévete a conocer qué es QA (II parte): más conceptos sobre el sotfware testing ), en la que vamos a ver una aproximación, algo nominativa, a lo que creo que QA ha de tener en cuenta en un futuro cercano.
Como parte del progreso tecnológico, las pruebas evolucionan continuamente para satisfacer las necesidades comerciales, a medida que adoptan nuevas herramientas que permiten al evaluador ampliar los límites de la garantía de calidad.
Los nuevos temas que afectarán las pruebas de software en un futuro próximo son la seguridad, la inteligencia artificial y los grandes datos (big data).
Seguridad
La seguridad es uno de los elementos más importantes que una estrategia de IT ha de empezar a tener en cuenta. La entrada de seguridad es vital para proteger cualquier negocio. Las vulnerabilidades de seguridad pueden empañar seriamente la reputación de una marca.
Por esas razones, los entornos de prueba y los datos de prueba se consideran los principales desafíos en las pruebas de control de calidad en la actualidad. Las leyes de privacidad y protección de datos también plantean preocupaciones sobre la seguridad de los entornos de prueba. Si un entorno contiene datos de prueba personales y sufre una brecha de seguridad, las empresas deben informar a las autoridades de inmediato; como resultado, es muy importante que los entornos de prueba puedan detectar violaciones de datos.
Más populares en entornos de nube, las pruebas de seguridad intentan descubrir las vulnerabilidades del sistema y determinar qué tan bien puede protegerse contra el acceso no autorizado, la piratería, cualquier daño del código, etc. Al tratar con el código de la aplicación, las pruebas de seguridad se refieren al método de prueba de caja blanca (white testing box, definido en la parte II del artículo).
Las cuatro áreas principales de enfoque en las pruebas de seguridad han de ser:
1. Seguridad de la red
2. Seguridad del software del sistema
3. Seguridad de aplicaciones del lado del cliente
4. Seguridad de aplicaciones del lado del servidor
Es recomendable que las pruebas de seguridad se incluyan como parte del proceso de desarrollo de software estándar.
Inteligencia artificial
Los desafíos de las pruebas son cada vez mayores y sus soluciones tienen un número ilimitado de situaciones que requieren inteligencia artificial para probarlas a fondo. Las diferentes implementaciones de IA que utilizan algoritmos basados en el aprendizaje automático pronto se integrarán en las aplicaciones para realizar tareas que antes estaban reservadas para los humanos.
Aunque las soluciones de automatización de pruebas en el área de inteligencia aún no están bien establecidas, el cambio hacia una mayor inteligencia en las pruebas es inevitable. La automatización cognitiva, el aprendizaje automático, la autocorrección y el análisis predictivo son técnicas emergentes prometedoras para el futuro de la automatización de pruebas.
Un ejemplo de ello es Mabl; una startup con sede en Boston que ya simplifica las pruebas funcionales combinándolas con el aprendizaje automático. “Cuando nos reunimos con cientos de equipos de software, nos aferramos a la idea de que el desarrollo… es muy rápido ahora, pero hay un cuello de botella en el control de calidad”, dice Izzy Azeri, cofundador de Mabl. “Cada vez que realiza un cambio en su producto, debe probar este cambio o crear una automatización de prueba”.
Ya no hay necesidad de escribir extensas pruebas a mano, se ha de mostrar a la aplicación el flujo de trabajo que desea probar y automáticamente se realizan esas pruebas. En este punto es indispensable adaptarse automáticamente a pequeños cambios en la interfaz de usuario y alertar a los desarrolladores sobre cualquier cambio visual, errores de JavaScript, enlaces rotos y mayores tiempos de carga.
La adopción de soluciones de automatización más inteligentes será esencial para probar las aplicaciones y productos inteligentes emergentes en sus entornos comerciales que cambian rápidamente.
Big data
A mi parecer, las dos preocupaciones principales con respecto a la gestión de datos de prueba son el cumplimiento de los datos y el big data.
Primero, con muchas leyes de protección onerosas entrando en escena, simplemente copiar datos del mundo real presenta el riesgo de violarlas. Por ejemplo, el Reglamento General de Protección de Datos (RGPD) de la UE se convirtió en ley en mayo de 2018 para todas las empresas que operan en la UE. Dada la amenaza de multas significativas, las preocupaciones sobre el cumplimiento de los datos están al frente de la mayoría de los departamentos de IT en la actualidad.
En segundo lugar, la gestión de grandes volúmenes de datos que se cargan constantemente en varias plataformas exige un enfoque único para las pruebas, ya que las técnicas tradicionales ya no pueden hacer frente.
Las pruebas de big data tienen como objetivo verificar la calidad de los datos y verificar el procesamiento de datos. La verificación de la calidad de los datos implica varias características como la conformidad, la precisión, la duplicación, la consistencia, la validez, la integridad de los datos, etc. La verificación del procesamiento de datos comprende pruebas funcionales y de rendimiento. Las pruebas de big data exigen un alto nivel de habilidades de prueba ya que el procesamiento es muy rápido.