Che cos'รจ il test di benchmark?
โก Riepilogo intelligente
Il benchmarking stabilisce uno standard ripetibile e misurabile per le prestazioni di un'applicazione, in modo che ogni versione futura possa essere confrontata con esso. Senza un punto di riferimento, un risultato prestazionale รจ solo un numero senza alcun parametro di valutazione.

Prima di imparare il test di benchmark, capiamo:
Benchmark nei test delle prestazioni
A Benchmark nei test delle prestazioni รจ una metrica o un punto di riferimento rispetto al quale prodotti o servizi software possono essere confrontati per valutare le misure di qualitร . In altre parole, Benchmark indica uno standard stabilito che aiuta a determinare la qualitร di un prodotto o servizio software. Possiamo confrontare un prodotto o un servizio software per valutarne la qualitร .
Ad esempio, una squadra di calcio ha un punto di riferimento affinchรฉ un giocatore possa qualificarsi come a giocatore della massima serie. L'abilitร impostata per il benchmark potrebbe essere il numero di goal segnati nelle ultime cinque stagioni, o il possesso palla durante il primo tempo, o un numero minimo di partite giocate nel torneo locale, ecc.
Che cos'รจ il test di benchmark?
Test di riferimento misura un insieme ripetibile di risultati quantificabili che funge da punto di riferimento rispetto al quale รจ possibile confrontare prodotti/servizi. Lo scopo dei risultati dei test benchmark รจ confrontare le versioni software presenti e future con i rispettivi benchmark.
Un punto di riferimento deve essere ripetibile. Ad esempio, ad ogni iterazione del test di carico, se i tempi di risposta variano troppo, รจ necessario valutare le prestazioni del sistema. Il tempo di risposta deve essere stabile tra le diverse condizioni di carico.
Un punto di riferimento deve essere quantificabile. Ad esempio, l'esperienza dell'utente non puรฒ essere quantificata in numeri, ma รจ possibile quantificare il tempo che un utente trascorre su una pagina Web grazie a una buona interfaccia utente.
Benchmark Testing non รจ un termine correlato solo al test del software, ma si occupa anche del test dell'hardware ed รจ considerato uno dei compiti piรน importanti nel mondo degli affari.
In questo tutorial, discuteremo i benchmark per un'applicazione client-server o, in altre parole, un'applicazione web. Il test di benchmark puรฒ essere eseguito per i seguenti servizi,
- Compatibilitร con il browser
- Collegamenti interrotti
- Conformitร HTML
- Tempo di caricamento
- Accessibilitร
- Link popolaritร
Perchรฉ i test di benchmark sono importanti
A livello aziendale, i test di benchmark possono essere utili per determinare
- Quanto bene si sta comportando un'applicazione basata sul web rispetto alla concorrenza
- Come diversi tipi di clienti sperimentano il tempo di risposta e la disponibilitร di un sito
- Garantisce che i siti Web siano conformi agli standard e alle migliori pratiche
- Consente di valutare i fornitori di servizi di terze parti prima di effettuare un contrattotracdecisione di ting
- Permette di capire gli errori da evitare
Creazione di un piano di test di benchmark
Un piano di test รจ l'elemento piรน cruciale del processo di test benchmark. Il piano del test di benchmark segue i passaggi indicati di seguito:
- Ridimensionamento e richiamo del carico di lavoro
- Raccogliere e archiviare misure per i test di benchmark
- Definire l'intervallo di tempo richiesto e il punto terminale di un processo di test
- Preparare un piano di backup per superare qualsiasi nuovo fallimento del test case
- Decidere l'autoritร di chiamare la terminazione del processo finale
Come eseguire test di benchmark
Ci sono 4 fasi coinvolte nel Benchmark Testing:
Passaggio 1) Fase di pianificazione
- Individuare e dare prioritร a standard e requisiti
- Decidere i criteri di riferimento
- Definire il processo di test benchmark
Passaggio 2) Fase di analisi
- Identificare la causa principale dell'errore per migliorare la qualitร
- Definizione degli obiettivi per il processo di test
Passaggio 3) Fase di integrazione
- Condividi i risultati con la persona interessata e ottieni l'approvazione
- Stabilire obiettivi funzionali
Passaggio 4) Fase di azione
- Sviluppare il piano di test e la documentazione
- Implementare le azioni specificate nelle fasi precedenti e monitorare i progressi
- Esegui il processo in modo continuo
Componenti del test di benchmark
Sistemi diversi presentano gradi di complessitร diversi e richiedono tecniche diverse per testare le applicazioni.
Ci sono 3 componenti principali del Benchmark Testing. Sono
- Specifiche del carico di lavoro: Determinare il tipo e la frequenza delle richieste da inviare al sistema sotto test.
- Specifiche delle metriche: Determinare quale elemento misurare, ad es.; Velocitร di download
- Specifica della misurazione: Determinare come misurare gli elementi specificati per trovare valori appropriati
Aspetti da considerare durante i test di benchmark
Per eseguire test di benchmark di successo รจ necessario considerare i seguenti fatti.
- Coerenza e controllo sono misure importanti per eseguire test di benchmark.
- Comprendere l'architettura del sistema per progettare criteri di test e dati di test
- Esaminare i dati statici iniziali e aggiornarli in base al numero di utenti
- Verifica la funzionalitร "Reimposta" ove richiesto e definisci la velocitร di transazione al secondo (si occupa specificamente delle transazioni degli utenti rispetto a un database)
- Suddividere gli elementi del sistema in base alle sue funzionalitร
- Ogni sistema ha un'architettura e un design diversi, che devono essere presi in considerazione durante l'esecuzione del test di benchmark
- Assicurarsi che tutti i componenti software siano funzionanti
- Il sistema operativo e i driver di supporto dovrebbero funzionare in modo accurato
- Rimuovere i file temporanei e di precaricamento dal sistema prima di eseguire un benchmark
- Chiudi tutti i processi e le applicazioni in esecuzione in background
- Controlla gli aggiornamenti dei sistemi operativi e le configurazioni del mondo reale
Strutture di test di benchmark
I Benchmark Testing Framework aiutano a svolgere alcuni compiti fondamentali per i controlli delle prestazioni. Questi compiti fondamentali includono-
- Accesso al database
- Composizione lato server
- Serializzazione JSON
- Configurazione
Quadro di riferimento 2.0 & TechEmpower sono per lo piรน utilizzati framework di Benchmark Testing.
Diamo un'occhiata a TechEmpower. Diamo una rapida occhiata alle sue caratteristiche salienti.
- ร un framework open source per l'esecuzione di attivitร di benchmark
- Richiede la corretta configurazione dell'ambiente di benchmarking
- Esistono principalmente due modalitร come Modalitร di riferimento per confrontare i risultati e Modalitร di verifica per chi non รจ esperto
- Sono necessari diversi file che sono univoci e possono variare di conseguenza da sistema a sistema
- Include un "file di configurazione di benchmark" che definisce una serie di istruzioni di test e metadati per un programma di benchmark
- Si basa su diverse lingue come Java, Python, Rubino, PHP, JavaScrittura, Perl, C, Groovy, Haskell, Scala, ecc.
- Object โ Relational Mapper (ORM) viene utilizzato per eseguire test su database, serializzazione JSON, ecc.
Strumenti di test di benchmark
Gli strumenti di test dei benchmark vengono classificati di conseguenza. Ci arruoleremo uno per uno.
Strumenti per i test Windows PC:
Strumenti per testare le prestazioni della CPU:
- Cinebench
- Geekbench
Strumenti per testare la velocitร del sistema e le batterie dei dispositivi mobili:
- Foronix (Linux)
- CPU UserBenchmark (Test benchmark CPU)
- Vellamo (Prestazioni navigazione web)
ร anche possibile eseguire test di benchmark con Android telefoni e tablet. Tra tutti, Punteggio minimo รจ uno strumento di test di benchmark ben noto e ampiamente utilizzato.
Come questo test si inserisce nella famiglia dei test di prestazione
Il termine "test di prestazione" รจ un termine generico. Le varianti descritte di seguito differiscono solo per la forma del carico applicato e per la durata del suo mantenimento, motivo per cui vengono spesso confuse tra loro.
| Tipo di test | Modello di carico | Domanda a cui risponde |
|---|---|---|
| Test di carico | Carico di picco previsto, di breve durata | Il sistema raggiunge i suoi obiettivi in โโcondizioni di traffico di punta normali? |
| Test da sforzo | Aumentato oltre la capacitร fino al cedimento | Dove si rompe e il fallimento viene gestito in modo elegante? |
| Test delle punte | Impennata estrema improvvisa, seguita da una fase di regressione. | Riuscirร a sopravvivere e a riprendersi da uno shock di traffico? |
| Test di resistenza | Carico normale mantenuto per molte ore | Le prestazioni si degradano nel tempo? |
| Test di immersione | Carico sostenuto per un periodo prolungato | Si sono verificate perdite di memoria o esaurimento delle risorse? |
| Test di stabilitร | Carico variabile in base alle condizioni | Il sistema rimane affidabile al variare delle condizioni? |
| Test volumetrico | Utenti normali, volume di dati molto elevato | Riesce a gestire la crescita del database? |
I test di resistenza e i test di immersione sono spesso considerati sinonimi. Nell'uso comune, entrambi i tipi di test prevedono il mantenimento di un carico prolungato. Laddove i team li distinguono, i test di resistenza si concentrano sul verificare se i tempi di risposta aumentano nel tempo, mentre i test di stress si concentrano sul consumo di risorse come memoria, handle di file e pool di connessioni. L'esecuzione di uno dei due test fornisce solitamente i risultati di entrambi.
Test di benchmarking: punti chiave
- Nell'ingegneria del software, il benchmarking fornisce un insieme ripetibile di risultati quantificabili sulle prestazioni di un sistema.
- Utile per testare le condizioni di carico e determinare il comportamento del sistema contro gli attacchi DDoS.
- Le specifiche del carico di lavoro, le metriche e le specifiche di misurazione sono i componenti principali dei test benchmark.
- Vengono utilizzati diversi strumenti e framework per eseguire test di benchmark in modo rapido ed efficiente.
- Il test di benchmark รจ utile anche per i dispositivi mobili.

