Seminario web destacado: MISRA C++ 2023: todo lo que necesita saber | Vea ahora

Valide aplicaciones gubernamentales con pruebas funcionales impulsadas por IA

Foto de cabeza de Jamie Motheral, director de marketing de productos de Parasoft
24 de septiembre de 2020
6 min leer

¿Ha tenido algunos problemas para validar las solicitudes del gobierno? Con la herramienta de prueba funcional impulsada por IA de Parasoft, tiene una solución de prueba de software gubernamental que puede aumentar la eficiencia de sus equipos de prueba.

Es fácil mirar el espacio comercial B2C y ver por qué las metodologías Agile y DevOps se han convertido en las prácticas dominantes para brindar servicios de calidad a los clientes con rapidez. Ese no es el caso de las aplicaciones gubernamentales. Pero con las soluciones de pruebas funcionales impulsadas por IA, los equipos de control de calidad pueden validar las aplicaciones gubernamentales y modernizar la entrega.

Desafíos en la modernización de las pruebas automatizadas

En la esfera gubernamental, existen muchos obstáculos que afectan la capacidad de las agencias para beneficiarse de las prácticas Agile y DevOps de la misma manera que ha sido el lujo del espacio comercial.

Uno de esos desafíos para la capacidad de modernización de las agencias gubernamentales es cómo crear una estrategia de prueba funcional automatizada eficaz para las interfaces de usuario web en el caso común de subcontratar el desarrollo a un proveedor externo. Este es un escenario con el que me encuentro a menudo en mi rol como gerente de cuentas de Parasoft's gobierno, military aeroespacial automatizadas.

En este escenario, la entidad gubernamental contratará a un proveedor externo para crear y entregar el nuevo software o la nueva funcionalidad. El contratista externo es responsable de garantizar que el código cumpla con los requisitos de calidad de sus clientes. Sin embargo, es crucial que al momento de la entrega, la entidad gubernamental debe realizar sus propias pruebas para verificar que la aplicación se comporte como se espera en el entorno integrado y cumpla con los requisitos de prueba no funcionales como usabilidad, confiabilidad, desempeño y seguridad.

Con base en el contrato creado entre la entidad gubernamental y el contratista de desarrollo externo, la capacidad del equipo de control de calidad del gobierno para utilizar estrategias de prueba automatizadas modernas que tienen éxito en las industrias comerciales puede verse obstaculizada.

Pruebas continuas para DevOps: evolución más allá de la simple automatización para agencias gubernamentales

Por qué las pruebas funcionales son cruciales y más agencias deberían hacerlo

Para crear una práctica de prueba automatizada eficaz, los equipos de pruebas funcionales deben realizar pruebas tanto en la interfaz de usuario web como en las capas de servicio API. Sin embargo, realizar pruebas de manera efectiva en la capa de API requiere cierto conocimiento de los artefactos a los que un equipo de control de calidad del gobierno puede no tener acceso, dependiendo de lo que se especificó y no se especificó como entregables en el contrato.

Digamos que el contrato no dicta la creación y el mantenimiento de archivos de definición de servicios de API para cada servicio. Una vez entregado al equipo de control de calidad del gobierno para fines de prueba, el equipo de control de calidad tendrá dificultades para comprender:

  • Qué hace cada servicio.
  • Los demás servicios con los que interactúa.
  • Cómo pasan los datos entre los emparejamientos de solicitud / respuesta.

Los equipos de desarrollo necesitan toda esta información para crear una estrategia de prueba de API eficaz. Sin los archivos de definición del servicio de API, el equipo de control de calidad necesita acceder a la base de código y al conocimiento del desarrollador para estudiar el código y comprender la construcción de cada API.

Para muchos equipos de control de calidad, esto no es factible. En cambio, dependen en gran medida de la interfaz de usuario web o de las pruebas de aceptación del usuario para validar que los entregables del software superen los umbrales de calidad, confiabilidad, usabilidad y rendimiento.

Prueba de interfaz de usuario web tiene su lugar. Sin embargo, existen algunos desafíos importantes para las pruebas de interfaz de usuario web que deben superarse para que sea una estrategia de automatización de pruebas sostenible y efectiva.

Las trampas y los desafíos de las pruebas de interfaz de usuario web

