Con Botium, actualmente estamos definiendo el estándar de la industria para probar chatbots. En nuestros canales de soporte y desarrollo, recibimos regularmente preguntas como:
- Tengo que probar un chatbot Whatsapp, ¿pueden ayudarme a configurar
Appium? - Para nuestro cliente, tengo que probar un chatbot integrado en su aplicación, ¿puedo probarlo con Botium?
- Tengo problemas para probar el chatbot de soporte al cliente en nuestro sitio web, Selenium dice <algún código de error aleatorio de Selenium>
- … y así sucesivamente.
La conclusión que se puede extraer de estas preguntas es: los test engineers o ingenieros de pruebas aprendieron cómo probar sitios web con Selenium y aplicaciones para smartphones con Appium en el pasado, y ahora intentan aplicar este valioso conocimiento nuevamente, descuidando el hecho de que los chatbots son un nuevo tipo de aplicaciones. que requieren nuevos tipos de herramientas (como Botium).
Puedes leer sobre las diferencias más importantes en una de mis publicaciones de blog anteriores.
Con Selenium y Appium, estamos hablando de pruebas End-2-End (E2E), que simulan la experiencia completa del usuario en una interfaz gráfica de usuario. Esas pruebas:
- Son extremadamente lentas en ejecución, ya que básicamente se ejecutan en tiempo real, e incluso para un proyecto de chatbot de tamaño mediano, generalmente hay un número de 5 cifras de casos de prueba para que la cobertura y los resultados de la misma sean validos; ejecutar esas pruebas en un escenario E2E requerirá horas en el mejor de los casos.
- Requieren una gran cantidad de recursos informáticos o acceso a costosos servicios en la nube de navegador/dispositivo.
- Son inestables ya que la infraestructura requerida también es propensa a errores.
- No puede proporcionar una visión holística de la calidad del objeto de prueba, ya que algunas afirmaciones importantes como el rendimiento puro de NLP no son técnicamente posibles con las pruebas E2E.
Así que aquí están mis recomendaciones para los test engineers sobre cómo pueden proceder cuándo tengan que iniciar las pruebas de su chatbot.
Tabla de contenidos
API primero
La métrica más importante para un chatbot es: ¿puedes mantener una conversación significativa con un cliente? En cada equipo de proyecto de chatbot hay diseñadores de conversaciones que, bueno, diseñan las conversaciones que conformarán la experiencia final del usuario. El motor de chatbot está entrenado (o codificado) para proporcionar la lógica de estas conversaciones.
Flujo de conversación visualizado por Botium
Y este es el lugar para comenzar a probar: asegúrate de que las conversaciones
funcionan según lo diseñado, desde una perspectiva de contenido. Puedes leer más sobre las pruebas de flujo de conversación en los documentos de Botium. Una habilidad importante que debe tener el perfil de test engineer es conocer BotiumScript, el lenguaje de secuencias de comandos para definir casos de prueba de flujo de conversación.
Prueba del motor de NLP
La mayoría de los chatbots tienen algún tipo de componente de procesamiento de lenguaje natural (NLP) como parte del proceso de procesamiento: permitía a los usuarios comunicarse con el chatbot en lenguaje natural, y eso es lo que realmente constituye un chatbot. Como ingeniero de pruebas, es su trabajo explorar los límites del motor de PNL, y esto requiere habilidades básicas en conceptos de aprendizaje automático, como:
- Intenciones, entidades y confianza en la predicción.
- Exactitud, sensibilidad, especificidad, precisión, recuerdo, puntuación F1.
- Matriz de confusión.
Puedes leer sobre esto en mi serie de artículos Quality Metrics for NLU / Chatbot Training Data:
Quality Metrics for NLU/Chatbot Training Data, Part 1: Confusion Matrix
What is a Confusion Matrix ? How to generate and read a Confusion Matrix ? How to calculate precision, recall and…
E2E Smoketest
Probar la experiencia del usuario final a nivel de interfaz de usuario es una parte importante de el proceso de prueba. Al hacerlo bien, ahora tienes la confianza de que el flujo de conversación y el componente de NLP están haciendo su trabajo, por lo que ahora es el momento de agregar algunas pruebas de interfaz de usuario a la mezcla.
La recomendación es:
- Llevar a cabo una pequeña cantidad de casos de prueba, que cubren todos los posibles elementos de interacción del usuario.
- Realizar esas pruebas en una combinación de versiones de navegador/ sistemas operativos / dispositivos de smartphones representativos, tanto virtuales como físicos.
¡La buena noticia es que aquí los test engineers pueden brillar con el
conocimiento existente sobre Selenium y Appium!
Pruebas no funcionales
Finalmente, también hay pruebas no funcionales como pruebas de rendimiento y pruebas de seguridad para agregar a la combinación de pruebas. A diferencia de los otros tipos de pruebas, estas se realizan normalmente en ciertos hitos del proyecto.
Security Threats and Security Testing for Chatbots
This article is pointing out security threats and attack vectors of typical chatbot architectures — based on OWASP Top…
Resumen
Una nueva generación de aplicaciones, como los chatbots, requiere una nueva
generación de herramientas de prueba, como Botium. Los ingenieros de pruebas deben desarrollar habilidades adicionales para probar interfaces conversacionales como chatbots.
- Prueba de flujo de conversación: identifica fallos en el flujo de conversación antes de pasar a producción.
- Pruebas de NLP: mejora la comprensión de tu chatbot.
- Prueba E2E: verificación de la experiencia del usuario final.
- Pruebas de voz: comprende a tus usuarios en los canales de voz.
Tipos de proyectos de prueba de Botium
- Pruebas de rendimiento: asegúrate de que tu chatbot responde bajo una carga alta.
- Pruebas de seguridad: haz que tu chatbot sea seguro.
- Monitoreo: recibe notificaciones cuando surjan problemas.