volume testing tutorial
Panoramica del test del volume:
L'immagine sotto è correlata in un modo o nell'altro con le nostre app? Sì, questo è esattamente ciò che accade quando sovraccarichiamo i nostri server, database, servizi web, ecc.
Tutti noi dobbiamo essere consapevoli dei test funzionali e non funzionali, ma siete consapevoli del fatto che i test non funzionali sono importanti quanto i test funzionali? A volte, nelle versioni di breve durata, tendiamo a ignorare questo test non funzionale, cosa che idealmente non dovremmo.
Non dovrebbe importarci se il proprietario del prodotto ha fornito questo requisito o meno. Dovremmo considerare questo test come parte del nostro processo di test completo anche per le piccole versioni.
Questo tutorial sul Volume Testing ti offre una panoramica completa del suo significato, necessità, importanza, lista di controllo e alcuni dei suoi strumenti per consentirti di comprenderlo in un modo migliore.
Cosa imparerai:
- Che cos'è il test del volume?
- Quando è questo imperativo del test?
- Perché dovrei mirare al test del volume?
- Qual è la mia lista di controllo per questo test?
- Test di volume vs test di carico
- Come eseguire questo test?
- Strumenti di test del volume
- Conclusione
- Lettura consigliata
Che cos'è il test del volume?
Il test del volume è un tipo di test non funzionale. Questo test viene eseguito per controllare il volume di dati gestito dal database. Il test di volume, chiamato anche test di inondazione, è un test non funzionale che viene eseguito per verificare le prestazioni del software o dell'app rispetto a dati enormi del database.
Il database viene esteso a un punto di soglia aggiungendo una grande quantità di dati e quindi il sistema viene testato per la sua risposta.
Questa era la parte teorica, lascia che ti spieghi con alcuni esempi pratici per aiutarti a capire il 'quando' parte del test del volume.
Quando è questo imperativo del test?
Idealmente ogni software o app dovrebbe essere testato per il volume di dati, ma in alcuni casi in cui i dati non saranno pesanti, tendiamo a evitare questo test. Ma in alcuni casi in cui i dati vengono gestiti in MB o GB su base giornaliera, è necessario eseguire sicuramente il test del volume.
Di seguito sono riportati alcuni esempi della mia esperienza di 8 anni che spiegano la parte 'quando':
Esempio 1:
Una delle mie imprese era un grande sistema che comprendeva sia un'app web che un'app mobile. Ma l'app web stessa aveva 3 moduli gestiti da 3 diversi team.
A volte, anche con noi, il database diventava lento quando tutti 'insieme' aggiungevamo dati per i nostri test. Era fastidioso e il lavoro veniva ostacolato a causa dell'enorme volume di dati e per facilitare il lavoro dovevamo ripulire il DB abbastanza frequentemente.
I dati che il sistema 'live' stava gestendo erano di circa un GB, quindi, rispetto all'app mobile, l'app web è stata testata molto spesso per il volume di dati. I team QA dell'app Web avevano i propri script di automazione che venivano eseguiti di notte ed eseguivano questo test.
Esempio 2:
Un altro esempio della mia impresa è stato un ecosistema che non solo aveva un'app Web, ma anche un'app SharePoint e persino un programma di installazione. Tutti questi sistemi stavano comunicando allo stesso database per i trasferimenti di dati. Anche i dati gestiti da quel sistema erano molto enormi e se per qualsiasi motivo il DB dovesse rallentare anche l'installatore smetterebbe di funzionare.
Quindi, il test del volume è stato eseguito regolarmente e le prestazioni del DB sono state osservate minuziosamente per qualsiasi problema.
Allo stesso modo, possiamo prendereEsempidi poche app che utilizziamo quotidianamente per fare acquisti, prenotare biglietti, transazioni finanziarie ecc.
Sul lato ribaltante, un test di volume ideale potrebbe non essere sempre realizzabile in quanto ha i suoi limiti e sfide.
Alcuni dei suoi limiti e sfide includono:
- È difficile creare l'esatta frammentazione della memoria.
- La generazione di chiavi dinamiche è complicata.
- Creare un ambiente reale ideale, ovvero la replica del server live, può essere complicato.
- Anche gli strumenti di automazione, la rete, ecc. Influenzano i risultati del test.
Ora abbiamo capito quando dobbiamo fare questo tipo di test. Comprendiamo anche noi 'perché' dovremmo fare questo test come in, l'obiettivo o lo scopo di eseguire questo test.
Perché dovrei mirare al test del volume?
Il test del volume può aiutarti a capire quanto è adatto il tuo sistema al mondo reale e aiuta anche a risparmiare i tuoi soldi che saranno poi spesi per scopi di manutenzione.
Di seguito sono riportati alcuni possibili motivi per eseguire questo test:
- L'esigenza fondamentale è analizzare le prestazioni del sistema rispetto all'aumento dei dati. La creazione di un enorme volume di dati ti aiuterà a comprendere le prestazioni del tuo sistema in termini di tempo di risposta, perdita di dati, ecc.
- Identifica i problemi che si verificheranno con dati enormi e il punto di soglia.
- Oltre il punto di sostenibilità o soglia, il comportamento del sistema, ovvero se il DB si arresta in modo anomalo, diventa irresponsabile o va in timeout.
- Implementare soluzioni per il sovraccarico del DB e persino verificarle.
- Trovare il punto estremo del proprio DB (che non può essere riparato) oltre il quale il sistema fallirà e quindi è necessario prendere precauzioni.
- In caso di più di un server DB, scoprire i problemi con la comunicazione DB, ovvero i più soggetti a guasti, ecc.
Ora conosciamo l'importanza e il motivo per eseguire questo test.
O n esperienza che vorrei condividere qui è che in termini di app mobili, il test del volume potrebbe non essere necessario perché solo una persona alla volta utilizza l'app e le app mobili sono progettate per essere semplici .
Quindi, a meno che tu non abbia un'app molto complessa con molti dati coinvolti, il test del volume può essere saltato.
Una volta che sai cosa deve essere verificato per il tuo sistema o app, la prossima cosa da fare è creare una lista di controllo da definire per la tua app 'che cosa' deve essere testato.
Qual è la mia lista di controllo per questo test?
Prima di entrare in alcuni esempi per la creazione di una lista di controllo per la tua app o un sistema, cerchiamo di comprendere alcuni suggerimenti da tenere a mente durante la creazione di una lista di controllo per il test del volume o l'approccio prima di iniziare il test.
Punti da ricordare:
- Tieni gli sviluppatori al corrente del tuo piano di test perché sanno molto sul sistema e possono fornirti input e persino colli di bottiglia.
- Comprendere l'aspetto fisico come nelle configurazioni del server, RAM, processore ecc. Bene prima di strategizzare il test.
- Comprendere le complessità del database, le procedure, gli script del database ecc. Nella misura possibile in modo da poter delineare la complessità del sistema nel suo complesso.
- Prepara informazioni informatiche, ad esempio grafici, schede tecniche, ecc., Se possibile per il normale volume di dati e per quanto bene è il sistema, questo ti aiuterà ad assicurarti che prima di stressare il DB, le prestazioni vadano bene per il normale caricamento dei dati. Questo ti aiuterà anche a garantire prima di passare alla parte stressante, che non ci sono problemi che richiederanno una correzione per il tuo test del volume.
Di seguito sono riportati alcuni esempi che puoi aggiungere o utilizzare nella tua lista di controllo:
- Verificare la correttezza delle modalità di archiviazione dei dati.
- Verificare se il sistema dispone o meno delle risorse di memoria necessarie.
- Controlla se esiste il rischio di un volume di dati superiore a un limite specificato.
- Controlla e osserva la risposta del sistema al volume di dati.
- Controlla se i dati vengono persi durante il test del volume.
- Verificare che se i dati vengono sovrascritti, lo si fa previa informazione.
- Identifica le aree che si estendono oltre il range normale come molti attributi (ricercabili), enorme no. di tabelle di ricerca, molte mappature di posizione, ecc.
- Come accennato in precedenza, creare prima una linea di base ottenendo risultati per il volume normale e poi andare avanti con lo stress.
Prima di passare agli altri esempi, casi di test e strumenti, dobbiamo prima capire in che modo questo test differisce dal test di carico.
Test di volume vs test di carico
Di seguito sono riportate alcune delle principali differenze tra test di volume e carico:
S.No. | Test del volume | Test di carico |
---|---|---|
uno | Il test del volume viene eseguito per verificare le prestazioni del database rispetto a un grande volume di dati nel database. | Il test di carico viene eseguito modificando i carichi utente per le risorse e verificando le prestazioni delle risorse. |
Due | L'obiettivo principale di questo test è sui 'dati'. | L'obiettivo principale di questo test è sugli 'utenti'. |
3 | Il database è sollecitato al limite massimo. | Il server è stressato al limite massimo. |
4 | Un semplice esempio può essere la creazione di un file di dimensioni enormi. | Un semplice esempio può essere la creazione di un gran numero di file. |
Come eseguire questo test?
Questo test può essere eseguito manualmente o utilizzando qualsiasi strumento. In generale, l'utilizzo degli strumenti farà risparmiare tempo e fatica, ma in caso di test del volume, come da mia esperienza l'utilizzo di strumenti può fornire risultati più accurati rispetto ai test manuali.
Prima di iniziare l'esecuzione del test case assicurati che:
- Il team ha accettato il piano di test per questo test.
- Gli altri team del progetto sono ben informati sulle modifiche al database e sul suo impatto sul loro lavoro.
- I banchi di prova sono impostati per le configurazioni specificate.
- Viene preparata la linea di base per i test.
- I volumi di dati specifici per il test (script o procedure di dati, ecc.) Sono pronti. Puoi leggere gli strumenti per la creazione dei dati sulla nostra pagina di generazione dei dati.
Vediamo alcuni casi di test di esempio che puoi utilizzare in esecuzione:
Verificare questo per tutti i volumi di dati selezionati per il test del volume:
- Verificare se l'aggiunta di dati può essere eseguita correttamente e se si riflette nell'app o nel sito Web.
- Verificare se l'eliminazione dei dati può essere eseguita correttamente e se si riflette nell'app o nel sito Web.
- Verificare se l'aggiornamento dei dati può essere eseguito correttamente e se si riflette nell'app o nel sito Web.
- Verificare che non vi siano perdite di dati e che tutte le informazioni vengano visualizzate come previsto nell'app o nel sito Web.
- Verificare che l'app o le pagine Web non siano in timeout a causa dell'elevato volume di dati.
- Verificare che gli errori di arresto anomalo non vengano visualizzati a causa dell'elevato volume di dati.
- Verificare che i dati non vengano sovrascritti e vengano visualizzati gli avvisi appropriati.
- Verifica che altri moduli del tuo sito web o della tua app non si arrestino in modo anomalo o non si blocchino con un volume di dati elevato.
- Verificare che il tempo di risposta del DB rientri nell'intervallo accettabile.
Strumenti di test del volume
Come discusso in precedenza, il test di automazione consente di risparmiare tempo e fornisce persino risultati accurati rispetto ai test manuali. Un altro vantaggio dell'utilizzo di strumenti per il test del volume è che possiamo eseguire i test di notte e in questo modo il lavoro degli altri team o dei membri del team non sarà influenzato dal volume di dati del database.
Possiamo programmare i test in mattinata ei risultati saranno pronti.
Di seguito è riportato un elenco di alcuni strumenti di test del volume open source:
# 1) DbFit:
Si tratta di uno strumento open source che supporta lo sviluppo basato sui test.
DbFit il framework di test è scritto sopra Fitness, i test vengono scritti utilizzando tabelle e possono essere eseguiti utilizzando qualsiasi IDE Java o strumento CI.
# 2) HammerDb:
HammerDb è anche uno strumento open source che può essere automatizzato, multi-thread e consente persino lo scripting in fase di esecuzione. Può funzionare con SQL, Oracle, MYSQL ecc.
# 3) JdbcSlim:
JdbcSlim i comandi possono essere facilmente integrati in Slim Fitness e supporta tutti i database che hanno un driver JDBC. L'obiettivo è mantenere separatamente la configurazione, i dati di test e le query SQL.
# 4) NoSQLMap:
Questo è uno strumento Python open source progettato per iniettare automaticamente attacchi e interrompere le configurazioni del database per analizzare la minaccia. Funziona solo per MongoDB.
# 5) Ruby-PLSQL-spec:
Il PLSQL può essere testato in unità utilizzando Ruby poiché Oracle è disponibile come strumento open source. Questo fondamentalmente utilizza due librerie: Ruby-PLSQL e Rspec.
Conclusione
Il test del volume è un test non funzionale che viene eseguito per analizzare le prestazioni del database. Può essere fatto manualmente e con l'aiuto di alcuni strumenti.
Se sei un addetto al controllo qualità che è nuovo a questo test, ti suggerisco di giocare con lo strumento o di eseguire prima alcuni casi di test. Questo ti aiuterà a comprendere il concetto di test di volume prima di passare al test.
come visualizzare i file bin su Android
Questo test è abbastanza complicato e ha le sue sfide, quindi è molto importante avere una conoscenza approfondita del concetto, della creazione del banco di prova e del linguaggio DB prima di eseguirlo.
Spero che questo tutorial abbia aumentato il volume delle tue conoscenze su questo argomento :)
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Tutorial sul test pairwise o sul test per tutte le coppie con strumenti ed esempi
- Test funzionale vs test non funzionale
- Esercitazione sul test di configurazione con esempi
- Download dell'eBook Testing Primer
- Tutorial sui test distruttivi e non distruttivi
- 11 migliori strumenti di automazione per testare applicazioni Android (strumenti di test per app Android)
- I migliori strumenti di test IVR: Tutorial sui test CYARA e HAMMER