Para iniciar esta conversación sobre los desafíos de las pruebas de IU web, veamos primero qué están usando las personas para crear pruebas de IU web automatizadas. De manera rotunda, Selenium es el líder en el espacio con más del 64% de la industria que utiliza este marco de código abierto en la actualidad. Sin embargo, si usted es un usuario de Selenium, sabe que no todo son arcoíris y sol. Existen algunos desafíos para el uso de Selenium que dificultan el escalado para la automatización sostenible.

El selenio es la solución de elección por varias razones que son válidas tanto en el espacio comercial como en el espacio gubernamental. Como herramienta de código abierto, Selenium:

  • Es gratis para los usuarios.
  • Admite varios idiomas, sistemas operativos y tipos de navegadores.
  • Tiene una enorme base de apoyo comunitario.
  • Publica actualizaciones confiables, lo que lo hace ingenioso y rentable.

Veamos los contras. Como todas las pruebas de IU web, las pruebas de Selenium siguen siendo frágiles y no resisten bien los cambios. Por ejemplo, pequeños equipos de control de calidad del gobierno que crean pruebas de Selenium frente a una nueva funcionalidad con miles de pruebas de Selenium existentes. Un pequeño cambio en la interfaz de usuario puede tener un gran impacto.

Ese cambio afecta la capacidad de su equipo para probar la nueva funcionalidad a fondo. De repente, las viejas pruebas se rompen con poca información sobre lo que sucedió. Es posible que se necesiten días para actualizar manualmente las pruebas afectadas, lo que afectará el calendario de pruebas y la cobertura.

Resolviendo los desafíos de las pruebas de selenio

Con la introducción de la herramienta más nueva de Parasoft, Selenico, mantener las pruebas de selenio ya no es un desafío. Selenic es una solución liviana impulsada por IA que se conecta directamente a su Eclipse o IntelliJ IDE donde crearía pruebas de Selenium.

Creación de pruebas rápidamente con recursos limitados

Los usuarios de Selenic pueden activar Parasoft Recorder para capturar las acciones del usuario realizadas en el navegador Google Chrome. Puede aprovechar la grabación para crear una prueba de selenio puro utilizando la mejor práctica recomendada: modelo de objetos de página.

Para un equipo de control de calidad del gobierno que necesita crear pruebas rápidamente con recursos limitados, Parasoft Recorder les da una ventaja. La herramienta le permite crear fácilmente el proyecto Selenium y el esqueleto de la prueba del modelo de objetos de página. Tenga en cuenta que las pruebas creadas con Parasoft Recorder son como cualquier otra prueba de Selenium. Puede ejecutarlos cuando quiera, como quiera y donde quiera. No están sujetos a una plataforma de proveedor.

Ahorro de tiempo con las recomendaciones de AI-Drive

El verdadero ahorro de tiempo entra en vigor con las recomendaciones impulsadas por la IA de Parasoft Selenic. Puede reparar automáticamente las pruebas en tiempo de ejecución que se rompieron debido a un cambio en la interfaz de usuario web, como un localizador o una condición de espera. Los grupos pequeños de control de calidad con demasiado para probar reducen drásticamente el tiempo que normalmente se dedica al mantenimiento de la prueba o al tratar de comprender si una prueba fallida se rompe debido a un cambio en la interfaz de usuario, una verdadera falla de regresión o simplemente una mala prueba.

Visualización de los resultados de la prueba

La IA de Parasoft Selenic analiza las pruebas en tiempo de ejecución. Cualquier prueba que normalmente fallaría debido a localizadores rotos o condiciones de espera cambiantes se repara automáticamente para que la ejecución del conjunto de pruebas completo no se descarrile durante una ejecución prolongada.

Cuando el equipo de control de calidad revisa los resultados de la prueba, un informe completo está listo para su revisión en el IDE de prueba. Muestra:

  • Pruebas que se rompieron.
  • Cómo los curó el motor de IA de Selenic.

Los probadores tienen dos opciones:

  • Aprobar cómo arreglar la prueba.
  • Seleccione un localizador recomendado diferente según sus preferencias e implemente la corrección adecuada.

Por ejemplo, algunos equipos de control de calidad pueden preferir CSS frente a XPath para localizar elementos web dinámicos y elementos sin ID o nombre.

Aumente la cobertura y la calidad con las pruebas de API

