Share via


Modifiche simultanee al database di test

Importante

Visual Studio App Center è pianificato per il ritiro il 31 marzo 2025. Anche se è possibile continuare a usare Visual Studio App Center fino a quando non viene completamente ritirato, esistono diverse alternative consigliate a cui è possibile prendere in considerazione la migrazione.

Altre informazioni sulle sequenze temporali di supporto e sulle alternative.

Gli script di test spesso modificano i dati esterni e testano le modifiche. Il processo include in genere l'impostazione dei dati sullo stato noto o iniziale in base al quale i test sono stati scritti. Questo processo può usare un database di test con credenziali per l'utente di test.

Questo scenario comune funziona bene per un singolo test in un dispositivo alla volta. Se si esegue il test su più dispositivi contemporaneamente, i test possono causare modifiche in conflitto nel database di test.

Per evitare modifiche al database in conflitto, è possibile usare gli approcci seguenti, aumentando approssimativamente l'ordine di complessità e potenza:

  1. Eseguire un solo test alla volta.

  2. Non modificare i dati comuni o non basarsi sui dati che i test potrebbero modificare.

  3. Simulare i dati nei test.

  4. Creare più utenti di test con credenziali univoce, in modo che i dispositivi simultanei eseseguono l'accesso come utenti diversi. Usare un indice del dispositivo per ottenere un identificatore univoco per ogni dispositivo all'interno di un'esecuzione di test e usare l'identificatore per cercare le credenziali utente. Questo approccio funziona solo per più dispositivi all'interno della stessa esecuzione di test, non in più esecuzioni di test simultanee.

    Gli script di test di App Center in Calabash, Appium e Xamarin.UITest possono accedere alla XTC_DEVICE_INDEXvariabile di ambiente. La variabile è una stringa con intervallo 0 su N-1, dove N è il numero di dispositivi in cui viene eseguito il test. È possibile usare questa variabile per cercare le credenziali quando si esegue un test in parallelo su più dispositivi. La variabile è disponibile solo per lo script di test, non per l'applicazione sottoposta a test.

  5. Creare un servizio Web esterno che verifica l'accesso in fase di esecuzione per ottenere un set univoco di credenziali. Questa soluzione è la più complessa, ma è anche la più generale.