Data Warehousing - Test

I test sono molto importanti per i sistemi di data warehouse per farli funzionare correttamente ed efficientemente. Esistono tre livelli di base di test eseguiti su un data warehouse:

  • Test di unità
  • Test d'integrazione
  • Test di sistema

Test unitario

  • In unit test, ogni componente viene testato separatamente.

  • Ogni modulo, cioè procedura, programma, script SQL, shell Unix viene testato.

  • Questo test viene eseguito dallo sviluppatore.

Test d'integrazione

  • Nel test di integrazione, i vari moduli dell'applicazione vengono riuniti e quindi testati rispetto al numero di input.

  • Viene eseguito per verificare se i vari componenti funzionano correttamente dopo l'integrazione.

Test di sistema

  • Durante il test del sistema, l'intera applicazione del data warehouse viene testata insieme.

  • Lo scopo del test del sistema è verificare se l'intero sistema funziona correttamente insieme o meno.

  • Il test del sistema viene eseguito dal team di test.

  • Poiché la dimensione dell'intero data warehouse è molto grande, di solito è possibile eseguire test di sistema minimi prima che il piano di test possa essere attuato.

Programma dei test

Prima di tutto, il programma di test viene creato nel processo di sviluppo del piano di test. In questa pianificazione, prevediamo il tempo stimato necessario per il test dell'intero sistema di data warehouse.

Sono disponibili diverse metodologie per creare una pianificazione dei test, ma nessuna è perfetta perché il data warehouse è molto complesso e di grandi dimensioni. Anche il sistema di data warehouse si sta evolvendo in natura. Si possono affrontare i seguenti problemi durante la creazione di un programma di test:

  • Un problema semplice può avere una query di grandi dimensioni che può richiedere un giorno o più per essere completata, ovvero la query non viene completata in una scala temporale desiderata.

  • Potrebbero verificarsi errori hardware come la perdita di un disco o errori umani come l'eliminazione accidentale di una tabella o la sovrascrittura di una tabella di grandi dimensioni.

Note - A causa delle difficoltà sopra menzionate, si consiglia di raddoppiare sempre il tempo che normalmente si concede per il test.

Verifica del ripristino del backup

Il test della strategia di ripristino del backup è estremamente importante. Ecco l'elenco degli scenari per i quali è necessario questo test:

  • Errore multimediale
  • Perdita o danneggiamento dello spazio tabella o del file di dati
  • Perdita o danneggiamento del file di registro di ripristino
  • Perdita o danneggiamento del file di controllo
  • Errore istanza
  • Perdita o danneggiamento del file di archivio
  • Perdita o danneggiamento del tavolo
  • Errore durante l'errore dei dati

Test dell'ambiente operativo

Ci sono una serie di aspetti che devono essere testati. Questi aspetti sono elencati di seguito.

  • Security- È necessario un documento di sicurezza separato per i test di sicurezza. Questo documento contiene un elenco di operazioni non consentite e test di progettazione per ciascuna.

  • Scheduler- Il software di pianificazione è necessario per controllare le operazioni quotidiane di un data warehouse. Deve essere testato durante il test del sistema. Il software di pianificazione richiede un'interfaccia con il data warehouse, che richiederà allo scheduler il controllo dell'elaborazione notturna e la gestione delle aggregazioni.

  • Disk Configuration.- Anche la configurazione del disco deve essere testata per identificare i colli di bottiglia di I / O. Il test deve essere eseguito più volte con impostazioni diverse.

  • Management Tools.- È necessario testare tutti gli strumenti di gestione durante il test del sistema. Ecco l'elenco degli strumenti che devono essere testati.

    • Manager di eventi
    • Gestore di sistema
    • Gestore di database
    • Gestore della configurazione
    • Gestione ripristino backup

Testare il database

Il database viene testato nei tre modi seguenti:

  • Testing the database manager and monitoring tools - Per testare il database manager e gli strumenti di monitoraggio, è necessario utilizzarli nella creazione, esecuzione e gestione del database di test.

  • Testing database features - Ecco l'elenco delle funzionalità che dobbiamo testare -

    • Query in parallelo

    • Crea indice in parallelo

    • Caricamento dei dati in parallelo

  • Testing database performance- L'esecuzione delle query gioca un ruolo molto importante nelle misure delle prestazioni del data warehouse. Esistono serie di query fisse che devono essere eseguite regolarmente e dovrebbero essere testate. Per testare le query ad hoc, è necessario esaminare il documento sui requisiti dell'utente e comprendere completamente l'attività. Prenditi del tempo per testare le query più scomode che è probabile che l'azienda chieda rispetto a diverse strategie di indice e aggregazione.

Test dell'applicazione

  • Tutti i gestori dovrebbero essere integrati correttamente e lavorare in modo da garantire che il carico, l'indicizzazione, l'aggregazione e le query end-to-end funzionino secondo le aspettative.

  • Ogni funzione di ogni manager dovrebbe funzionare correttamente

  • È inoltre necessario testare l'applicazione per un periodo di tempo.

  • Dovrebbero essere testate anche le attività di fine settimana e di fine mese.

Logistica del test

Lo scopo del test di sistema è testare tutte le seguenti aree:

  • Software di pianificazione
  • Procedure operative quotidiane
  • Strategia di ripristino del backup
  • Strumenti di gestione e pianificazione
  • Elaborazione notturna
  • Prestazioni delle query

Note- Il punto più importante è testare la scalabilità. In caso contrario, ci lasceremo un progetto di sistema che non funziona quando il sistema cresce.