Los equipos de control de calidad pueden transformar fácilmente sus prácticas de prueba de IU web basadas en Selenium en una estrategia de prueba verdaderamente escalable y mantenible con Parasoft Selenic. Pero, ¿qué pasa con las API?

Sí, es cierto que la ejecución de pruebas de IU web a menudo invoca API. Sin embargo, las pruebas de la interfaz de usuario web no prueban la API.

Las API son la columna vertebral de las aplicaciones web modernas. Los datos y la información pasan a través de ellos de un sistema a otro, lo que introduce riesgos de forma inherente.

Para que una agencia gubernamental valide verdaderamente que se cumplen los requisitos funcionales y no funcionales de sus aplicaciones, lo que reduce el riesgo de la agencia, es crucial que también implemente una estrategia de prueba de API automatizada sostenible y eficaz. Desafortunadamente, las pruebas de API no son tan fáciles de crear manualmente como las pruebas de IU web. Las limitaciones de recursos a menudo afectan la escala a la que una organización prueba sus API.

Las pruebas de API requieren conocimientos de código. Incluso cuando una agencia tiene los recursos disponibles para realizar pruebas, puede verse impedida de utilizar soluciones modernas de pruebas de API que aprovechan los archivos de definición de servicios de API para la creación de pruebas si estos activos no están contratados para la entrega a la agencia por parte del proveedor de desarrollo externo.

Uso de IA para resolver el problema de prueba de API

Prueba SOA de Parasoft solución de extremo a extremo y Automatización de pruebas de API ofrece un enfoque ascendente y descendente para la creación de pruebas de API.

Enfoque de abajo hacia arriba

Para los equipos que realizan desarrollo interno y buscan probar sus API al principio de su SDLC, Parasoft SOAtest ofrece el enfoque ascendente para la creación de pruebas de API sin script a través de emparejamientos de solicitud / respuesta o mediante el consumo de archivos de definición de servicios como Swagger, WSDL, o WDLE.

Enfoque de arriba hacia abajo

Para las API REST basadas en navegador, Parasoft ofrece un enfoque de arriba hacia abajo que utiliza IA para convertir sin secuencias de comandos las actividades manuales de la interfaz de usuario web en escenarios de prueba de API completos.

Creación de escenarios de prueba de API completos

Anteriormente mencioné la grabadora de Parasoft. Los usuarios de Parasoft Selenic registran acciones en la interfaz de usuario web y las convierten en pruebas de modelos de objetos de página de Selenium no bloqueadas por el proveedor. Cuando se usa con el módulo Smart API Test Generator de Parasoft SOAtest, esta misma grabadora puede capturar el comportamiento de la API, que se usa para crear escenarios completos de prueba de API.

Cuando se usa Selenic y SOAtest juntos, un evaluador de control de calidad puede registrar una historia de usuario en la interfaz de usuario web. A partir de esa única grabación, el evaluador de QA puede crear una prueba de selenio y una prueba de escenario API correspondiente. El motor de inteligencia artificial en Smart API Test Generator analiza el registro de tráfico. Busca patrones y relaciones entre las API que se invocan. También analiza cómo se manejan los datos y genera un escenario completo de prueba de API siguiendo la historia del usuario.

No se necesitan secuencias de comandos, archivos de definición de servicios ni conocimientos de dominio para crear estas pruebas. Como los escenarios de prueba de API que se crean se correlacionan directamente con las actividades de la interfaz de usuario web realizadas por el ingeniero de control de calidad, los usuarios novatos pueden obtener una mayor comprensión de cómo se utilizan las API en el sistema y la relación de las API con la interfaz de usuario.

Resumen

Los pequeños equipos de control de calidad del gobierno con recursos limitados y mucho para probar pueden validar las aplicaciones del gobierno rápidamente. La capacidad de crear pruebas de Selenium de interfaz de usuario web de autorreparación y automatizar escenarios de prueba de API al mismo tiempo es poderosa. Con una solución de prueba funcional automatizada eficaz, los equipos pueden realizar pruebas más exhaustivas con un esfuerzo manual mínimo, lo que da como resultado una mejor cobertura y calidad.

¿Quieres aprender más?

¡Conéctese hoy con el equipo de soluciones gubernamentales de Parasoft! GobiernoSoluciones@parasoft.com