Volver al blog Business Applications

¿Pueden dos personas editar el mismo registro de forma segura? Lista de verificación de concurrencia para aplicaciones autohospedadas

El guardado automático, el historial de registros y una base de datos compartida no bastan para saber qué ocurre cuando dos personas editan un registro a la vez. Usa esta lista para verificar el comportamiento en tus propios flujos de trabajo.

Dos integrantes de un equipo prueban cambios en el mismo registro empresarial de una aplicación autohospedada

Por qué conviene probar deliberadamente las ediciones simultáneas

Una aplicación compartida puede permitir que varias personas abran el mismo registro, pero eso por sí solo no aclara qué ocurre cuando lo modifican al mismo tiempo. Según la aplicación y el flujo de trabajo, el equipo quizá deba averiguar si un guardado posterior reemplaza los valores anteriores, si aparece un aviso de conflicto o si se conservan todos los cambios. No des por sentado ningún resultado sin comprobar la aplicación que utilizas.

El guardado automático, el historial de registros y una base de datos compartida no demuestran por sí solos que las ediciones simultáneas no puedan perder u ocultar cambios. Considera esas funciones como aspectos que debes investigar, no como garantías. El objetivo es confirmar cómo se comportan los tipos de registro, campos, roles de usuario y flujos de trabajo concretos.

  • Empieza por los registros en los que un valor incorrecto tendría un efecto operativo significativo.
  • Incluye las ediciones habituales de usuarios comunes, no solo las de cuentas de administrador.
  • Prueba la versión y la configuración de la aplicación que el equipo realmente planea utilizar.
Por qué conviene probar deliberadamente las ediciones simultáneas

Distingue los conflictos en el mismo campo de las ediciones en campos distintos

Hay al menos dos casos distintos que debes probar. En un conflicto en el mismo campo, dos personas cambian el mismo valor; por ejemplo, ambas actualizan el estado de un registro. En una edición de campos distintos, modifican valores separados: por ejemplo, una persona cambia una fecha límite mientras otra cambia el responsable. No consideres que el éxito en un caso demuestra que el otro sea seguro.

La edición colaborativa de documentos es otra categoría. Un documento compartido puede estar diseñado para permitir la edición simultánea de texto, mientras que un registro de CRM o de gestión de proyectos puede tener formularios, acciones de guardado e historiales diferentes. Prueba el flujo de trabajo del registro empresarial en sí; no deduzcas su comportamiento a partir de otra función del producto.

  • Anota el valor inicial y el cambio que pretende hacer cada usuario antes de probar.
  • En las pruebas del mismo campo, utiliza dos valores de reemplazo claramente distintos.
  • En las pruebas de campos distintos, verifica que ambos valores previstos estén presentes después de que los dos usuarios guarden.
Distingue los conflictos en el mismo campo de las ediciones en campos distintos

Consulta la documentación oficial y luego valida su contenido

Busca documentación oficial de la aplicación y versión específicas. Consulta la ayuda o la documentación para administradores y busca términos como edición concurrente, bloqueo de registros, detección de conflictos, guardado automático, historial de revisiones, registro de auditoría y tiempo de espera de la sesión. Comprueba si la documentación describe los tipos de registro y las acciones de usuario que son relevantes para tu equipo.

La documentación puede explicar el comportamiento previsto, pero los permisos, las extensiones o los flujos de trabajo de tu configuración pueden afectar al resultado. Contrasta lo que documenta el proveedor con una prueba controlada. Si la documentación no lo aclara o es ambigua, registra esa incertidumbre y guíate por los resultados de las pruebas en vez de dar por hecho que existe una función.

  • ¿La aplicación impide que otro usuario edite o permite que ambos continúen?
  • Si detecta un conflicto, ¿qué ve cada usuario y qué opciones tiene?
  • ¿El guardado automático se aplica a este formulario y campo, y cuándo se guarda?
  • ¿Qué registra el historial o la función de auditoría y quién puede consultarlo?
  • ¿La documentación condiciona el comportamiento a la versión, la configuración o el rol del usuario?

Prepara una prueba controlada con dos usuarios

