Uso de prueba de flujo versus clase de prueba para flujo en Salesforce

Uso de prueba de flujo versus clase de prueba para flujo en Salesforce

Introducción de la prueba de flujo

Anteriormente, si queríamos probar el flujo, necesitábamos escribir una clase de prueba de Apex para el flujo. Con la versión Summer '22, Salesforce introdujo un marco de prueba para flujos activados por registros para automatizar las pruebas de flujos. Ahora podemos dejar que Salesforce pruebe el flujo, asegurarnos de que los resultados cumplan con las expectativas y resaltar cuando no lo sean. Ahora podemos crear y ejecutar pruebas dentro del propio generador de flujo, de forma declarativa sin escribir ningún código.

Cómo funciona

Establecer detalles de prueba, desencadenante y ruta

Proporciona una etiqueta de prueba de flujo y una descripción de la prueba. Establezca el activador de prueba en Creado/actualizado según el escenario. La ruta de la prueba está configurada para Ejecutar inmediatamente.

imagen.png Establecer registro de activación inicial/actualizado

Usando la función de búsqueda, podemos buscar el registro para usarlo como plantilla inicial. Tras la selección del registro, los campos se completan a partir del registro seleccionado. La prueba hereda los valores de campo del registro seleccionado. Sin embargo, podemos modificar los valores de estos campos antes de finalizar la prueba. La prueba no está vinculada a este registro pero contiene y utiliza sus valores de campo.

imagen.png Establecer afirmaciones

La aserción es una forma de comparar el resultado real con el resultado previsto. Si coinciden, entonces la afirmación se evalúa como verdadera. De lo contrario, la afirmación falla. Escriba las siguientes afirmaciones para garantizar que se cumplan los criterios de entrada de registros para el flujo y se logre el resultado esperado.

imagen.png Ejecutar prueba y ver detalles

Haga clic en el botón "Ver pruebas", seleccione el menú desplegable de la prueba de flujo que queremos ejecutar y seleccione Ejecutar prueba y ver detalles.

imagen.png La prueba de flujo se ejecuta y resalta el camino que tomó la prueba. Si necesitamos probar el flujo, simplemente podemos ejecutar la prueba. Ya no es necesario configurar los datos de prueba mediante programación. ¡Esto aumenta la eficiencia de las pruebas! Si necesitamos realizar una mejora en este flujo en el futuro, necesitaremos actualizar el registro de prueba asociado en consecuencia.

imagen.png Beneficios

  1. Fácil y cómodo de usar: podemos crear registros de prueba a través de la interfaz de usuario y ponerlos a prueba.
  2. Tiempo y esfuerzo: reduce el tiempo y el esfuerzo necesarios, ya que no necesitamos escribir código, solo crear registros desde la interfaz de usuario y realizar afirmaciones.
  3. No afectará la cobertura del código existente a nivel de clase: si migramos cualquier funcionalidad del activador al flujo, la lógica subyacente del activador/clase también se limpia manualmente como parte de este ejercicio. Esto no reducirá la cobertura del código de la clase ya que la lógica se elimina por completo.
  4. Cobertura de la prueba de flujo: el porcentaje de cobertura no se captura en la prueba de flujo como podemos hacerlo a través de la clase Apex. Más bien es capaz de cubrir nodos. Una vez seleccionamos “Ejecutar prueba y ver detalles”. La ruta resaltada en amarillo representará la cobertura real del flujo desde el principio hasta el final del nodo.

imagen.png

imagen.png

imagen.png Desventaja

  1. Solo puede crear pruebas de flujo para crear, actualizar o crear/actualizar flujos activados por registros. Aún no se admite la eliminación de flujos activados por registros. – Solo para el escenario de eliminación de registros podemos escribir una clase de prueba
  2. Puede afectar la cobertura general: dado que la cobertura de prueba general se calcula en función de la cobertura de prueba de todas las clases combinadas (promedio), si migramos cualquier característica que tenga una cobertura de prueba más alta en la clase ápice relevante, podría reducir el porcentaje de cobertura general del código. (Como actualmente solo nos estamos enfocando en migrar el activador relacionado con la cuenta para fluir, solo se ve afectada 1 clase de prueba, por lo que no hay cambios significativos en la cobertura del código Apex).
  3. Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincrónica. Sin embargo, no tenemos flujo asíncrono en nuestra organización. Estamos creando flujos para cubrir escenarios que se ejecutan sincrónicamente.

