what is endurance testing software testing
Introduzione al test di resistenza del software:
In questo articolo, discuteremo ed esploreremo in dettaglio i test del software Endurance.
Inizialmente, per cominciare, proviamo a capire in cosa consistono esattamente i test di resistenza e poi esploreremo tutti i dettagli al riguardo. Sono sicuro che questo articolo sarà davvero una guida perfetta per coloro che sono nuovi al concetto di test di resistenza.
Questo articolo ti fornirà una panoramica completa dei test di resistenza, compreso il significato, la necessità, la durata, i vantaggi, le sfide e i passaggi coinvolti insieme a esempi in termini semplici per consentirti di comprendere perfettamente il concetto.
Cosa imparerai:
- Cos'è il test di resistenza?
- Perché i test di resistenza?
- Durata di un test di resistenza
- Vantaggi dei test di resistenza
- Sfide nei test di resistenza
- Un esempio
- Passaggi per eseguire questo test
- Strumenti per test di resistenza
- Conclusione
- Lettura consigliata
Cos'è il test di resistenza?
La parola Endurance significa 'la capacità di qualcosa di durare o resistere all'usura'. Puoi semplicemente chiamarla durabilità, potere duraturo o longevità.
Quando si tratta del mondo del software, il test di resistenza (soak test o test di longevità o test di capacità) è un tipo di test non funzionale che viene eseguito per verificare se il sistema software può sostenere un enorme carico previsto continuato per un lungo periodo di tempo.
È uno dei tipi di test delle prestazioni e un sottotipo di test di carico.
Perché i test di resistenza?
Lo scopo principale dell'esecuzione di questo test è identificare eventuali potenziali perdite di memoria. Quindi, durante questo test, l'utilizzo della memoria viene attentamente monitorato. Spero che tu sia a conoscenza del concetto di perdite di memoria. Tuttavia, lasciatemi descrivere cosa sia effettivamente una perdita di memoria per coloro che potrebbero essere nuovi a questo termine.
PER perdita di memoria è un errore in un programma software per rilasciare la memoria scartata, che causa prestazioni ridotte o errori.
strumenti di test di registrazione e riproduzione gratuiti
Una perdita di memoria potrebbe non avere un impatto a breve termine, ma a lungo termine rallenta il sistema che non lascia memoria libera e quindi alla fine porta all'arresto dell'applicazione o del sistema. La perdita di memoria è un problema che diventa evidente solo dopo un certo periodo di tempo.
Quindi, abbiamo bisogno di test di resistenza per scoprire tali problemi.
Tuttavia, potrebbe essere possibile che con un carico enorme e significativo, l'applicazione funzioni bene per un certo periodo, ad esempio 1 ora. Tuttavia, se esposta alla stessa quantità di carico in modo continuativo per un periodo più lungo, ad esempio 3-4 ore, l'applicazione si arresta in modo anomalo a causa di problemi di risorse e spazio su disco insufficiente.
Un altro problema importante che i test del software di resistenza devono identificare è il degrado delle prestazioni. È necessario garantire che il rendimento oi tempi di risposta dopo un uso prolungato siano equivalenti o migliorati rispetto all'inizio del test.
I problemi di connessione al database vengono identificati anche nel test di resistenza. Se la connessione al database non viene chiusa correttamente, potrebbe verificarsi un arresto anomalo del sistema.
Il test di resistenza verifica anche se c'è una corretta chiusura della connessione tra i livelli del sistema che altrimenti causerebbe il blocco di alcuni moduli del sistema.
In poche parole, possiamo dire che lo scopo del test di resistenza è determinare come si comporta il sistema per un lungo periodo di utilizzo prolungato. I problemi principali identificati come parte dei test di resistenza sono perdite di memoria, degrado delle prestazioni, problemi di connessione al database, ecc.
Durata di un test di resistenza
Se si tratta di un progetto operativo 24 ore su 24, 7 giorni su 7, idealmente un test di resistenza dovrebbe durare 72 ore. Il motivo è che l'applicazione dovrebbe essere sufficientemente in grado di essere eseguita incustodita nei fine settimana (poiché il supporto nel fine settimana è costoso per le organizzazioni).
Quindi, dobbiamo testare il sistema esposto a un carico significativo per un periodo leggermente superiore a un fine settimana. Tuttavia, poiché eseguire il test per 72 ore potrebbe essere troppo complicato, in genere, eseguiamo il test di resistenza per 12 ore.
Inoltre, non esiste una regola rigida e veloce per la durata di un test di ammollo. Dipende principalmente da fattori come il coinvolgimento dei clienti, l'utilizzo effettivo della produzione, ecc. A volte, i test di resistenza durano anche un anno!
Vantaggi dei test di resistenza
I vantaggi derivati da questo test sono elencati di seguito:
- Assicura l'idoneità di un'applicazione.
- Scopre quei bug che altrimenti non possono essere trovati da nessun altro test delle prestazioni. Per esempio , potresti non trovare il problema di perdita di memoria durante il test del volume o il test di stress.
- Rende l'applicazione robusta: Identifica i problemi di riduzione delle prestazioni che potrebbero verificarsi sotto un carico continuo enorme e quindi risolverli rende l'applicazione più robusta.
- Racconta il comportamento del sistema sotto carico a lungo termine. In altre parole, verifica la sostenibilità del sistema nel tempo.
- I dati dei risultati del test di resistenza possono essere utilizzati dal cliente per convalidare o migliorare le proprie esigenze infrastrutturali.
Sfide nei test di resistenza
Le sfide coinvolte in questo test includono:
- È molto dispendioso in termini di tempo. Quindi, è difficile eseguire test di resistenza in un progetto che ha tempistiche molto stringenti.
- Non può essere fatto manualmente. Richiede uno strumento di automazione e un esperto che abbia la conoscenza di tale strumento.
- Spesso è difficile determinare quanto carico valga la pena applicare.
- Se l'ambiente di test non è isolato correttamente dall'ambiente di produzione live, gli errori dell'applicazione o della rete nel test di resistenza possono ostacolare l'intero sistema funzionante e provocare la perdita / il danneggiamento dei dati permanenti.
- Le eccezioni non gestite vengono osservate dal cliente.
Un esempio
Un esempio in cui è richiesto e può essere utilizzato il test di resistenza è l'applicazione bancaria.
Nei giorni di chiusura della banca, l'applicazione viene testata per sapere se il sistema può sostenere a lungo il carico atteso continuo o un numero elevato di transazioni.
Questo è un perfetto esempio di un test di resistenza.
Passaggi per eseguire questo test
Di seguito è riportato l'approccio per eseguire questo test:
# 1) Stabilire l'ambiente di test:
Ciò implica capire quale hardware, software, database (insieme alle sue dimensioni man mano che cresce con la durata del test) e OS è necessario per eseguire il test di resistenza.
Implica anche la creazione di un team per l'esecuzione dei test di resistenza e l'assegnazione di ruoli e responsabilità all'interno del team. L'ambiente di test dovrebbe essere pronto prima dell'esecuzione del test e dovrebbe essere adeguatamente isolato dal sistema live effettivo.
# 2) Creazione del piano di test e degli scenari di test:
I casi di test dovrebbero essere progettati, rivisti e finalizzati. Anche la strategia di esecuzione del test dovrebbe essere costruita in questo passaggio.
È necessario determinare il punto di interruzione dell'applicazione e definire la quantità di carico che verrà applicata all'applicazione durante un test di resistenza.
# 3) Stima del ciclo di prova:
Si tratta di analizzare quale sarebbe la durata di ciascuna fase di test e quanti cicli di test sono necessari.
# 4) Analisi dei rischi:
Questo è un passaggio molto importante in questo test. Ai casi di test viene assegnata la priorità in base al fattore di rischio.
Di seguito sono indicati i rischi e i problemi che un tester potrebbe incontrare durante il test di resistenza:
- Il test delle prestazioni rimarrà coerente con il tempo?
- Ci sono altri problemi minori che non sono ancora stati detratti?
- C'è qualche interferenza esterna che non è stata ancora affrontata?
# 5) Programma dei test:
Determina il budget, i risultati finali e i tempi.
# 6) Esecuzione del test:
Ciò comporta finalmente l'avvio del test di resistenza.
# 7) Chiusura del ciclo di prova:
Chiudere il ciclo di test in base ai criteri di uscita impostati nella fase di pianificazione del test. Potrebbe essere basato sui difetti riscontrati, sulla durata del test, ecc.
Strumenti per test di resistenza
Ci sono più strumenti disponibili sul mercato.
Di seguito sono elencati alcuni degli strumenti di test di resistenza più popolari e utili:
Conclusione
In questo articolo, abbiamo imparato cosa sono i test di resistenza? Come deve essere fatto? I suoi vantaggi e svantaggi e i vari strumenti disponibili.
Alcuni dei punti chiave sono:
- Il test di resistenza (soak test o test di longevità o test di capacità) è un tipo di test non funzionale che viene eseguito per verificare se il sistema software è in grado di sostenere un enorme carico previsto continuato per un lungo periodo di tempo.
- È un sottoinsieme del test di carico.
- I problemi principali identificati come parte di questo test sono perdite di memoria, degrado delle prestazioni, problemi di connessione al database, ecc.
- La durata del test di resistenza dipende dalle esigenze aziendali, del progetto e del cliente. Può durare 5-10 ore o pochi giorni o un mese o talvolta anche un anno.
- Rende l'applicazione più robusta e la prepara a sostenere sotto carichi pesanti continui.
- Poiché richiede molto tempo, dovrebbe essere evitato di eseguire manualmente il test di resistenza. È per lo più automatizzato.
- Dovrebbe iniziare con la creazione di un ambiente di test isolato, quindi creare piani di test, stimare la durata dei cicli di test, analizzare il rischio, preparare il programma di test, eseguire il test di resistenza e infine chiudere il ciclo di test.
- Alcuni degli ottimi strumenti per i test di resistenza sono Apache Jmeter, LoadStorm, LoadRunner, LoadUI, Appvance, OpenSTA, WebLoad e IBM Rational Performance Tester.
Ulteriori letture:
- I 15 migliori strumenti di test delle prestazioni del 2018: elenco degli strumenti di test di carico
- STH Articolo dettagliato sul test delle prestazioni - Con esempi
- 4 Suggerimenti per i test di resistenza che è necessario conoscere quando si esegue questo test tramite Apache JMeter
Lettura consigliata
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Lavoro assistente QA test software
- Test di carico con HP LoadRunner Tutorial
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro di freelance di scrittore di contenuti tecnici di test del software
- Alcune interessanti domande di intervista sul test del software
- Feedback e recensioni sul corso di test del software