Utiliza una instancia de prueba o un registro claramente designado para pruebas, de modo que el ejercicio no pueda modificar datos empresariales activos. Elige dos cuentas de usuario comunes con los roles que el equipo prevé utilizar. Abre el mismo registro en sesiones de navegador separadas, anota los valores iniciales y acuerda cambios distintos antes de que nadie guarde.

Ejecuta por separado los escenarios del mismo campo y de campos distintos. En cada prueba, anota el orden de las acciones, lo que ve cada usuario, cualquier aviso o mensaje de bloqueo, los valores que quedan después de guardar y lo que aparece cuando ambos usuarios actualizan la página. Repite el procedimiento si el resultado parece depender del momento en que se realizan las acciones. No sustituyas las pruebas con permisos normales por el acceso exclusivo de administrador.

  • Usa los usuarios A y B con permisos representativos y no administrativos.
  • Anota el estado inicial y los cambios que cada usuario pretende hacer en los campos.
  • Haz que ambos usuarios abran el registro antes de que cualquiera lo modifique.
  • Prueba un escenario en el que ambos cambien el mismo campo y otro en el que cambien campos distintos.
  • Guarda en un orden controlado, actualiza después ambas sesiones e inspecciona el registro guardado.
  • Registra los mensajes y las observaciones sin utilizar datos reales de clientes ni empleados.

Varía los tiempos, las conexiones y las sesiones abandonadas

Una sola prueba de guardado simultáneo quizá no cubra los tiempos habituales del equipo. Prueba primero a que un usuario guarde antes que el otro y luego invierte el orden. Comprueba también qué ocurre cuando alguien deja abierta una pantalla de edición, actualiza el navegador o vuelve después de una pausa. Son condiciones de prueba, no afirmaciones sobre cómo se comportará la aplicación.

Si el trabajo habitual incluye conexiones lentas o poco fiables, prueba esa situación en un entorno adecuado que no sea de producción, siempre que puedas hacerlo de forma segura. Observa si el usuario recibe una confirmación de que se completó el guardado, si un cambio pendiente sigue visible y qué ocurre al volver a abrir la página. No interpretes que un valor siga apareciendo en un navegador abierto como prueba de que se haya guardado.

  • Prueba primero que guarde el usuario A y luego el usuario B; después invierte el orden.
  • Actualiza un navegador después de que el otro usuario guarde y vuelve a inspeccionar el registro.
  • Deja abierta una sesión de edición y averigua si se avisa al usuario de que la información está desactualizada.
  • Prueba una conexión interrumpida o lenta solo en un entorno seguro y anota lo que indica la interfaz.
  • Comprueba si una sesión abandonada todavía puede enviar un valor antiguo al reanudarse.

Comprueba que los conflictos sean visibles y que puedan resolverse

Es más fácil gestionar un conflicto cuando los usuarios pueden entender qué ha ocurrido y qué deben hacer a continuación. Durante las pruebas, busca un aviso explícito, una indicación de que otra persona ha cambiado el registro o una forma clara de revisar el valor actual antes de guardar. Si no aparece ninguna señal, anótalo; no deduzcas que el conflicto se haya gestionado de forma silenciosa y segura.

Verifica la recuperación mediante las opciones que realmente ofrece la aplicación. Si dispone de una vista de historial o auditoría, comprueba si muestra los valores anteriores y posteriores pertinentes, el usuario y la hora de una manera que ayude al equipo a restaurar o conciliar un cambio. Si la aplicación no proporciona esos detalles, decide qué proceso independiente de revisión o registro hace falta.

  • ¿Puede cada usuario saber que el registro cambió después de abrirlo?
  • ¿Puede comparar el valor actual con el que pretendía guardar?
  • ¿Puede una persona autorizada identificar qué cambio se conservó y cuándo?
  • ¿Existe un procedimiento documentado y probado para corregir un valor sobrescrito o cuestionado?

Incluye los permisos, las pruebas de auditoría y los efectos posteriores

