complete performance testing guide with examples
Che cos'è il test delle prestazioni?
Il test delle prestazioni, noto anche come 'Perf Testing', è un tipo di test eseguito per verificare le prestazioni dell'applicazione o del software sotto carico di lavoro in termini di reattività e stabilità. L'obiettivo del test delle prestazioni è identificare e rimuovere i colli di bottiglia delle prestazioni da un'applicazione.
Questo test viene eseguito principalmente per verificare se il software soddisfa i requisiti previsti per la velocità, la scalabilità e la stabilità dell'applicazione.
come creare un'applicazione a pagina singola utilizzando angularjs
In questa serie di tutorial, tratteremo dettagli completi come: Tipi di test perf, processo e scrittura del documento di strategia di test delle prestazioni da zero.
Questa è una serie di tutorial dettagliati che potresti voler aggiungere ai segnalibri!
Esploriamo!
Elenco di TUTTI i tutorial sul test delle prestazioni in questa serie:
Tutorial n. 1: Guida completa al test delle prestazioni (Questo tutorial)
Tutorial n. 2: Differenza tra prestazioni, carico e stress test
Tutorial n. 3: Test funzionale vs test delle prestazioni
Tutorial n. 4: Piano di test delle prestazioni e strategia di test
Tutorial n. 5: Modi per potenziare i tuoi test delle prestazioni
Tutorial # 6: Guida al test delle prestazioni del cloud
Tutorial # 7: Guida al test delle prestazioni delle app mobili
Tutorial n. 8: Come eseguire il test manuale delle prestazioni
Tutorial n. 9: Tutorial sul test delle prestazioni del sito web
Tutorial n.10: Società di test delle prestazioni
Tutorial n. 11: Test delle prestazioni con LoadRunner (Serie)
Utensili:
Tutorial n. 12: Strumenti di test delle migliori prestazioni
Tutorial n.13: Tutorial sul test delle prestazioni di Neoload
Tutorial n. 14: Esercitazione sul test delle prestazioni di BlazeMeter Mobile
Tutorial # 15: Tutorial sul carico, stress e test delle prestazioni WAPT
Tutorial n. 16: Tutorial sul test delle prestazioni del sito Web SmartMeter.io
Cosa imparerai:
- Tipi di test delle prestazioni
- Processo di test delle prestazioni
- Come scrivere un documento strategico per il test delle prestazioni?
- Esempio di modello di strategia per il test delle prestazioni
- #1. Introduzione
- # 2) Campo di applicazione
- # 3) Approccio
- # 4) Dati di prova
- # 5) Criteri di ingresso e uscita
- # 6) Gestione dei difetti
- # 7) Strumenti e tecniche di test
- # 8) Criteri di sospensione e ripresa
- # 9) Test dei risultati finali
- # 10) Ruoli e responsabilità
- # 11) Potenziali rischi e piano di mitigazione
- # 12) Presupposti
- # 13) Dipendenze
- # 14) Abbreviazioni
- Best practice per test realistici delle prestazioni
Tipi di test delle prestazioni
Test di carico
Il test di carico è un tipo di test delle prestazioni in cui l'applicazione viene testata per le sue prestazioni durante l'utilizzo normale e di picco. Le prestazioni di un'applicazione vengono verificate rispetto alla sua risposta alla richiesta dell'utente e alla sua capacità di rispondere in modo coerente entro una tolleranza accettata su diversi carichi utente.
Le considerazioni chiave sono:
- Qual è il carico massimo che l'applicazione è in grado di contenere prima che l'applicazione inizi a comportarsi in modo imprevisto?
- Quanti dati il database è in grado di gestire prima che il sistema rallenti o si osservi il crash?
- Ci sono problemi relativi alla rete da affrontare?
Stress Testing
Lo stress test viene utilizzato per trovare modi per rompere il sistema. Il test fornisce anche la gamma di carico massimo che il sistema può sostenere.
Generalmente, lo stress test ha un approccio incrementale in cui il carico viene aumentato gradualmente. Il test viene avviato con un carico per il quale l'applicazione è già stata testata. Quindi, più carico viene aggiunto lentamente per stressare il sistema. Il punto in cui iniziamo a vedere i server che non rispondono alle richieste è considerato il punto di rottura.
Devono essere affrontate le seguenti domande:
- Qual è il carico massimo che un sistema può sostenere prima che si rompa?
- Come si rompe il sistema?
- Il sistema è in grado di ripristinarsi una volta che si è bloccato?
- In quanti modi un sistema può rompersi e quali sono i nodi deboli durante la gestione del carico imprevisto?
Test del volume
Volume Testing verifica che le prestazioni dell'applicazione non siano influenzate dal volume di dati gestito dall'applicazione. Per eseguire un test del volume, viene immesso un enorme volume di dati nel database. Questo test può essere un test incrementale o costante. Nel test incrementale, il volume dei dati viene aumentato gradualmente.
In genere, con l'utilizzo dell'applicazione, la dimensione del database aumenta ed è necessario testare l'applicazione su un database pesante. Un buon esempio potrebbe essere il sito web di una nuova scuola o di un college con piccole quantità di dati da archiviare inizialmente, ma dopo 5-10 anni, i dati archiviati nel database del sito web sono molto di più.
Test di capacità
=> L'applicazione è in grado di soddisfare il volume di affari sia in condizioni di carico normali che di picco?
Il test di capacità viene generalmente eseguito per prospettive future. Il test di capacità si rivolge a quanto segue:
- L'applicazione sarà in grado di supportare il caricamento futuro?
- L'ambiente è in grado di sostenere il prossimo aumento del carico?
- Quali sono le risorse aggiuntive necessarie per rendere l'ambiente sufficientemente capace?
Il test di capacità viene utilizzato per determinare il numero di utenti e / o transazioni che una determinata applicazione Web supporterà e continuerà a soddisfare le prestazioni. Durante questo test, le risorse come la capacità del processore, la larghezza di banda della rete, l'utilizzo della memoria, la capacità del disco, ecc. Vengono considerate e modificate per raggiungere l'obiettivo.
L'online banking è un perfetto esempio di dove i test di capacità potrebbero svolgere un ruolo importante.
Affidabilità / ripristino Test
Test di affidabilità o test di ripristino: verifica se l'applicazione è in grado di tornare al suo stato normale dopo un errore o un comportamento anormale e quanto tempo impiega per farlo (in altre parole, stima del tempo).
Se un sito di trading online riscontra un errore in cui gli utenti non sono in grado di acquistare / vendere azioni in un determinato momento della giornata (ore di punta) ma sono in grado di farlo dopo un'ora o due, possiamo dire che l'applicazione è affidabile oppure recuperato dal comportamento anormale.
Processo di test delle prestazioni
Ecco tutte le attività svolte in questo test:
# 1) Analisi / raccolta dei requisiti
Il team di performance interagisce con il cliente per l'identificazione e la raccolta dei requisiti - tecnici e di business. Ciò include ottenere informazioni sull'architettura, le tecnologie e il database dell'applicazione utilizzati, gli utenti previsti, la funzionalità, l'utilizzo dell'applicazione, requisito di prova , requisiti hardware e software, ecc.
# 2) Selezione POC / Strumento
Una volta identificata la funzionalità chiave, il POC (Proof Of Concept - che è una sorta di dimostrazione dell'attività in tempo reale ma in senso limitato) viene eseguito con gli strumenti disponibili.
L'elenco degli strumenti disponibili dipende dal costo dello strumento, dal protocollo utilizzato dall'applicazione, dalle tecnologie utilizzate per creare l'applicazione, dal numero di utenti che stiamo simulando per il test, ecc. Durante il POC, vengono creati script per la chiave identificata funzionalità ed eseguito con 10-15 utenti virtuali.
# 3) Piano e progettazione del test delle prestazioni
A seconda delle informazioni raccolte nelle fasi precedenti, vengono condotte la pianificazione e la progettazione dei test.
La pianificazione del test include informazioni su come si svolgerà il test delle prestazioni: ambiente di test, carico di lavoro, hardware, ecc.
il miglior convertitore video per mac
Maggiori informazioni sul documento sulla strategia di test di seguito.
# 4) Sviluppo del test delle prestazioni
- I casi d'uso vengono creati per la funzionalità identificata nel piano di test come ambito di PT.
- Questi casi d'uso vengono condivisi con il cliente per la loro approvazione. Questo per assicurarti che lo script venga registrato con i passaggi corretti.
- Una volta approvato, lo sviluppo dello script inizia con una registrazione dei passaggi nei casi d'uso con lo strumento di test delle prestazioni selezionato durante il POC (Proof of Concepts) e migliorato eseguendo la correlazione (per la gestione del valore dinamico), la parametrizzazione (sostituzione del valore) e le funzioni personalizzate come in base alla situazione o alla necessità. Maggiori informazioni su queste tecniche nei nostri tutorial video.
- Gli script vengono quindi convalidati rispetto a diversi utenti.
- Parallelamente alla creazione dello script, il team delle prestazioni continua a lavorare anche sulla configurazione dell'ambiente di test (software e hardware).
- Il team di performance si occuperà anche dei metadati (back-end) tramite script se questa attività non viene svolta dal cliente.
# 5) Modellazione del test delle prestazioni
Il modello di carico delle prestazioni viene creato per l'esecuzione del test. Lo scopo principale di questo passaggio è convalidare se le metriche prestazionali fornite (fornite dai clienti) vengono raggiunte durante il test o meno. Esistono diversi approcci per creare un modello di carico. ' Legge di Little 'Viene utilizzato nella maggior parte dei casi.
# 6) Esecuzione del test
Lo scenario è progettato in base al modello di caricamento in Controller o Performance Center ma i test iniziali non vengono eseguiti con il numero massimo di utenti che si trovano nel modello di caricamento.
L'esecuzione del test viene eseguita in modo incrementale. Per esempio, Se il numero massimo di utenti è 100, gli scenari vengono prima eseguiti con 10, 25, 50 utenti e così via, per poi passare a 100 utenti.
# 7) Analisi dei risultati dei test
I risultati dei test sono il risultato più importante per il tester delle prestazioni. È qui che possiamo dimostrare il ROI (Return on Investment) e la produttività che uno sforzo di test delle prestazioni può fornire.
Alcune delle migliori pratiche che aiutano il processo di analisi dei risultati:
- Un nome univoco e significativo per ogni risultato del test: questo aiuta a comprendere lo scopo del test.
- Includere le seguenti informazioni nel riepilogo dei risultati del test:
- Motivo dell'errore / i
- Modifica delle prestazioni dell'applicazione rispetto alla precedente esecuzione di test
- Modifiche apportate al test dal punto di creazione dell'applicazione o dall'ambiente di test.
- È una buona pratica fare un riepilogo dei risultati dopo ogni esecuzione di test in modo che i risultati dell'analisi non vengano compilati ogni volta che vengono riferiti i risultati del test.
- PT generalmente richiede molte esecuzioni di test per raggiungere la conclusione corretta.
- È bene avere i seguenti punti nel riepilogo dei risultati:
- Scopo del test
- Numero di utenti virtuali
- Riepilogo dello scenario
- Durata del test
- Portata
- Grafici
- Confronto di grafici
- Tempo di risposta
- Errore
- Raccomandazioni
# 8) Rapporto
I risultati dei test dovrebbero essere semplificati in modo che la conclusione sia più chiara e non dovrebbe essere necessaria alcuna derivazione. Il team di sviluppo necessita di maggiori informazioni sull'analisi, il confronto dei risultati e dettagli su come sono stati ottenuti i risultati.
Il rapporto di prova è considerato buono se breve, descrittivo e pertinente.
Come scrivere un documento strategico per il test delle prestazioni?
Questo tutorial spiegherà come scrivere una strategia di test delle prestazioni di esempio per un'applicazione di messaggistica.
Ricorda che questo è solo un esempio e che i requisiti differiranno da un client all'altro, conosceremo anche le migliori pratiche per il test delle prestazioni in questo tutorial.
Esempio di modello di strategia per il test delle prestazioni
Informazioni sull'applicazione chat ABC - Supponiamo che si tratti di un workbench di chat utilizzato in un'azienda dall'agente dell'assistenza clienti, questa applicazione di chat utilizza il protocollo XMPP, ovvero Extensible Messaging and Presence Protocol e Open fire server per l'invio e la ricezione di messaggi istantanei.
Sono stati apportati alcuni miglioramenti a questo client di chat esistente come il controllo del PC remoto, la diagnosi del PC, gli strumenti di riparazione, la chat in linea, ecc., Quindi questa strategia di test delle prestazioni è un esempio di tali applicazioni.
Per questa applicazione supponiamo che il team di progetto abbia deciso di utilizzare JMeter per il test delle prestazioni e JIRA per il monitoraggio dei difetti.
La prima pagina del documento sulla strategia del test delle prestazioni dovrebbe contenere il titolo del documento e i diritti d'autore della società.
La seconda pagina dovrebbe contenere il controllo del documento che include, la cronologia delle versioni del documento, l'elenco dei revisori e approvatori e l'elenco dei contributori.
La terza pagina dovrebbe contenere il sommario, seguito dagli argomenti seguenti.
#1. Introduzione
Lo scopo di questo documento è definire / spiegare come verrà eseguito il test delle prestazioni sull'applicazione di chat ABC per lo stato attuale e futuro.
L'applicazione chat ABC è un workbench dell'agente di supporto remoto interno. Questo workbench verrà utilizzato per soddisfare le richieste dei clienti. Questo Workbench ha funzionalità come chat in linea, identificazione del cliente, controllo remoto del PC, diagnosi del PC e strumenti di riparazione.
Obbiettivo
Gli obiettivi chiave del test delle prestazioni sono i seguenti:
- Per avere la certezza che le modifiche all'applicazione di chat esistente siano in linea con l'accordo sul livello di servizio definito.
- Per garantire che le prestazioni dell'applicazione, la disponibilità del servizio e la stabilità dell'applicazione non siano influenzate dai nuovi miglioramenti.
- I tempi di risposta della transazione rimangono entro la tolleranza accettabile rispetto al profilo di carico crescente.
- Le JVM mostrano un utilizzo stabile della memoria su profili di carico in aumento.
L'immagine sotto spiega chiaramente il processo di test e ottimizzazione delle prestazioni:
Architettura
È necessario incorporare il diagramma dell'architettura del progetto in questa sessione.
# 2) Campo di applicazione
In ambito
Di seguito è riportato l'ambito del test delle prestazioni per il workbench della chat ABC:
- Acquisizione della conoscenza delle transazioni commerciali chiave e costruzione della distribuzione del carico dopo uno studio dettagliato del sistema.
- Identifica gli scenari critici per i test delle prestazioni con l'assistenza di diversi percorsi di progetto.
- Utilizzare i risultati della versione precedente come base per le versioni future.
- Verificare e convalidare l'ambiente di test delle prestazioni e l'infrastruttura dello strumento di test di prestazioni / carico per eventuali macchine agente aggiuntive.
- Preparazione di script di test delle prestazioni utilizzando JMeter per gli scenari identificati che imitano il carico di picco identificato.
- Configurare il monitoraggio delle prestazioni sui server per monitorare il test al fine di identificare i colli di bottiglia durante la fase di esecuzione del test.
- Pubblica i risultati del test delle prestazioni.
- Coordinarsi con le varie parti interessate per risolvere i problemi di prestazioni identificati.
- Baseline del livello di prestazioni per le versioni future.
Fuori campo
- Test funzionali , UAT, test di sistema e test di sicurezza.
- Test / monitoraggio delle prestazioni di eventuali interfacce di terze parti.
- Ottimizzazione delle prestazioni. (La maggior parte delle volte l'ottimizzazione viene eseguita da un team diverso, se nel caso in cui si dispone di ingegneri delle prestazioni per mettere a punto il sistema, è possibile aggiungerlo in Inscope).
- Profilazione codice / Dimensionamento hardware / Pianificazione della capacità.
- Sicurezza / Test di vulnerabilità / UAT / Test della scatola bianca .
- Generazione di dati per test delle prestazioni.
- Test non funzionali ( Per esempio, failover, ripristino di emergenza, backup, usabilità) diversi dai test delle prestazioni.
- Test di qualsiasi soluzione mobile.
- Test e ottimizzazione delle prestazioni di applicazioni di terze parti.
- La realizzazione dei consigli sulle prestazioni, le modifiche al codice dell'applicazione e le modifiche alla configurazione dei prodotti / server supportati dal fornitore saranno fuori ambito dal punto di vista del Performance Team.
- Supporto infrastruttura / Implementazione build / Predisposizione ambiente / Ripristino database / Supporto di rete ecc.
# 3) Approccio
I test delle prestazioni per la chat ABC verranno condotti utilizzando Jmeter scrivendo plug-in XMPP personalizzati che utilizzano una libreria smack per le connessioni XMPP. Queste librerie vengono utilizzate per impostare connessioni, accedere e inviare messaggi di chat al server XMPP.
Queste librerie sono raggruppate in un file jar che viene distribuito in Jmeter ed è progettato in base agli scenari da testare. Jmeter Work Bench è installato nella macchina locale che si connette al server JMeter che dispone dei Load Generators per generare il carico richiesto sul sistema del server Chat per monitorare il comportamento del sistema.
Lo scenario di test verrà creato tramite script utilizzando lo strumento JMeter. Gli script verrebbero personalizzati come richiesto. Il programma verrà creato con l'accelerazione necessaria per simulare gli scenari del mondo reale.
Lo scenario di test verrebbe suddiviso e misurato nei seguenti aspetti:
a) Test di base: Eseguire ogni scenario con 1 Vuser e più iterazioni al fine di identificare se le prestazioni dell'applicazione soddisfano o meno l'accordo sul livello di servizio aziendale.
b) Prova di carico di base: Per soddisfare il benchmark aziendale sotto carico, il team di test delle prestazioni eseguirà un test di carico di base che aiuterà a identificare eventuali problemi di prestazioni del sistema con l'aumento del carico e crea la linea di base per il livello successivo di test delle prestazioni.
un'app per spiare un altro telefono
c) Picco di carico / test di scalabilità: Il team di test delle prestazioni eseguirà più test con l'aumento dei Vuser per soddisfare il carico previsto e anche per misurare le prestazioni dell'applicazione per stabilire la curva delle prestazioni e identificare se la distribuzione può supportare gli accordi sul livello di servizio sotto il carico di picco dell'utente.
Aiuta nella messa a punto o nella pianificazione della capacità delle singole JVM (Java virtual machine), del numero totale di JVM richieste e dei processori. Ciò sarà ottenuto aumentando il numero di utenti V al 50%, 75%, 100% e 125% della capacità di picco.
d) Test di resistenza: Il team di test delle prestazioni eseguirà questo test per un periodo di 8 ore / 16 ore / 24 ore per identificare perdite di memoria, problemi di prestazioni nel tempo e stabilità complessiva del sistema. Durante i test di resistenza, il team di test delle prestazioni monitora gli indicatori di prestazioni chiave, come i tempi di risposta delle transazioni e la stabilità dell'utilizzo della memoria.
Le risorse di sistema come CPU, memoria e IO devono essere monitorate con l'aiuto del team di progetto.
Si presume che l'ambiente di test delle prestazioni sia una replica dell'ambiente di produzione. I test verranno eseguiti con un carico incrementale per identificare dove l'applicazione non riesce.
Scenari di test delle prestazioni
Includere l'eccellenza con la serie di scenari.
Per esempio,
Scenario 1: Per convalidare la chat dell'agente e del cliente per X no. di sessioni simultanee.
Tipi di test delle prestazioni
La tabella riportata di seguito spiega i vari tipi di test delle prestazioni insieme ai loro obiettivi.
Tipo di test | Obbiettivo |
---|---|
UAT | Test di accettazione dell'utente |
Test di base | Stabilire le migliori prestazioni con volumi specifici che verranno utilizzati come riferimento per le misurazioni successive. |
Test di carico | Misurare le prestazioni del sistema sotto il carico di produzione massimo previsto. |
Test di resistenza | Misurazione della stabilità del sistema ad alto volume per un periodo prolungato. |
Test di resistenza | Misurare le prestazioni del sistema in condizioni sfavorevoli. |
Metriche delle prestazioni
- Metriche lato client
S.No | Metrico | Descrizione | Formato |
---|---|---|---|
1 | Tempo di risposta della transazione | Tempo di risposta delle pagine durante lo stato stazionario del test delle prestazioni | Grafico |
Due | Portata | La quantità di dati che i VUser hanno ricevuto dal server nel tempo | Grafico |
3 | Hit / secondo | Il numero di richieste HTTP effettuate dai VUser al server Web durante l'esecuzione dello scenario | Grafico |
4 | Numero di transazioni passate / non riuscite | Numero totale di transazioni superate e non riuscite durante l'esecuzione del test | Eccellere |
5 | Tasso di errore di transazione | La percentuale di transazioni non riuscite durante l'esecuzione del test | Grafico |
- Metriche delle prestazioni di rete e di sistema
Attività di test delle prestazioni e risultati finali
# 4) Dati di prova
Si presume che i dati dell'ambiente Performance saranno una copia dei dati di produzione e i dati di test richiesti saranno forniti dal team di progetto.
# 5) Criteri di ingresso e uscita
- Accesso a tutte le applicazioni nell'ambiente.
- Prontezza ambientale completa.
- Prontezza dei dati del test delle prestazioni.
# 6) Gestione dei difetti
- Il modulo di gestione dei difetti in JIRA verrà utilizzato nel progetto per la registrazione dei difetti e per il monitoraggio fino alla chiusura.
- L'identificazione dei difetti rilevati durante la fase di esecuzione del test verrà acquisita in JIRA e questi difetti verranno risolti dal team di sviluppo in base alle seguenti gravità.
- Le riunioni di revisione dei difetti si sarebbero tenute su base giornaliera con la partecipazione dei team di test, sviluppo, analisti della qualità e aziendali.
- I criteri per correggere i difetti diventerebbero stringenti man mano che il progetto si avvicina alla data del Go Live. Linee guida per i criteri di correzione dei difetti da pubblicare nelle riunioni di revisione dei difetti.
Definizione della gravità del difetto
Le definizioni dei codici di gravità sono le seguenti:
Gravità | Descrizione per problemi di sviluppo e miglioramento |
---|---|
Blocker | Errore di sistema, mostra stopper, problemi di rete |
Critico | Errori di sistema, nessuna soluzione chiara, interruzione o funzionalità aziendale mancante |
Maggiore | È stato rilevato un problema serio per il quale esiste la soluzione alternativa che potrebbe non essere chiara a tutti gli utenti, tuttavia, il prodotto non dovrebbe essere rilasciato senza risolvere |
medio | Esiste un problema con una soluzione facile / semplice, ma questo tipo di difetto può essere rilasciato previa approvazione da parte del responsabile aziendale e / o del progetto |
Basso | Problemi cosmetici che non interferiscono con le funzionalità aziendali o altri problemi intermittenti che non sono riproducibili ogni volta |
# 7) Strumenti e tecniche di test
Utensili | Scopo |
---|---|
Jmeter | Per verificare il carico e le prestazioni dell'applicazione ABC Chat. |
# 8) Criteri di sospensione e ripresa
Di seguito sono riportati i criteri di sospensione critica e ripresa che avranno un impatto sulle attività di test:
Sospensione | Impatto | Ripresa |
---|---|---|
Ambiente non configurato | Il test non può procedere | Prontezza ambientale. |
Applicazione trovata instabile | Il test non può procedere. | Problema risolto |
Dati di test non disponibili | Il test non può procedere. | Dati di test pronti |
# 9) Test dei risultati finali
I risultati del test delle prestazioni includono:
- Strategia di test delle prestazioni
- Documento sui requisiti di prestazione
- Documento sullo scenario del test delle prestazioni
- Script di test delle prestazioni
- Risultati del test delle prestazioni
# 10) Ruoli e responsabilità
I ruoli e le responsabilità sono chiaramente spiegati nella tabella riportata di seguito.
# 11) Potenziali rischi e piano di mitigazione
S.No | Rischio | Probabilità | Impatto | Piano di mitigazione | Proprietario |
---|---|---|---|---|---|
1 | Test non disponibilità dei dati per le esecuzioni dei test di carico delle prestazioni | H | H | Le date stimate per le esecuzioni dei test delle prestazioni dovrebbero essere riviste e aggiornate. Supporto funzionale / team di sviluppo richiesto per la raccolta dei dati. | - |
Due | Problemi ambientali | L | M | Assegna nuovamente la priorità ai risultati finali | - |
3 | Modifica della funzionalità / progettazione durante l'esecuzione del test delle prestazioni | M | H | Ciò richiede una rielaborazione degli scenari di test delle prestazioni | - |
4 | Prestazioni extra vengono eseguite per risolvere i problemi di prestazioni | M | H | I programmi di test delle prestazioni verrebbero modificati e aggiornati al team del prodotto. | - |
5 | Le stime vengono preparate sulla base di 1 build di correzione di bug per le prestazioni. Molteplici build di correzione di bug ritarderanno i cicli di test e alla fine dipenderà da quando la prossima build sarà disponibile per la riesecuzione. | H | H | Assegnare nuovamente la priorità ai cicli di esecuzione del test delle prestazioni. | - |
6 | Disponibilità hardware | M | H | La data di inizio della pianificazione verrebbe spostata di conseguenza. | - |
# 12) Presupposti
- L'ambiente di test delle prestazioni sarà una replica del panorama dell'architettura del prodotto. (es. hardware, software, interfacce, livelli di integrazione corretti, ecc.).
- Gli script delle prestazioni verranno progettati in base ai flussi critici per i quali l'utilizzo è elevato.
- Tutti i problemi di infrastruttura devono essere risolti prima dell'inizio del test delle prestazioni. Qualsiasi modifica alla configurazione del sistema apportata successivamente invaliderà i risultati del test.
- Un'applicazione è stabile e pronta per l'uso nell'ambiente di test delle prestazioni.
- Vengono rese disponibili le risorse hardware e software necessarie (come macchine / software generatori di carico, macchine controller / agenti).
- Qualsiasi modifica all'ambito passerà attraverso un processo di controllo delle modifiche e il team di test delle prestazioni valuterà l'impatto delle tempistiche e delle risorse.
- Ci si aspetta che i rispettivi server gestiscano il carico.
- I registri di traccia dell'applicazione devono essere abilitati per i sistemi di supporto a scopo di monitoraggio.
# 13) Dipendenze
- Disponibilità dell'ambiente di test delle prestazioni che è una replica del panorama dell'architettura del prodotto.
- Supporto richiesto da vari team funzionali, di sviluppo, database e infrastruttura durante le fasi di preparazione ed esecuzione dei test.
- Nessuna modifica al codice viene implementata durante l'intera fase di test delle prestazioni poiché il tempo è molto limitato.
- In caso di problemi imprevisti che portano a restrizioni all'interno delle scadenze, se le scadenze non consentono di soddisfare tutti gli ambiti di test entro le date milestone originali, è disponibile il supporto dei Responsabili del rilascio, per fornire una decisione di definizione della priorità e dell'ambito.
- Gli utenti aziendali dell'applicazione / esperti in materia saranno messi a disposizione per chiarimenti funzionali e per la firma delle transazioni commerciali.
- ABC chat Program Manager esaminerà e firmerà.
# 14) Abbreviazioni
Abbreviazione | Descrizione |
---|---|
DB | Banca dati |
Http | Hyper Text Transfer Protocol |
JDBC | Connettività al database Java |
QA | Garanzia di qualità |
LATTUGA | Accordo sul livello di servizio |
PMI | Esperto in materia |
A questo punto devi aver capito chiaramente come scrivere una strategia di test delle prestazioni efficace per un'applicazione di messaggistica.
Best practice per test realistici delle prestazioni
Per completare con successo un progetto di Performance Test, dobbiamo assicurarci di farlo nel modo giusto sin dalla fase di pianificazione, ovvero pianificazione, sviluppo, esecuzione e analisi.
Diamo un'occhiata in dettaglio a ciascuna fase per condurre efficacemente i test delle prestazioni.
# 1) Pianificazione
- Cerca di identificare i flussi di lavoro più comuni, ovvero gli scenari aziendali che devono essere testati. Se l'applicazione è esistente, controlla i log del server per comprendere gli scenari a cui si accede più di frequente. Se l'applicazione è nuova, parla con il team di gestione del progetto per comprendere il flusso aziendale principale.
- Pianifica il test di carico in modo tale da coprire un'ampia gamma di flussi di lavoro come utilizzo leggero, utilizzo medio e carichi di punta.
- È necessario eseguire molti cicli del test di carico, quindi provare a creare un framework in modo da poter utilizzare gli stessi script ancora e ancora. Inoltre, prova ad avere un backup degli script.
- Prova ad analizzare quanto tempo deve essere eseguito un test, è un'ora? 8 ore? Un giorno o una settimana? Di solito, i test di lunga durata scopriranno molti difetti importanti come bug del sistema operativo, perdite di memoria, ecc.
- Se la tua organizzazione utilizza un APM (Application Monitoring Tool), puoi includerlo durante le esecuzioni dei test in modo da poter identificare facilmente i problemi di prestazioni e identificare più facilmente la causa principale.
# 2) Sviluppo
- Durante lo sviluppo degli script, ovvero la registrazione, provare a fornire un nome di transazione più significativo in base ai nomi del flusso aziendale menzionati nel piano.
- Non registrare alcuna applicazione di terze parti e, se viene registrata, prova a filtrarla migliorando gli script.
- Non tutti i valori dinamici possono essere correlati utilizzando la funzione di autocorrelazione nello strumento, quindi prova a eseguire una correlazione manuale per evitare errori.
- Prova a progettare i tuoi test delle prestazioni in modo tale da colpire il backend dell'applicazione e non solo il server cache.
# 3) Esecuzione
- Assicurati di eseguire i test in un ambiente simile alla produzione, inclusi fattori come SSL, Load Balancer e Firewall. Ciò è necessario per simulare un carico realistico sul sistema.
- Prova a creare un carico di lavoro molto realistico, puoi ottenerlo controllando i log del server se si tratta di un'applicazione esistente e se si tratta di una nuova applicazione devi ottenere queste informazioni dal team aziendale. Ricorda che il carico di lavoro è molto importante per condurre test delle prestazioni di successo.
- Non giungere mai a una conclusione eseguendo test con la metà della dimensione dell'ambiente di produzione, si consiglia sempre di condurre i test in un ambiente che è esattamente lo stesso della produzione.
- Durante l'esecuzione di test di lunga durata, provare a guardare la corsa a intervalli frequenti per assicurarsi che il test funzioni senza intoppi.
# 4) Analisi
- Prova ad analizzare l'applicazione aggiungendo prima alcuni contatori importanti, quando viene rilevato un collo di bottiglia prova ad aggiungere contatori aggiuntivi rispetto al collo di bottiglia. Questo, a sua volta, aiuterà a trovare il problema più facilmente.
- Un'applicazione può fallire per molti motivi, ad esempio può non rispondere a una richiesta, rispondere con un codice di errore, fallire la logica di convalida o rispondere troppo lentamente. Quindi prova a esaminare tutto questo prima di giungere a una conclusione.
Conclusione
Sono sicuro che questo tutorial ti avrebbe fornito una conoscenza immensa sui test delle prestazioni e su come scrivere un documento di strategia del test delle prestazioni con esempi dettagliati.
Nel nostro prossimo tutorial, impareremo in dettaglio le differenze tra prestazioni, carico e stress test.
Inoltre, controlla => Serie di formazione approfondita gratuita di LoadRunner
Lettura consigliata
- Test delle prestazioni vs test di carico vs stress test (differenza)
- Test di carico con HP LoadRunner Tutorial
- Test delle prestazioni del cloud: fornitori di servizi di test di carico basati sul cloud
- Carico di applicazioni Web, stress e test delle prestazioni utilizzando WAPT
- Strumenti e servizi di test delle prestazioni del sito web
- Come eseguire il test manuale delle prestazioni?
- Test delle prestazioni delle applicazioni mobili utilizzando BlazeMeter
- Test delle prestazioni dei servizi Web mediante LoadRunner VuGen Scripting