Skip to main content
Glama
javiarmesto

Business Central MCP Server

by javiarmesto
testing-scenarios.md15.4 kB
# ✅ Casos de Prueba y Validación del Conector Este archivo contiene una suite completa de casos de prueba para validar que el conector Business Central MCP funciona correctamente en Copilot Studio. ## 📋 TL;DR - **30+ casos de prueba** organizados por funcionalidad - **Validación completa** de integración Copilot Studio ↔ Business Central - **Escenarios reales** de uso empresarial - **Criterios de aceptación** claros para cada caso --- ## 🎯 Estrategia de Testing ### Niveles de Validación 1. **🔧 Conectividad**: Verificar comunicación básica 2. **📊 Funcionalidad**: Validar cada operación del conector 3. **💬 Conversacional**: Probar flujos de diálogo naturales 4. **🚀 Performance**: Medir tiempos de respuesta 5. **🛡️ Seguridad**: Verificar autenticación y autorización 6. **🔄 Integración**: Validar flujos de trabajo completos --- ## 🔧 Tests de Conectividad ### TC-001: Verificación de Servidor **Objetivo**: Confirmar que el servidor MCP está operativo **Pasos**: 1. Abrir Copilot Studio Test 2. Escribir: "¿Está funcionando la conexión con Business Central?" 3. El sistema debe ejecutar healthCheck automáticamente **Resultado Esperado**: ``` ✅ La conexión con Business Central está funcionando correctamente. Servidor: Operativo ✓ Última verificación: [timestamp] ``` **Criterios de Aceptación**: - Respuesta en < 3 segundos - Status 200 del endpoint /health - Mensaje confirmando operatividad --- ### TC-002: Validación de Autenticación **Objetivo**: Verificar que la autenticación funciona correctamente **Configuración**: - Si usas API Key, configurar clave incorrecta temporalmente - Intentar cualquier operación **Resultado Esperado**: ``` ❌ Hay un problema de autenticación con Business Central. Por favor, verifica la configuración del conector. ``` **Criterios de Aceptación**: - Error manejado graciosamente - Mensaje comprensible para usuarios - No exposición de detalles técnicos --- ## 📊 Tests de Funcionalidad ### TC-010: Listar Clientes Básico **Objetivo**: Validar consulta básica de clientes **Entrada**: "¿Puedes mostrarme algunos clientes?" **Resultado Esperado**: ``` Aquí tienes algunos de nuestros clientes registrados: 🏢 **Fabrikam Inc.** - ID: 10000 - Email: contact@fabrikam.com - Ciudad: Seattle, WA 🏢 **Contoso Ltd.** - ID: 20000 - Email: info@contoso.com - Ciudad: Londres, Reino Unido 🏢 **Adventure Works** - ID: 30000 - Email: sales@adventure-works.com - Ciudad: Bothell, WA ¿Te interesa información específica de algún cliente? ``` **Criterios de Aceptación**: - Mínimo 3 clientes mostrados - Información básica presente (nombre, email, ubicación) - Formateo claro y legible - Pregunta de seguimiento ofrecida --- ### TC-011: Búsqueda Específica de Cliente **Objetivo**: Validar búsqueda dirigida por nombre **Entrada**: "Busca información del cliente Fabrikam" **Resultado Esperado**: ``` He encontrado información sobre Fabrikam: 📋 **Fabrikam Inc.** - 🆔 Cliente: 10000 - 📧 Email: contact@fabrikam.com - 📞 Teléfono: +1-425-555-0100 - 🌐 Web: www.fabrikam.com - 📍 Dirección: 123 Main Street, Seattle, WA 98052 - 🏛️ País: Estados Unidos - 💰 Moneda: USD ¿Necesitas ver las órdenes de este cliente o alguna otra información? ``` **Criterios de Aceptación**: - Cliente específico encontrado - Información completa mostrada - Iconos/formateo visual aplicado - Opciones de seguimiento ofrecidas --- ### TC-012: Cliente No Encontrado **Objetivo**: Manejo de búsquedas sin resultados **Entrada**: "Busca el cliente NoExisteEmpresa" **Resultado Esperado**: ``` No he encontrado ningún cliente con el nombre "NoExisteEmpresa" en Business Central. 🔍 **Sugerencias:** - Verifica la ortografía del nombre - Prueba con nombres parciales (ej: "NoExiste") - Busca por ciudad o email si los conoces ¿Quieres que haga una búsqueda más amplia o prefieres crear un nuevo cliente? ``` **Criterios de Aceptación**: - Mensaje claro de "no encontrado" - Sugerencias constructivas - Opciones alternativas ofrecidas - Sin errores técnicos expuestos --- ### TC-020: Consulta de Productos **Objetivo**: Validar acceso al catálogo de productos **Entrada**: "¿Qué productos tenemos disponibles?" **Resultado Esperado**: ``` Aquí tienes nuestro catálogo de productos principales: ## 💻 **Tecnología** - **Laptop Business Pro** - €1,299.00 (25 unidades) - **Monitor UltraWide 34"** - €599.00 (12 unidades) ## 🪑 **Mobiliario** - **Silla Ergonómica Deluxe** - €450.00 (8 unidades) - **Mesa Ejecutiva** - €899.00 (3 unidades) ## 🛠️ **Servicios** - **Consultoría IT** - €120.00/hora - **Soporte Premium** - €200.00/mes ¿Te interesa información específica de algún producto? ``` **Criterios de Aceptación**: - Productos categorizados lógicamente - Precios y stock mostrados - Diferentes tipos (productos/servicios) incluidos - Formateo claro con emojis/símbolos --- ### TC-021: Búsqueda Específica de Producto **Objetivo**: Validar consulta dirigida de inventario **Entrada**: "¿Tenemos laptops disponibles y a qué precio?" **Resultado Esperado**: ``` Sí, tenemos varios modelos de laptops disponibles: 💻 **Laptops en Stock:** **Laptop Business Pro** - 💰 Precio: €1,299.00 - 📦 Stock: 25 unidades - ✅ Disponibilidad: Inmediata **Laptop Student Edition** - 💰 Precio: €899.00 - 📦 Stock: 15 unidades - ✅ Disponibilidad: Inmediata ¿Necesitas especificaciones técnicas o información sobre descuentos por volumen? ``` **Criterios de Aceptación**: - Productos relevantes encontrados - Información de precio y stock - Indicadores de disponibilidad - Preguntas de seguimiento apropiadas --- ### TC-030: Consulta de Órdenes de Venta **Objetivo**: Validar acceso a datos de ventas **Entrada**: "¿Cuáles son las últimas órdenes de venta?" **Resultado Esperado**: ``` Aquí tienes las órdenes de venta más recientes: ## 📋 **Órdenes Activas** **🔸 Orden SO-2025-001** - 👤 Cliente: Fabrikam Inc. - 📅 Fecha: 15 enero 2025 - 💰 Total: €1,935.99 (IVA incluido) - 📈 Estado: Abierta **🔸 Orden SO-2025-002** - 👤 Cliente: Contoso Ltd. - 📅 Fecha: 14 enero 2025 - 💰 Total: €2,450.00 (IVA incluido) - 📈 Estado: Liberada **💰 Total en órdenes activas: €4,385.99** ¿Quieres ver detalles de alguna orden específica? ``` **Criterios de Aceptación**: - Mínimo 2-3 órdenes mostradas - Información clave visible (cliente, fecha, total, estado) - Resumen/totales incluidos - Opciones de drill-down ofrecidas --- ### TC-040: Crear Cliente - Flujo Exitoso **Objetivo**: Validar creación completa de cliente nuevo **Conversación Completa**: ``` 👤 "Necesito crear un nuevo cliente llamado TechSphere Solutions" 🤖 "Perfecto, te ayudo a registrar TechSphere Solutions. Necesito algunos datos: - ✅ Nombre: TechSphere Solutions - 📧 Email de contacto - 📍 Ubicación - 🏛️ Información fiscal (opcional) ¿Puedes proporcionarme el email y la ciudad?" 👤 "Email: info@techsphere.com, están en Valencia" 🤖 "Excelente. ¿Tienes la dirección completa y el NIF/CIF?" 👤 "Dirección: Calle Colón 45, Valencia. CIF: B98765432" 🤖 [Ejecuta createCustomer] "¡✅ Cliente creado exitosamente! 🎉 **TechSphere Solutions** - 🆔 ID: CUST-50001 - 📧 Email: info@techsphere.com - 📍 Dirección: Calle Colón 45, Valencia - 🏛️ CIF: B98765432 - 💰 Moneda: EUR - 📅 Registrado: Hoy ¿Quieres crear una orden de venta para este cliente?" ``` **Criterios de Aceptación**: - Flujo conversacional natural - Validación de datos requeridos - Confirmación de creación exitosa - ID asignado correctamente - Siguientes pasos sugeridos --- ### TC-041: Crear Cliente - Datos Mínimos **Objetivo**: Validar creación con información básica **Entrada**: "Crear cliente MinimalCorp con email minimal@corp.com" **Resultado Esperado**: ``` ✅ He creado el cliente MinimalCorp con los datos proporcionados: 🏢 **MinimalCorp** - 🆔 ID: CUST-50002 - 📧 Email: minimal@corp.com - 💰 Moneda: EUR (por defecto) - 📅 Registrado: Hoy ℹ️ **Nota:** Puedes completar más información (dirección, teléfono, etc.) cuando esté disponible. ¿Necesitas hacer algo más con este cliente? ``` **Criterios de Aceptación**: - Creación exitosa con datos mínimos - Valores por defecto aplicados apropiadamente - Nota sobre información adicional - Cliente funcional para transacciones --- ## 💬 Tests Conversacionales ### TC-050: Flujo Multi-step **Objetivo**: Validar conversaciones complejas con múltiples pasos **Conversación**: ``` 👤 "¿Qué cliente ha comprado más últimamente?" 🤖 [Analiza órdenes] "Según las órdenes recientes, Fabrikam Inc. tiene el mayor volumen: - 3 órdenes en enero 2025 - Total: €5,235.50 - Último pedido: Laptop Business Pro x2 ¿Quieres ver el detalle de sus compras?" 👤 "Sí, y también qué productos les interesan más" 🤖 [Profundiza en análisis] "Fabrikam Inc. muestra preferencia por: 📊 **Patrones de Compra:** - 60% Tecnología (laptops, monitores) - 30% Servicios (consultoría IT) - 10% Mobiliario **Productos favoritos:** - Laptop Business Pro (5 unidades últimos 3 meses) - Consultoría IT (40 horas/mes promedio) ¿Te interesa contactarlos para una propuesta de servicios extendidos?" ``` **Criterios de Aceptación**: - Análisis inteligente de datos - Respuestas contextuales apropiadas - Insights de negocio útiles - Sugerencias proactivas de acciones --- ### TC-051: Manejo de Ambigüedad **Objetivo**: Gestión de consultas ambiguas o imprecisas **Entrada**: "Busca algo sobre ventas" **Resultado Esperado**: ``` Tu consulta sobre "ventas" puede referirse a varias cosas. ¿Te interesa: 🎯 **Opciones disponibles:** 1. 📊 **Órdenes de venta recientes** - Últimos pedidos y su estado 2. 👥 **Clientes por volumen** - Quién compra más 3. 📦 **Productos más vendidos** - Top artículos 4. 📈 **Resumen de ventas** - Métricas y totales 5. 🔍 **Buscar orden específica** - Por número o cliente ¿Cuál de estas opciones te interesa más? ``` **Criterios de Aceptación**: - Reconocimiento de ambigüedad - Opciones claras presentadas - Categorización lógica - Facilita la elección del usuario --- ## 🚀 Tests de Performance ### TC-060: Tiempo de Respuesta Básico **Objetivo**: Validar tiempos de respuesta aceptables **Mediciones**: - ✅ Health check: < 2 segundos - ✅ getCustomers (5 resultados): < 5 segundos - ✅ getItems (10 resultados): < 6 segundos - ✅ getSalesOrders (5 resultados): < 7 segundos - ✅ createCustomer: < 8 segundos **Criterios de Aceptación**: - Ninguna operación > 10 segundos - Indicadores de "procesando" para operaciones > 3 segundos - Timeouts manejados graciosamente --- ### TC-061: Carga Concurrent **Objetivo**: Validar comportamiento con múltiples usuarios **Escenario**: 5 usuarios simultáneos haciendo consultas **Validaciones**: - Sin degradación significativa de performance - Sin errores de concurrencia - Responses consistentes entre usuarios - Sistema estable durante la prueba --- ## 🛡️ Tests de Seguridad ### TC-070: Validación de API Key **Objetivo**: Verificar protección de endpoints **Configuración**: API Key habilitada **Tests**: 1. **Sin API Key**: Debe fallar con 401 2. **API Key incorrecta**: Debe fallar con 401 3. **API Key correcta**: Debe funcionar normalmente 4. **Endpoints públicos** (/health, /docs): Deben funcionar sin key **Criterios de Aceptación**: - Protección efectiva de endpoints sensibles - Mensajes de error apropiados - No exposición de información sensible --- ### TC-071: Inyección de Datos **Objetivo**: Validar protección contra inputs maliciosos **Inputs de Prueba**: ``` "<script>alert('xss')</script>" "'; DROP TABLE customers; --" "../../../etc/passwd" "{{7*7}}" ``` **Criterios de Aceptación**: - Inputs sanitizados apropiadamente - Sin ejecución de código malicioso - Errores de validación claros - Sistema permanece estable --- ## 🔄 Tests de Integración ### TC-080: Workflow Completo de Ventas **Objetivo**: Validar flujo de negocio end-to-end **Escenario**: 1. **Buscar cliente** existente 2. **Consultar productos** disponibles 3. **Revisar órdenes** anteriores del cliente 4. **Crear nuevo cliente** si no existe 5. **Sugerir productos** basado en historial **Validaciones**: - Flujo lógico mantenido - Contexto preservado entre pasos - Datos consistentes - Experiencia de usuario fluida --- ### TC-081: Workflow de Gestión de Inventario **Objetivo**: Validar flujo de consulta de inventario **Escenario**: 1. **Consultar productos** con stock bajo 2. **Identificar clientes** que compran esos productos 3. **Revisar órdenes recientes** de esos productos 4. **Sugerir acciones** de reposición o venta **Validaciones**: - Análisis cruzado de datos - Insights de negocio válidos - Recomendaciones apropiadas - Datos actualizados y precisos --- ## 📊 Matriz de Cobertura | Funcionalidad | Tests Básicos | Tests Avanzados | Performance | Seguridad | |---------------|---------------|-----------------|-------------|-----------| | Health Check | ✅ TC-001 | - | ✅ TC-060 | - | | Get Customers | ✅ TC-010, TC-011 | ✅ TC-050 | ✅ TC-060 | ✅ TC-070 | | Customer Search | ✅ TC-011, TC-012 | ✅ TC-051 | ✅ TC-060 | ✅ TC-071 | | Get Items | ✅ TC-020, TC-021 | ✅ TC-081 | ✅ TC-060 | ✅ TC-070 | | Get Orders | ✅ TC-030 | ✅ TC-050, TC-080 | ✅ TC-060 | ✅ TC-070 | | Create Customer | ✅ TC-040, TC-041 | ✅ TC-080 | ✅ TC-060 | ✅ TC-071 | | Error Handling | ✅ TC-002, TC-012 | ✅ TC-051 | - | ✅ TC-070 | --- ## 🎯 Criterios de Aceptación Global ### Funcionalidad - [ ] Todas las operaciones del conector funcionan correctamente - [ ] Manejo apropiado de errores y casos edge - [ ] Respuestas consistentes y bien formateadas - [ ] Flujos conversacionales naturales ### Performance - [ ] Tiempos de respuesta < 10 segundos - [ ] Comportamiento estable bajo carga - [ ] Manejo apropiado de timeouts - [ ] Indicadores de progreso cuando necesarios ### Usabilidad - [ ] Interfaz conversacional intuitiva - [ ] Mensajes de error comprensibles - [ ] Sugerencias de seguimiento útiles - [ ] Formateo visual apropiado ### Seguridad - [ ] Autenticación funcionando correctamente - [ ] Validación de inputs implementada - [ ] No exposición de datos sensibles - [ ] Logs de auditoría apropiados --- ## 📝 Checklist de Validación ### Pre-implementación - [ ] Servidor MCP desplegado y operativo - [ ] Variables de entorno configuradas - [ ] API Key generada y configurada (si aplica) - [ ] Documentación OpenAPI accesible ### Durante Testing - [ ] Ejecutar todos los casos de prueba básicos - [ ] Validar casos edge y manejo de errores - [ ] Medir performance en condiciones normales - [ ] Verificar seguridad y autenticación ### Post-implementación - [ ] Documentar resultados de testing - [ ] Configurar monitorización continua - [ ] Establecer proceso de mantenimiento - [ ] Capacitar usuarios finales --- **🎉 Suite de testing completa para garantizar un conector robusto y confiable!** Ejecuta estos casos de prueba antes de poner en producción para asegurar una experiencia óptima para tus usuarios. 🚀

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/javiarmesto/Lab3_1_MCP_BusinessCentral'

If you have feedback or need assistance with the MCP directory API, please join our Discord server