Cos'è il Soak Test? Definizione, significato, esempi

Sommario:

Anonim

Soak Testing

Il Soak Testing è un tipo di test non funzionale utilizzato per misurare le prestazioni di un'applicazione software sotto un enorme volume di carico per un periodo di tempo prolungato. L'obiettivo del test Soak è garantire se l'applicazione software sostiene un volume elevato di utilizzo e per verificare cosa accadrebbe al di fuori delle sue aspettative di progettazione.

L'immagine seguente mostra un ciclo di test che mostra in quale fase viene eseguito il Soak Test ( tipo di test delle prestazioni ) su un'applicazione.

In questo tipo di test, ciò che fondamentalmente viene monitorato è l'utilizzo della memoria da parte di un'applicazione in un sistema. Sta testando a livello di sistema, per scoprire se il sistema resisterà a un volume di utilizzo molto elevato e per vedere cosa accadrebbe al di fuori delle sue aspettative di progettazione.

In questo tutorial imparerai-

  • Perché il Soak Testing?
  • Quando eseguire il Soak Test?
  • Strategia di Soak Testing
  • Caratteristiche del Soak Testing
  • ESEMPI di Soak Test
  • Problemi comuni osservati durante il Soak Test

Perché il Soak Testing?

Un sistema può comportarsi normalmente se utilizzato per 2 ore, ma quando lo stesso sistema viene utilizzato continuamente per 10 ore o più, potrebbe non funzionare o comportarsi in modo anomalo / casuale / potrebbe bloccarsi. Per prevedere tale guasto viene eseguito il Soak Test.

Quando eseguire il Soak Test?

Il Soak Test dovrebbe essere eseguito nei seguenti scenari: -

  1. Prima che il build venga distribuito al client, ovvero prima del rilascio di qualsiasi applicazione su una piattaforma specifica, è necessario superare una serie di test di carico con successo a livelli di traffico elevati o equivalenti. Dopo di che viene eseguito il test di ammollo . Ci aiuta a determinare come eseguire una particolare applicazione per un periodo prolungato. Se vengono rilevati problemi come perdite di memoria / danneggiamento della memoria durante il periodo, ad esempio quando è in modalità Soak, è necessario segnalarlo immediatamente.
  2. Il momento migliore per eseguire un test di ammollo è durante i fine settimana poiché un'applicazione deve essere in esecuzione per tutto il tempo di un giorno o di una notte. Dipende totalmente dai limiti della situazione di test. I test di immersione sono uno dei requisiti di conformità più importanti che devono essere seguiti molto rigorosamente da ogni azienda.

Strategia di Soak Testing

Long Session Soak Testing è una strategia in cui un sistema è sotto carico per un tempo più lungo.

Un semplice esempio è dove l'utente rimane connesso a un sistema per molte ore eseguendo una serie di transazioni commerciali. In questo modo vengono creati molti dati. Ci può essere molto carico sul server di sistema / database che può provocare lo stallo / arresto anomalo del server di sistema / database.

Sotto Long Session Soak Testing, le attività di più giorni (diciamo 30 giorni) vengono eseguite in un lasso di tempo limitato (diciamo 2 giorni). Il numero di transazioni in questo lasso di tempo limitato dovrebbe corrispondere o superare il valore di più giorni di transazioni. L'attenzione dovrebbe essere posta sul numero di transazioni elaborate. La parte più importante del Soak Testing è controllare la memoria disponibile nella CPU e la quantità di memoria che sarà in uso. Dobbiamo registrare l'utilizzo della memoria all'inizio e alla fine di un soak test. Se necessario, anche l'utilizzo della memoria di servizi come Java Virtual Machine è importante e deve essere monitorato.

Di seguito sono riportati alcuni altri controlli che devono essere eseguiti da qualsiasi utente / tester prima di iniziare con il Soak Test:

a) Monitorare il consumo di risorse del database.

b) Monitorare il consumo di risorse del server (ex utilizzo della CPU).

c) Il Soak Test dovrebbe essere eseguito con una concorrenza realistica degli utenti.

Caratteristiche del Soak Testing

Un metodo di prova di immersione standard dovrebbe avere le seguenti caratteristiche: -

  • La durata della maggior parte dei Soak Test è spesso determinata dal tempo disponibile.
  • Qualsiasi applicazione deve essere eseguita senza interruzioni se richiede un periodo di tempo prolungato.
  • Dovrebbe coprire tutti gli scenari concordati dalle parti interessate.
  • Per lo più ogni sistema ha un periodo di tempo di finestra di manutenzione regolare e il tempo tra tali periodi di finestra è un fattore chiave per determinare l'ambito di un Soak Test.

ESEMPI di Soak Test

  • Nel caso del dominio bancario quando c'è una grande quantità di dati dai commercianti, il tester metterà il sistema sotto carico continuamente per 70 - 150 ore per verificare come si comporta l'applicazione durante questo periodo di caricamento.
  • Supponiamo che ci siano 33.000 accessi, che devono essere inseriti nel sistema, rappresenta sette giorni e mezzo di attività. In questo caso, è possibile avviare un Soak Test di 60-70 ore entro venerdì sera intorno alle 18:00 che può essere completato entro lunedì mattina alle 6:00. Solo con tale prova sarà possibile osservare un eventuale degrado delle prestazioni nelle condizioni controllate.
  • Nel caso di videogiochi, applicazioni mobili, ecc. Comportano di lasciare il gioco o l'applicazione in uno stato in esecuzione per un periodo di tempo prolungato, in varie modalità di funzionamento, ad esempio inattivo, in pausa nella schermata del titolo e così via per scoprire se un'applicazione può gestire il carico continuamente previsto.

Problemi comuni osservati durante il Soak Test

  1. Allocazione della memoria (perdite di memoria che potrebbero eventualmente provocare una crisi di memoria o errori di arrotondamento che si manifestano solo nel tempo).
  2. Utilizzo delle risorse del database (mancata chiusura dei cursori del database in alcune condizioni che potrebbe causare lo stallo dell'intero sistema).
  3. Può anche portare a un degrado delle prestazioni, ad esempio per garantire che il tempo di risposta dopo un lungo periodo di attività prolungata sia buono come all'inizio del test.
  4. Mancata chiusura delle connessioni tra i livelli di un sistema multilivello in alcune circostanze che potrebbero bloccare alcuni o tutti i moduli del sistema.
  5. Il graduale degrado del tempo di risposta di alcune funzioni poiché le strutture dati interne diventano meno efficienti durante un lungo test.

Sommario

  • In Ingegneria del software, il test Soak viene eseguito per determinare se l'applicazione sottoposta a test può sostenere il carico continuo.
  • È un tipo di test delle prestazioni.
  • Aiuta il sistema a determinare se resisterà a un volume di utilizzo molto elevato
  • In questo tipo di test, ciò che fondamentalmente viene monitorato è l'utilizzo della memoria da parte di un'applicazione in un sistema
  • I controlli che devono essere eseguiti da qualsiasi utente / tester prima di iniziare con il Soak Test includono
    • Monitorare il consumo di risorse del database.
    • Monitorare il consumo di risorse del server (ex utilizzo della CPU).
    • Il Soak test dovrebbe essere eseguito con una concorrenza realistica degli utenti.

Questo articolo è fornito da Pallavi De