Recomendación

  • Podemos comenzar a dar pasos para pasar a la prueba de flujo a medida que Salesforce realiza mejoras continuas en el flujo, por lo que en versiones futuras, podemos esperar que la prueba de flujo incluya más mejoras y reduzca las limitaciones.
  • Podemos comenzar escribiendo una prueba de flujo para las actualizaciones rápidas de campos (antes) de los flujos de activación de registros.
  • Mejorar la cobertura de prueba de las clases que tienen menos cobertura para que podamos usar la prueba de flujo.

Preguntas más frecuentes

¿Cuál es el porcentaje de cobertura para implementar Flow?

En relación con las pruebas de Apex, las pruebas de flujo no se consideran parte de la cobertura de pruebas como en el 75%+ para el despliegue de productos.

¿Brindan cobertura de código como lo hace la clase de prueba? Si no, ¿debemos pensar en eliminar el flujo de la cobertura de prueba?

Sí, cubren resaltando nodo por nodo.

¿Puede confirmar si la prueba de flujo permite ejecutar pruebas masivas?

No, no admite pruebas de registros masivos. En la mayoría de los escenarios relacionados con desencadenantes, hemos creado un registro individual en la clase de prueba y verificamos los escenarios de prueba. Si reemplazamos esos desencadenantes con flujos, no habrá una gran diferencia en los casos de prueba.

¿La prueba de flujo admite la asincronía?

Las pruebas de flujo no admiten rutas de flujo que se ejecuten de forma asincrónica. Sin embargo, no tenemos flujo asíncrono en nuestra organización. Estamos creando flujos para cubrir escenarios que se ejecutan sincrónicamente.

¿Cuál es el rendimiento de las pruebas de flujo en comparación con las clases de prueba?

No veo ninguna documentación oficial, pero creo que la prueba de flujo será más rápida en comparación con la clase de prueba porque cuando ejecutamos una prueba creará una instancia de la clase y llamará a métodos individuales. Podemos ejecutar casos de prueba individuales utilizando una prueba de flujo, pero no es posible ejecutar un solo método individual desde la clase de prueba, lo que lleva mucho tiempo.

Referencia

Prueba de flujo (beta)

Consideraciones para probar el flujo

50% Me gusta VS
50% No me gusta
Seguir leyendo

Eliminar duplicados de variables de recopilación de registros en un flujo

Última actualización el 7 de junio de 2022 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo se eliminan los duplicados de las variables de colección de registros o las variables de colección en flujo sin escribir código? Objetivos: después de leer este blog, podrá: Comprender los diferentes operadores de flujo en el elemento de asignación Comprender

La publicación Eliminar duplicados de las variables de recopilación de registros en un flujo apareció primero en Automation Champion .

Seguir leyendo

¡Elimine automáticamente la licencia del paquete administrado de un usuario desactivado!

Última actualización el 29 de marzo de 2022 por Rakesh GuptaSalesforce Flow es una forma fantástica de automatizar varios procesos comerciales. Le permite crear un flujo basado en ciertos criterios que establezca. El flujo de Salesforce puede hacer muchas cosas: crear un registro, actualizar registros, publicar en Chatter, enviar un correo electrónico, etc.

¡La licencia de paquete administrado posterior a la eliminación automática de un usuario desactivado! apareció por primera vez en Automation Champion .

Seguir leyendo

Eliminación automática de publicaciones de Chatter generadas por el sistema

Última actualización el 3 de marzo de 2022 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo se eliminan las publicaciones de Chatter generadas por el sistema? Objetivos: después de leer esta publicación de blog, el lector podrá: Asignar un campo personalizado de prospecto a un campo personalizado de cuenta Crear un flujo activado por registro para eliminar registros y mucho más

