Che cos'è il test del database e come eseguirlo?



Questo articolo sul test del database spiegherà le basi di cos'è il test del database, perché viene eseguito, i suoi vari tipi e gli strumenti popolari utilizzati.

I dati sono il cuore di ogni applicazione software, così come il file che ospita quei dati. Ma con l'aumento delle dimensioni dei dati o la complessità del database aumenta anche la complessità della gestione dei dati. Pertanto la convalida dei dati diventa molto necessaria. È qui che il test del database è utile e aiuta a controllare la qualità, la sicurezza e la correttezza dei dati che un'applicazione sta recuperando o memorizzando nel database. Per mezzo di questo articolo, ti fornirò una visione completa.

Di seguito sono riportati gli argomenti trattati in questo tutorial:





Quindi iniziamo.

Che cos'è il test del database?

Prima di parlare di ciò che è il test del database, permettimi di informarti prima sui database.Un database non è altro che una raccolta sistematica di dati che fornisce l'archiviazione dei dati e aiuta nella manipolazione dei dati. La gestione dei dati diventa molto semplice utilizzando questi database come database utilizzano oggetti per la gestione dei dati come tabelle per la memorizzazione dei dati, visualizzazione per rappresentazioni dei dati, funzioni e trigger per la manipolazione dei dati.



Adesso,Il test del database si riferisce al processo di convalida dei dati che vengono archiviati in un database verificando gli oggetti che controllano i dati e le varie funzionalità che lo circondano. In generale, le attività come il controllo della validità dei dati, il test dell'integrità dei dati, il controllo delle prestazioni correlate, il test di varie procedure, trigger e funzioni nel database sono coperti durante il test del database.

trova il valore più alto nell'array java

Ma per eseguire il test del database, è molto importante avere una solida conoscenza di SQL. Non preoccuparti se non hai l'esperienza richiesta, puoi fare riferimento a questo articolo su Nozioni di base su SQL per iniziare.

Perché testare i database?

Come sappiamo, il database è un dump di dati in cui i dati vengono raccolti in una quantità enorme e archiviati in un formato strutturato. Sebbene (DataBase Management System) fornisce un modo organizzato di gestire, recuperare e memorizzare questi dati, ci sono casi in cui i dati potrebbero diventare ridondanti, duplicati, ecc. In questi casi il test del database entra in gioco e ci aiuta a convalidare i dati. Di seguito ho elencato vari aspetti in base ai quali un database deve essere convalidato:



  1. Mappatura dei dati
    La mappatura dei dati è un aspetto integrante del test del database che si concentra sulla convalida dei dati che attraversano avanti e indietro tra l'applicazione e il database di backend.
  2. Validazione delle proprietà ACID
    ACIDO sta per PER tomicità, C onsistenza, io solazione, e D urabilità. Questo è un altro aspetto importante che deve essere confermato in ogni transazione del database.

    • Atomicita : Ciò significa che tutte le transazioni del database sono atomiche, ovvero le transazioni possono avere esito positivo o negativo. Conosciuto anche come Tutto o niente .
    • Consistenza : Ciò significa che lo stato del database rimarrà valido dopo il completamento della transazione.
    • Isolamento : Ciò significa che più transazioni possono essere eseguite contemporaneamente senza influire l'una sull'altra e alterare lo stato del database.
    • Durevolezza : Ciò significa che una volta che una transazione è impegnata, preserverà le modifiche senza errori indipendentemente dall'effetto di fattori esterni.
  3. Integrità dei dati
    Il test dell'integrità dei dati di un database si riferisce al processo di valutazione di tutti i tipi di processi, operazioni e metodi utilizzati per accedere, gestire e aggiornare il database, noto anche come CRUDELE operazioni. Questo si concentra esclusivamente sulla verifica dell'accuratezza e della coerenza dei dati archiviati nel database in modo da ottenere i risultati attesi o desiderati.
  4. Conformità alle regole aziendali
    Con l'aumento della complessità dei database, anche vari componenti come vincoli relazionali, trigger, stored procedure, ecc. Iniziano a complicarsi. Per evitare ciò, i tester forniscono alcune query SQL sufficientemente appropriate per convalidare gli oggetti complessi.

Tipi di test del database

Esistono 3 tipi di test del database che ho elencato di seguito:

  1. Test strutturali
  2. Test funzionali
  3. Test non funzionali

Esaminiamo ora ciascuno di questi tipi e i loro sottotipi uno per uno.

Test strutturali

Il test del database strutturale è il processo di convalida di tutti gli elementi che sono presenti all'interno del repository di dati e sono utilizzati principalmente per l'archiviazione dei dati. Questi elementi non possono essere manipolati direttamente dagli utenti finali. La convalida dei server database è una delle considerazioni più importanti ei tester che riescono a completare questa fase acquisiscono con successo padronanza nelle query SQL.