Repite las pruebas importantes con los roles que utilizarán el flujo de trabajo. Los permisos pueden afectar a quién puede ver un registro, editar campos concretos o consultar el historial, así que verifica los accesos que se esperan en el trabajo habitual. Mantén las cuentas de prueba y los registros de ejemplo separados de las operaciones activas.

Si guardar un registro puede activar una integración o un flujo de trabajo automatizado, incluye la comprobación del resultado en tu plan de pruebas. Confirma si el flujo utiliza los valores finales del registro que esperas y si las ediciones repetidas o corregidas tienen algún efecto posterior relevante. La información disponible no permite establecer cómo gestiona estos casos una aplicación o integración concreta, así que verifícalos en la aplicación y los sistemas conectados que utiliza tu equipo.

  • Prueba con roles de usuario y permisos por campo representativos, cuando corresponda.
  • Comprueba qué cambios pueden ver tus usuarios en las funciones de auditoría o historial disponibles.
  • Enumera las integraciones y automatizaciones asociadas al tipo de registro que estás probando.
  • Confirma los resultados posteriores esperados tras las ediciones del mismo campo y de campos distintos.

Define los criterios de aceptación antes de confiar en el flujo de trabajo

Antes de la prueba, deja por escrito qué significa un comportamiento seguro para el flujo de trabajo. Un equipo puede exigir un aviso de conflicto visible cuando hay cambios simultáneos en un campo crítico. Otro puede aceptar un procedimiento distinto y documentado, siempre que los usuarios puedan detectar y conciliar los cambios. Lo importante es que el requisito sea explícito y comprobable.

Conserva un registro breve de los resultados: aplicación y versión, tipo de registro probado, roles, pasos, comportamiento observado, opciones de recuperación y preguntas sin resolver. Si el comportamiento no cumple los criterios del equipo, considera cambiar el flujo de trabajo, añadir una revisión o elegir otra aplicación o modalidad de despliegue. Una infraestructura gestionada puede encargarse de las tareas de alojamiento, pero aun así es necesario evaluar el comportamiento de edición de la aplicación y las decisiones sobre datos, acceso y gobernanza.

  • Define qué campos y registros requieren detección de conflictos o una revisión adicional.
  • Especifica qué deben ver los usuarios cuando otra persona cambia un registro.
  • Exige una forma probada de identificar y corregir un valor no deseado.
  • Repite la prueba después de cambios importantes en la aplicación o la configuración.
  • No apruebes un flujo de trabajo mientras siga sin explicarse un escenario de conflicto de alto impacto.

Preguntas frecuentes

¿El guardado automático evita que se pierdan cambios cuando dos personas editan un registro?

No necesariamente. El guardado automático describe cómo se guardan los cambios, pero no determina por sí solo cómo se concilian las ediciones simultáneas. Consulta la documentación oficial y prueba el mismo registro con dos cuentas de usuario comunes.

¿Las ediciones en campos distintos son seguras automáticamente?

No lo des por hecho. Prueba las ediciones en campos distintos por separado de los conflictos en el mismo campo; después, actualiza ambas sesiones y verifica los valores finales del registro.

¿Basta con el historial del registro para recuperar un valor sobrescrito?

Depende de lo que registre la aplicación concreta y de quién pueda acceder a esa información. Comprueba si el historial muestra los valores pertinentes, el usuario y la hora, y prueba el proceso de recuperación que utilizaría el equipo.

¿Las pruebas de concurrencia deben hacerse con cuentas de administrador?

Para la prueba principal, utiliza cuentas comunes que representen a los usuarios reales. El acceso de administrador puede diferir de los permisos habituales, por lo que no debe sustituir las pruebas con los roles que editarán registros en el trabajo diario.

¿El alojamiento propio determina cómo funcionan las ediciones concurrentes?

El modelo de alojamiento, por sí solo, no determina cómo se editan los registros en una aplicación. Consulta la documentación oficial de la aplicación y prueba los flujos de trabajo pertinentes en la configuración que planeas utilizar.

Fuentes y lecturas adicionales

  1. Docker documentation — Docker
  2. Traefik documentation — Traefik Labs
  3. Let’s Encrypt documentation — Internet Security Research Group