Test di scalabilità
Il test di scalabilità è un metodo di test non funzionale che misura le prestazioni di un sistema o di una rete quando il numero di richieste degli utenti viene aumentato o ridotto. Lo scopo del test di scalabilità è garantire che il sistema sia in grado di gestire l'aumento previsto del traffico degli utenti, del volume dei dati, della frequenza dei conteggi delle transazioni, ecc. Verifica la capacità del sistema di soddisfare le crescenti esigenze.
Viene anche definito test delle prestazioni, in quanto tale si concentra sul comportamento dell'applicazione quando viene distribuita su un sistema più grande o testata con un carico eccessivo. Nell'ingegneria del software, il test di scalabilità consiste nel misurare il punto in cui l'applicazione smette di ridimensionarsi e identificare il motivo alla base.
Perché eseguire il test di scalabilità
- I test di scalabilità ti consentono di determinare in che modo la tua applicazione scala con l'aumento del carico di lavoro.
- Determina il limite di utenti per l'applicazione Web.
- Determina il degrado lato client e l'esperienza dell'utente finale sotto carico.
- Determina la robustezza e il degrado lato server.
Cosa testare nel test di scalabilità
Di seguito sono riportati alcuni attributi del test di scalabilità:
- Tempo di risposta
- Transizione dello schermo
- Portata
- Tempo (ora della sessione, tempo di riavvio, tempo di stampa, tempo di transazione, tempo di esecuzione dell'attività)
- Misurazione delle prestazioni con un numero di utenti
- Richieste al secondo, Transazioni al secondo, Hit al secondo
- Misurazione delle prestazioni con un numero di utenti
- Utilizzo della rete
- Utilizzo di CPU / memoria
- Web Server (richiesta e risposta al secondo)
- Misurazione delle prestazioni sotto carico
Strategia di test per i test di scalabilità
La strategia di test per la scalabilità I test differiscono in termini di tipo di applicazione che viene testata. Se un'applicazione accede a un database, i parametri di test testeranno la dimensione del database in relazione al numero di utenti e così via.
Prerequisiti per il test di scalabilità
- Capacità di distribuzione del carico : verificare se lo strumento di test del carico consente di generare il carico da più macchine e di controllarlo da un punto centrale.
- Sistema operativo: controlla con quali sistemi operativi vengono eseguiti gli agenti di generazione del carico e il master del test di carico
- Processore : controlla il tipo di CPU richiesto per l'agente utente virtuale e il master del test di carico
- Memoria : controlla quanta memoria sarebbe sufficiente per l'agente utente virtuale e il master del test di carico
Come eseguire il test di scalabilità
- Definire un processo ripetibile per l'esecuzione di test di scalabilità durante il ciclo di vita dell'applicazione
- Determina i criteri per la scalabilità
- Elenco degli strumenti software necessari per eseguire il test di carico
- Imposta l'ambiente di test e configura l'hardware necessario per eseguire i test di scalabilità
- Pianifica gli scenari di test e i test di scalabilità
- Crea e verifica la sceneggiatura visiva
- Crea e verifica gli scenari di test di carico
- Esegui i test
- Valuta i risultati
- Genera rapporti richiesti
Piano di test di scalabilità
Prima di creare effettivamente i test, sviluppare un piano di test dettagliato. È un passaggio importante per garantire che il test sia conforme ai requisiti dell'applicazione.
Di seguito sono riportati gli attributi per la creazione di un piano di test ben definito per i test di scalabilità.
- Passaggi per gli script : lo script di test deve contenere un passaggio dettagliato che determina le azioni esatte che un utente eseguirà.
- Dati di runtime : il piano di test dovrebbe determinare tutti i dati di runtime necessari per interagire con l'applicazione
- Test basati sui dati : se gli script richiedono dati variabili in fase di esecuzione, è necessario comprendere tutti i campi che richiedono questi dati.
Test di scalabilità vs test di carico
Test di scalabilità | Test di carico |
---|---|
|
|
Sommario:
- È un tipo di test del software che verifica la capacità di un sistema, una rete o un processo quando la dimensione / volume del sistema viene modificata per soddisfare una crescente esigenza.
- L'idea alla base del test di scalabilità è misurare il punto in cui l'applicazione smette di ridimensionarsi e identificare il motivo alla base
- La strategia di test per la scalabilità I test differiscono in termini di tipo di applicazione che viene testata.