2015-10-01 22 views
9

Supponiamo di disporre di un sistema ampio e complesso con una grande quantità di dati e una complessa logica aziendale.Come gestire i dati dei test per i test di accettazione in progetti di grandi dimensioni?

Come gestire i dati di test (DB Oracle) per eseguire test di accettazione veloce (affidabile, ecc.) A partire dallo stato noto?

causa delle dimensioni e della complessità, test voglia:

  • run abbastanza veloce (1. revert veloce noto stato DB Prima di ogni prova/suite 2. definatelly non creare dati di test UI prima di ogni suite)
  • base su dati creati con interfaccia utente (senza diretta INSERTS alla banca dati - la duplicazione rischiosa della logica di business)
  • hanno diverse versioni/istantanee di stato DB (gruppo stabile di utenti con i dati relativi - per evitare conflitti tra affermazioni e nuovi dati creato con lo sviluppo dell'automazione in corso)

risposta

9

Quello che stai descrivendo si chiama Sandbox DB. Per ogni nuova distribuzione dovrai fornire/popolare questo DB con i dati necessari e dopo aver eseguito i test, per eliminarlo.

hanno diverse versioni/istantanee di DB stato

Questo è ciò che un Fresh Fixture pattern e Prebuilt Fixture pattern vi aiuterà con. Inoltre puoi guardare lo Fixture Teardown patterns.

Qui potete trovare alcune considerazioni quando si tratta di tale big-data-sandbox-strategies. Come la pianificazione, il master data repository e il monitoraggio.

Per gestire con successo tutto ciò, un server CI deve essere messo in funzione. Dal momento che hai codificato Java, un buone opzioni sono:

0

Quello che ho capito la tua domanda è che si desidera eseguire i casi di test con dati predefiniti e non inserire direttamente qualcosa dal database.

  1. creare il database dump per ogni versione e memorizzare loro
  2. Creare lavoro (es: il CI, un Jenkins, Hudson, ... di lavoro) che carica la base di dati di test con discariche necessarie. Questo dovrebbe essere automaticamente attivato dopo una distribuzione di successo per testare il server.
  3. Creare un modulo/funzione per la creazione di dati di test temporanei
  4. eseguire il vostro casi di test (risultato ideale di successo del lavoro nella fase 2 dovrebbe attivare questa)