Panorama de CRM y Salesforce
Los sistemas CRM gestionan el ciclo de vida completo del cliente — desde el primer contacto hasta la venta, soporte y renovación. Salesforce domina el mercado CRM con una plataforma que combina funcionalidad estándar con un potente motor de customización.
Arquitectura de Salesforce
- Salesforce Clouds: Sales Cloud, Service Cloud, Marketing Cloud, Commerce Cloud
- Modelo de Datos: Objetos estándar (Lead, Account, Contact, Opportunity, Case) más objetos custom
- Apex: Lenguaje propietario de Salesforce (similar a Java) para lógica custom
- Lightning: Framework UI moderno que reemplaza Visualforce
- Flows: Automatización no-code/low-code
- AppExchange: Marketplace de aplicaciones y componentes de terceros
Conceptos Centrales CRM
graph LR
A[Captura de Lead] --> B[Scoring]
B --> C[Reglas de Asignación]
C --> D[Calificación]
D --> E[Convertir a Account + Contact + Opportunity]
E --> F[Gestión de Pipeline]
F --> G[Ganada/Perdida]
Áreas de Enfoque del Testing CRM
Testing de Gestión de Leads
- Captura de leads: Formularios web, integración de email, imports API, entrada manual
- Scoring de leads: Puntuación automática basada en engagement y demografía
- Reglas de asignación: Leads dirigidos al representante correcto por territorio
- Deduplicación: Sistema detecta y fusiona leads duplicados
- Conversión: Lead se convierte en Account + Contact + Opportunity
Testing de Pipeline de Oportunidades
- Progresión de etapas: Prospección → Calificación → Propuesta → Negociación → Cerrada
- Cálculos de probabilidad y revenue esperado por etapa
- Campos requeridos por etapa
- Seguimiento de fecha de cierre y precisión del forecast
Reportes y Dashboards
- Filtros de reporte retornan datos correctos
- Gráficos de dashboard representan datos subyacentes con precisión
- Reportes cross-objeto unen datos correctamente
Testing Específico de Salesforce
Reglas de Validación
| Regla | Condición | Error Esperado |
|---|---|---|
| Teléfono requerido | Teléfono vacío cuando Status = “Contactado” | “Número de teléfono requerido para leads contactados” |
| Formato email | Email no coincide con patrón regex | “Ingrese un email válido” |
| Fecha cierre futura | Fecha de cierre en el pasado para oportunidades abiertas | “Fecha de cierre debe ser futura” |
| Cross-field | Descuento > 30% y Approval Status != “Aprobado” | “Descuentos mayores a 30% requieren aprobación” |
Testing de Triggers Apex
- Before triggers: validar o modificar datos antes de guardar
- After triggers: acciones después de guardar (crear registros relacionados)
- Operaciones bulk: triggers deben manejar 200+ registros (governor limits)
- Prevención de recursión
Testing Avanzado de Salesforce
Salesforce DX y CI/CD
- Testear deployment de metadata desde control de versiones
- Verificar creación de scratch orgs e instalación de paquetes
- Automatizar ejecución de tests Apex en pipeline CI
- Testear cobertura de código cumple requisito mínimo del 75%
Testing de CPQ
- Reglas de configuración de productos
- Cálculos de precios (descuentos por volumen, multi-moneda)
- Generación de cotizaciones (PDF, flujos de aprobación)
- Precios de suscripción (mensual/anual, prorrateo, renovación)
Testing de Integración
- Integraciones REST/SOAP API con sistemas externos
- Mensajes outbound y platform events
- Sincronización de datos con ERP y sistemas de marketing
- Integración SSO/SAML para autenticación
Ejercicio Práctico
Diseña casos de prueba para un flujo lead-to-cash:
- Captura de lead: Envío de formulario web crea lead con mapeo correcto
- Auto-asignación: Lead asignado al rep correcto por reglas de territorio
- Scoring: Actividades de engagement aumentan score; umbral dispara alerta
- Conversión: Lead se convierte a Account + Contact + Opportunity sin pérdida de datos
- Etapas de oportunidad: Progresar por cada etapa, verificar campos requeridos
Guía de Solución
Tests de captura:
- Enviar formulario con campos requeridos → lead creado con valores correctos
- Enviar con email existente → detección de duplicados se activa
- Enviar con email inválido → error de validación mostrado
Tests de conversión:
- Convertir lead sin account existente → nuevos Account, Contact, Opportunity
- Convertir con account existente → Contact agregado a Account existente
- Verificar mapeos de campos custom correctos
Tips Profesionales
- Testea con volúmenes de datos realistas — los governor limits se comportan diferente a escala
- Verifica que las reglas de validación se ejecuten en orden correcto y no conflicten
- Testea el proceso de refresh de sandboxes — sandboxes obsoletos causan inconsistencias
- Siempre testea como diferentes perfiles de usuario — la seguridad a nivel de campo varía por perfil
- Automatiza testing de regresión con herramientas como Provar, Copado o Salesforce CLI
Conclusiones Clave
- El testing CRM se enfoca en la precisión de flujos de trabajo e integridad de datos en el ciclo del cliente
- Los governor limits de Salesforce hacen esencial el testing a escala
- El testing de acceso basado en roles es crítico — diferentes usuarios deben ver diferentes datos
- Las automatizaciones de Salesforce deben testearse por interacciones y conflictos