Compartir a través de


Cambios simultáneos en la base de datos de prueba

Importante

Visual Studio App Center está programado para su retirada el 31 de marzo de 2025. Aunque puede seguir usando Visual Studio App Center hasta que se retire por completo, hay varias alternativas recomendadas a las que puede considerar la posibilidad de migrar.

Obtenga más información sobre las escalas de tiempo de soporte técnico y las alternativas.

Los scripts de prueba suelen cambiar los datos externos y probar los cambios. Normalmente, el proceso incluye volver a establecer los datos en el estado conocido o inicial en el que se escribieron las pruebas. Este proceso podría usar una base de datos de prueba con credenciales para el usuario de prueba.

Este escenario común funciona bien para una sola prueba en un dispositivo a la vez. Si prueba en varios dispositivos al mismo tiempo, las pruebas pueden provocar cambios en conflicto en la base de datos de prueba.

Para evitar los cambios en la base de datos en conflicto, puede usar los siguientes enfoques, en un orden aproximado de complejidad y potencia:

  1. Solo ejecute una prueba a la vez.

  2. No modifique los datos comunes o no confíe en los datos que podrían cambiar las pruebas.

  3. Simulación de los datos de las pruebas.

  4. Cree varios usuarios de prueba con credenciales únicas, por lo que los dispositivos simultáneos inician sesión como distintos usuarios. Use un índice de dispositivo para obtener un identificador único para cada dispositivo dentro de una ejecución de prueba y use el identificador para buscar credenciales de usuario. Este enfoque solo funciona para varios dispositivos dentro de la misma ejecución de prueba, no en varias ejecuciones de pruebas simultáneas.

    Los scripts de prueba de App Center Test en Calabash, Appium y Xamarin.UITest pueden acceder a la XTC_DEVICE_INDEX variable de entorno. La variable es una cadena con intervalo 0 a N-1, donde N es el número de dispositivos en los que se ejecuta la prueba. Puede usar esta variable para buscar credenciales al ejecutar una prueba en paralelo en varios dispositivos. La variable solo está disponible para el script de prueba, no para la aplicación en prueba.

  5. Cree un servicio web externo al que las pruebas puedan acceder en tiempo de ejecución para obtener un conjunto único de credenciales. Esta solución es la más compleja, pero también es la más general.