Vari tipi di test strutturali sono:

  • Test dello schema

Questo tipo di test è noto anche come test di mappatura e viene eseguito per garantire che la mappatura dello schema del front-end e del back-end sia sincronizzata. Alcuni dei punti di controllo importanti di questo test sono:

    • Convalida vari tipi di formati di schema associati ai database.
    • La verifica è richiesta per tabelle / viste / colonne non mappate.
    • La verifica è richiesta anche per garantire la coerenza dei database eterogenei in un ambiente con la mappatura complessiva dell'applicazione.
    • Fornisce vari strumenti per la convalida dello schema del database.
  • Test di tabelle e colonne di database

Alcuni dei punti di controllo importanti di questo test sono:

    • La compatibilità dei campi del database e della mappatura delle colonne nel back-end e nel front-end.
    • Convalida della lunghezza e della convenzione di denominazione dei campi e delle colonne del database secondo i requisiti.
    • Rilevamento e convalida di tabelle / colonne di database inutilizzate / non mappate.
    • Convalida della compatibilità del tipo di dati e delle lunghezze dei campi nelle colonne del database back-end con il front-end dell'applicazione.
    • Convalida che gli utenti siano in grado di fornire gli input desiderati utilizzando i campi del database specificati nei documenti di specifica dei requisiti aziendali.
  • Test di chiavi e indici

Alcuni dei punti di controllo importanti di questo test sono:

    • Assicurati che il file Chiave primaria e il Chiave esterna i vincoli sono già presenti sulle tabelle richieste.
    • Convalida i riferimenti delle chiavi esterne.
    • Assicurarsi che, in due tabelle, il tipo di dati della chiave primaria e le corrispondenti chiavi esterne siano gli stessi.
    • Convalida i nomi di tutte le chiavi e gli indici in base alle convenzioni di denominazione.
    • Verificare le dimensioni e la lunghezza dei campi e degli indici obbligatori.
    • Garantire la creazione degli indici cluster e degli indici non cluster nelle tabelle richieste secondo i requisiti aziendali.
  • Test di stored procedure

Alcuni dei punti di controllo importanti di questo test sono:

    • Convalida l'adozione delle convenzioni standard di codifica richieste, la gestione delle eccezioni e degli errori per tutte le stored procedure da parte del team di sviluppo in tutti i moduli dell'applicazione in fase di test.
    • Assicurati che il team di sviluppo abbia coperto tutte le condizioni / cicli applicando i dati di input richiesti all'applicazione in fase di test.
    • Verificare se il team di sviluppo ha applicato correttamente le operazioni TRIM o meno ogni volta che i dati sono stati recuperati dalle tabelle del database specificate.
    • Assicurarsi che gli output richiesti vengano generati eseguendo manualmente le stored procedure.
    • Verificare che i campi della tabella vengano aggiornati come specificato dall'applicazione in fase di test eseguendo manualmente le stored procedure.
    • Verificare che i trigger richiesti vengano richiamati in modo implicito eseguendo le stored procedure.
    • Rileva e convalida eventuali stored procedure inutilizzate.
    • Convalida della condizione Null a livello di database.
    • Verificare che tutte le stored procedure e le funzioni siano state eseguite e testate sul database vuoto sottoposto a test.
    • Convalidare l'integrazione complessiva dei moduli di stored procedure come specificato nei requisiti dell'applicazione in fase di test.
  • Trigger Testing

Alcuni dei punti di controllo importanti di questo test sono:

    • Convalidare che le convenzioni di codifica richieste siano seguite nella fase di codifica dei Trigger.
    • Assicurati che i trigger eseguiti soddisfino le condizioni richieste per le rispettive transazioni DML.
    • Verificare se i dati vengono aggiornati correttamente una volta che i trigger sono stati eseguiti.
    • Convalidare le funzionalità come Aggiorna, Inserisci, Elimina attiva la funzionalità dell'applicazione sottoposta a test.
  • Convalide del server di database

Alcuni dei punti di controllo importanti di questo test sono:

    • Convalidare le configurazioni del server databasecome specificato nei requisiti aziendali.
    • Assicurarsi che l'utente richiesto esegua solo i livelli di azioni richiesti dall'applicazione sottoposta a test.
    • Assicurarsi che il server del database sia in grado di soddisfare le esigenze del numero massimo di transazioni utente consentite secondo le specifiche dei requisiti aziendali.

Test funzionali

Il test del database funzionale è il processo che garantisce che le transazioni e le operazioni eseguite dagli utenti finali siano coerenti con le specifiche aziendali.

