Gracias al nuevo simulador, se pueden crear test cases en Dialogflow CX para comprobar los flujos de diálogos, anticiparnos a los bug y evitar regresiones. Se trata de una funcionalidad incorporada a la consola que evita tener que usar desarrollos externos conectados por API.
Desde finales de noviembre 2020 está disponible en Dialogflow CX una nueva funcionalidad. Se trata de los test cases, una opción que permite a desarrolladores, diseñadores conversacionales y lingüistas, llevar a cabo pruebas del flujo de diálogo.
La realización de test para comprobar el correcto funcionamiento del flujo de diálogo es esencial en el desempeño de los asistentes virtuales. Puesto que son proyectos sujetos a continua contribución y revisión, es necesario testear que los cambios introducidos en él no producen bugs u otro tipo de errores.
Hasta ahora, en la consola de Dialogflow ES no existía posibilidad de hacer este tipo de pruebas de forma nativa. Era necesario conectar vía API un código externo que pudiera llevar a cabo los testeos de forma automatizada.
“No es necesario disponer de profundos conocimientos técnicos para realizar los test cases. Esto permitirá a diseñadores conversacionales y lingüistas comprobar los flujos con mayor autonomía”.
Gracias a la inclusión de los test cases cualquier perfil de los involucrados en el desarrollo de un proyecto conversacional, puede llevar a cabo una comprobación del flujo en cualquier momento de su ejecución.
Ventajas de la nueva funcionalidad de Dialoglflow CX
Una de las principales ventajas que ofrece tener esta funcionalidad incorporada en la consola de Dialogflow CX es la rapidez en hacer comprobaciones en el flujo. Es decir, las herramientas externas siempre aportan un cierto retardo, por mínimo que sean, ante otras que puedan ser nativas. Por otro lado, disponer de una función así, facilitará la labor de QA y desarrolladores que no necesitarán implementar código para poder realizar los testeos.
Otra de las ventajas es la democratización de este tipo de pruebas: los test cases son una función de fácil acceso y ejecución. No es necesario disponer de profundos conocimientos técnicos para realizar estas verificaciones. Esto permitirá a diseñadores conversacionales y lingüistas llevar a cabo pruebas del flujo con mayor autonomía.
Cómo hacer test cases en Dialogflow CX
La nueva funcionalidad test cases de Dialogflow CX se ejecuta desde el simulador. Antes de utilizarlo por primera vez es necesario configurarlo: tras elegir el entorno del agente, hay que seleccionar el flujo activo que se quiere testear. Para definir los casos de prueba se aconseja desactivar las llamadas de webhook. Estas pueden activarse en cualquier momento con el botón de conmutación.
Al interactuar con el simulador has de aportar un texto como entrada de usuario y enviar presionando “intro”. Junto al texto plano, se pueden elegir otros tipos de inputs gracias al selector:
- Parámetros, para indicar un valor. Pueden ser existentes o añadir uno nuevo.
- Evento, para invocar este tipo de acciones.
- Dtfm, para interacciones telefónicas. Envía una entrada de señal multifrecuencia dual-tone.
Una vez configurado, podrás abrir el simulador para realizar tu primera prueba en “Test Agent”. Chatea con el agente para crear una conversación que cubra la funcionalidad que quieras testear en el proyecto. Es necesario verificar todos los valores del intent que se prueba: respuesta del agente, página activa y parámetros de la sesión.
Esta conversación de prueba debe ser guardada para poder ser utilizada en el futuro como test case. Esta versión original de la prueba recibe el nombre de “golden test”. Pero recuerda que cada uno de ellos debe tener un nombre único. De manera opcional puedes incluir:
- Etiquetas, utilizando la almohadilla (#)
- Notas que describen el propósito del test case
- Los parámetros de los que quieras hacer un seguimiento en los testeos. El simulador ofrece un listado de valores sugeridos, pero también puedes añadir algún otro parámetro para rastrear otros detalles.
Cuando quieras ejecutar alguno de los test cases guardados sólo has de dirigirte a la pestaña de gestión. Allí verás los nombres de todos los test cases, las etiquetas y el último test realizado (y su entorno) y el último resultado de testeo. En esta pestaña puedes elegir ejecutar todos los test o bien seleccionar uno de ellos.
Elegido el entorno en el que quieres realizar la prueba, sólo queda pulsar el botón de inicio para que ésta comience. El estado de la misma quedará reflejado en la cola de tareas y se actualizará cuando esté completado.
Si quieres ver los detalles de la prueba, haz clic en el test. El “golden test” (es decir la versión original que se guardó) se mostrará en la pantalla junto al que se acaba de realizar, de manera que puedas comprobar ambos resultados.
Detalles de las pruebas y coberturas de los test cases
A la hora de comprobar los datos de cada test, puedes hacer clic en cualquiera de los turnos de conversación en uno de los agentes. Hay diferentes tipos de datos que, paso a paso, va comprobando el motor de prueba:
- Diálogo del agente. La conversación se compara desde el original hasta la última prueba ejecutada. Si existe alguna diferencia, se muestra como advertencia. Esto no significa que no pase el test ya que puede haber diferentes variantes de diálogo para un mismo estado de agente.
- Emparejamiento de intent. Para aprobar el test es imprescindible que el emparejamiento de intents sea el mismo en cada turno.
- Página actual. Si la página activa no es la misma, no pasará el test.
- Parámetros de la sesión. Si al crear el test añadiste parámetros que rastrear, el motor de prueba detectará los desajustes que pueda encontrar en estos valores.
La nueva funcionalidad de Dialogflow CX también ofrece un informe de cobertura de pruebas para cada uno de los test cases. Encontrarás dos pestañas:
- Cobertura de transición. Se determina para todos los gestores de estado que comparta objetivo de transición con el caso de prueba.En la tabla aparecerán enumerados tanto el flujo/página de origen como el flujo/página del objetivo.
- Cobertura de intents, para todos aquellos que coinciden con el test ejecutado.
Los test cases pueden importarse y exportarse a diferentes entornos y proyectos, lo cual simplifica enormemente la automatización de pruebas entre entornos en un pipeline de integración y entrega continuos (CI/CD). Esto favorece la entrega continua e incremental de funcionalidades y nuevos casos de uso que aporten valor al negocio.