La publicación Eliminación automática de publicaciones de Chatter generadas por el sistema apareció primero en Automation Champion .

Seguir leyendo

Primeros pasos con Salesforce Flow: Parte 87 (Eliminación masiva de entrevistas de flujo en pausa y fallidas)

Última actualización el 28 de enero de 2022 por Rakesh Gupta Gran idea o pregunta duradera: en este artículo Acciones programadas, analicé cómo agregar una acción basada en el tiempo a un proceso. También discutí una forma de verificar las entrevistas en pausa y fallidas en el Generador de flujos y procesos, al

La publicación Primeros pasos con Salesforce Flow: Parte 87 (Eliminación masiva de entrevistas de flujo en pausa y fallidas) apareció primero en Automation Champion .

Seguir leyendo

Introducción a Salesforce Flow – Parte 66 (Dejar de seguir automáticamente registros según criterios)

Gran idea o pregunta duradera: ¿Desea dejar de seguir automáticamente los registros cuando los registros cumplen con criterios específicos? Como sabe, los usuarios pueden seguir y dejar de seguir registros haciendo clic en el icono Seguir en la página de detalles del registro. Sin embargo, los usuarios pueden automatizar el proceso Seguir / Dejar de seguir, según algunos criterios, ya sea por

La publicación Getting Started with Salesforce Flow – Part 66 (Auto Unfollow Records Based on Criteria) apareció primero en Automation Champion .

Seguir leyendo

Introducción a Salesforce Flow – Parte 63 (Permitir a los usuarios transferir en masa los registros de su propiedad)

Gran idea o pregunta duradera: ¿Cómo permite que los representantes de ventas transfieran fácilmente sus oportunidades a otro usuario? En el mundo actual, los representantes de ventas cambian de trabajo con frecuencia. Transferir sus negocios o clientes potenciales existentes o cerrados a otro usuario es… Continuar leyendo

La publicación Getting Started with Salesforce Flow – Part 63 (Permitir que los usuarios transfieran en masa los registros que poseen) apareció primero en Automation Champion .

Seguir leyendo

Introducción a Salesforce Flow – Parte 37 (Eliminación automática de seguidores de una oportunidad cerrada)

Última actualización el 4 de enero de 2021 por Rakesh Gupta Para comprender cómo resolver un caso de uso empresarial similar utilizando Process Builder. Consulte este artículo Introducción a Process Builder – Parte 29 (Eliminación automática de seguidores de las preguntas con las mejores respuestas). Grande … Sigue leyendo

La publicación Getting Started with Salesforce Flow – Part 37 (Eliminar seguidores automáticamente de una oportunidad cerrada) apareció primero en Automation Champion .

Seguir leyendo

Introducción a Salesforce Flow – Parte 32 (Programar publicaciones de Chatter)

Última actualización el 30 de diciembre de 2020 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo permite que sus usuarios programen previamente las publicaciones de Chatter? Chatter es una excelente manera de impulsar la colaboración en su organización. Puede publicar el estado,… Continuar leyendo

La publicación Getting Started with Salesforce Flow – Part 32 (Preschedule Chatter Posts) apareció primero en Automation Champion .

Seguir leyendo

Introducción a Salesforce Flow – Parte 40 (Correo electrónico a cliente potencial con la ayuda de Salesforce Flow)

Última actualización el 30 de diciembre de 2020 por Rakesh Gupta Gran idea o pregunta duradera: ¿Cómo utilizar el flujo y configurar el correo electrónico a cliente potencial en Salesforce? Salesforce Flow es una característica poderosa proporcionada por Salesforce para minimizar el código en su… Continuar leyendo

La publicación Getting Started with Salesforce Flow – Part 40 (Email to Lead with the Help of Salesforce Flow) apareció primero en Automation Champion .

Seguir leyendo

Preguntas de la entrevista sobre Workflow y Process Builder en Salesforce

P. Un desarrollador escribe un disparador en el objeto Cuenta en el evento anterior a la actualización que incrementa un campo de recuento. Una regla de flujo de trabajo también incrementa el campo de recuento cada vez … Leer más »

Seguir leyendo