Vari tipi di test funzionali sono:

  • Test della scatola nera

Black Box Testing si riferisce al processo che controlla varie funzionalità verificando l'integrazione del database. In questo, i casi di test sono generalmente semplici e vengono utilizzati per verificare i dati in entrata e in uscita dalla funzione. Per testare la funzionalità del database vengono utilizzate varie tecniche come la tecnica del grafico causa-effetto, l'analisi del valore limite e il partizionamento di equivalenza. Viene generalmente eseguito nelle prime fasi di sviluppo e costa meno rispetto ad altri test funzionali. Ma presenta alcuni inconvenienti come alcuni errori non possono essere rilevati da esso e non ci sono specifiche su quanto del programma dovrebbe essere testato.

  • Test della scatola bianca

White Box Testing si occupa della struttura interna del database e gli utenti non sono a conoscenza dei dettagli delle specifiche. Questo test richiede trigger di database e test di viste logiche che supportano il refactoring del database. Inoltre, funzioni di database, trigger, visualizzazioni, Query SQL , ecc., vengono testati anche in questo. Il test white box viene utilizzato per convalidare le tabelle del database, i modelli di dati, lo schema del database, ecc. Aderisce alle regole di integrità referenziale e seleziona i valori di tabella predefiniti per verificare la coerenza del database.Tecniche come copertura delle condizioni, copertura delle decisioni, copertura delle dichiarazioni, ecc. Sono spesso utilizzate per eseguire i test White Box. A differenza del Black box testing, gli errori di codifica possono essere facilmente rilevati per eliminare i bug interni presenti nel database. L'unico inconveniente di questo tipo di test è che non copre le istruzioni SQL.

Test non funzionali

Il test non funzionale è il processo di esecuzione di test di carico, stress test, verifica dei requisiti minimi di sistema necessari per soddisfare le specifiche aziendali insieme alla rilevazione dei rischi e all'ottimizzazione delle prestazioni del database.

I principali tipi di test non funzionali sono:

  • Test di carico

La funzione principale dell'esecuzione del test di carico è convalidare l'impatto sulle prestazioni della maggior parte delle transazioni in esecuzione nel database. In questo test, è necessario un tester per verificare le seguenti condizioni e meno

    • Qual è il tempo di risposta richiesto per eseguire transazioni per più utenti situati in remoto?
    • Qual è il tempo impiegato dal database per recuperare i record specifici?
  • Stress Testing

Lo stress test è un processo di test che viene eseguito per identificare il punto di interruzione del sistema. Pertanto, in questo test, un'applicazione viene caricata fino al punto in cui il sistema non riesce.Questo punto è noto come a punto di rottura del sistema di database. Gli strumenti di stress test comunemente usati sono LoadRunner e WinRunner .

Vediamo ora quali sono le varie fasi coinvolte nel test del database.

Fasi di test del database

Il test del database non è un processo noioso e include varie fasi nel ciclo di vita del test del database in conformità con i processi di test.

tutorial Android Studio per principianti

Le fasi chiave del test del database sono:

  1. Configurazione dei prerequisiti di test
  2. Esegui i test
  3. Verifica lo stato del test
  4. Convalida dei risultati
  5. Consolidare e pubblicare report

Ora che sai cos'è il test del database e come eseguirlo, consentitemi ora di gettare un po 'di luce sui vari strumenti che vengono utilizzati principalmente per i test del database.

Strumenti di test del database

Ci sono numerosi strumenti sul mercato utilizzati per generare i dati di test, gestirli e infine eseguire test di database come test di carico e test di regressione, ecc. Di seguito ho elencato alcuni degli strumenti preferiti:

Categoria Utensili
Strumenti per la protezione dei dati
  • Privacy dei dati di IBM Optim
Strumenti di test di carico
  • Prestazioni web
  • Rad View
  • Mercurio
Strumenti del generatore di dati di prova
  • Data Factory
  • Generatore di dati DTM
  • Dati Turbo
Strumento di gestione dei dati di test
  • IBM Optim Test Data Management
Strumenti di unit test
  • SQLUnit
  • TSQLUnit
  • DBFit
  • DBUnit

Quindi era tutta una questione di test del database. Con questo, vorrei concludere questo articolo. Spero che questo articolo ti abbia aiutato ad aggiungere valore alle tue conoscenze. Per ulteriori informazioni su SQL o database, è possibile fare riferimento al nostro elenco completo di letture qui: .

Se desideri ricevere una formazione strutturata su MySQL, dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere MySQL in profondità e ti aiuterà a raggiungere la padronanza dell'argomento.

Hai domande per noi? Si prega di menzionarlo nella sezione commenti di ' Test di database 'E ti ricontatterò.