Cos'è il test di concorrenza nei test del software?
Cos'è il test di concorrenza?
Il test di concorrenza è definito come una tecnica di test per rilevare i difetti in un'applicazione quando più utenti hanno effettuato l'accesso. In altre parole, monitorare l'effetto mentre più utenti eseguono la stessa azione contemporaneamente. L'immagine seguente mostra i test simultanei
Viene anche definito test simultaneo multiutente testing. Il testing di programmi concorrenti è più impegnativo del testing di programmi sequenziali, a causa di problemi di non determinismo e sincronizzazione.
Perché i test di concorrenza
- Identifica gli effetti dell'accesso simultaneo agli stessi record del database, moduli o codice dell'applicazione.
- Identifica e misura il livello di deadlock, blocco e utilizzo di codice single-threaded e limitazione dell'accesso alle risorse condivise
Vantaggi dei test simultanei
- Riduce relativamente la quantità di sforzo necessario per testare un'applicazione limitando l'ambito delle interazioni simultanee a pochi componenti ampiamente utilizzati e ben testati.
- Il valore di incapsulamento consente di analizzare il comportamento di una parte di un programma senza rivedere l'intero codice o programma
- Aiuta a migliorare l'affidabilità e la robustezza dei programmi simultanei.
Svantaggi dei test simultanei
Svantaggi che potrebbero verificarsi durante il test durante l'esecuzione di test simultanei
- È necessario testare su più piattaforme
- Richiede test più intensivi
- Le funzioni non restituiscono immediatamente il risultato al chiamante, ma può essere consegnato in un secondo momento tramite notifiche, blocchi, funzioni di callback o meccanismi simili, il che rende più difficile il test.
- Le informazioni o il flusso del programma non si riflettono nello stack di chiamate.
- Il numero di percorsi di esecuzione nel sistema può essere estremamente elevato in quanto tali processi in un sistema concorrente possono interagire tra loro durante l'esecuzione
- I programmi simultanei hanno un tasso di fallimento maggiore rispetto a quelli sequenziali
- Debug di programmi concorrenti
Sommario
La tecnica di test simultaneo o di concorrenza viene eseguita per rilevare i difetti in un'applicazione quando più utenti hanno effettuato l'accesso.