Test non funzionali

โšก Riepilogo intelligente

I test non funzionali verificano le prestazioni di un'applicazione software in termini di affidabilitร , usabilitร , sicurezza, scalabilitร  e altri attributi di qualitร . Questa guida illustra obiettivi, parametri, caratteristiche, tipologie di test comuni ed esempi pratici di casi di test utilizzati dai team di controllo qualitร .

  • ๐ŸŽฏ Attenzione alla qualitร : I test non funzionali misurano come un sistema si comporta, piuttosto che cosa fa.
  • ๐Ÿ“ Criteri misurabili: Ogni requisito รจ quantificato, eliminando formulazioni soggettive come buono, migliore o ottimo.
  • ๐Ÿ” Parametri critici: Sicurezza, affidabilitร , scalabilitร , usabilitร  e portabilitร  sono gli aspetti dominanti della verifica non funzionale.
  • ๐Ÿงช Diverse tipologie di test: I test di prestazione, carico, stress, recupero e compatibilitร  affrontano ciascuno specifici rischi per la qualitร .
  • ๐Ÿ“Š Impatto aziendale: Test non funzionali rigorosi riducono i costi di produzione, i tempi di inattivitร  e l'insoddisfazione dei clienti tra le diverse versioni del prodotto.

Test non funzionali

Che cosa sono i test non funzionali?

Test non funzionali รˆ una categoria di test del software che convalida gli aspetti non funzionali di un'applicazione: prestazioni, usabilitร , affidabilitร  e attributi di qualitร  simili. Valuta la predisposizione del sistema rispetto a criteri che i test funzionali non prendono in considerazione, garantendo che l'applicazione soddisfi le aspettative aziendali in condizioni reali.

Un classico esempio di test non funzionale รจ la misurazione del numero di utenti simultanei che possono accedere a un'applicazione senza un calo delle prestazioni. I test non funzionali sono importanti quanto i test funzionali perchรฉ influiscono direttamente sulla soddisfazione del cliente e sulla percezione generale del prodotto.

Che cos'รจ il test non funzionale? Schema riassuntivo

Obiettivi dei test non funzionali

I test non funzionali vengono eseguiti per migliorare la qualitร  complessiva e la durata di un prodotto. Gli obiettivi principali includono:

  • Aumentare l'usabilitร , l'efficienza, la manutenibilitร  e la portabilitร  del prodotto.
  • Ridurre il rischio di produzione e i costi associati ai difetti non funzionali.
  • Ottimizzare le modalitร  di installazione, configurazione, esecuzione, gestione e monitoraggio del prodotto.
  • Raccogliere dati e metriche per la ricerca e lo sviluppo interni.
  • Migliorare la comprensione del comportamento del prodotto e delle tecnologie utilizzate.

Caratteristiche dei test non funzionali

Le seguenti caratteristiche definiscono come dovrebbero essere pianificati ed eseguiti i test non funzionali:

  • Deve essere misurabile, senza lasciare spazio a descrizioni soggettive come buono, migliore o ottimo.
  • In genere, all'inizio del processo di definizione dei requisiti non si conoscono i numeri esatti.
  • รˆ necessario stabilire delle prioritร  in modo da affrontare prima le aree a piรน alto rischio.
  • Gli attributi di qualitร  vengono identificati con precisione durante la fase di ingegneria del software.

Parametri di test non funzionali

In genere, per definire l'ambito delle attivitร  di test non funzionali si utilizzano undici parametri:

  1. Sicurezza: Misura il livello di protezione di un sistema contro attacchi intenzionali e accidentali provenienti da fonti interne o esterne. Verificato tramite test di sicurezza.
  2. Affidabilitร : La misura in cui un sistema esegue continuamente le sue funzioni specificate senza guasti. Verificata tramite test di affidabilitร .
  3. di sopravvivenza: Conferma che il sistema continua a funzionare e si ripristina automaticamente dopo un guasto. Verificato tramite test di ripristino.
  4. Disponibilitร : Determina il grado di affidabilitร  del sistema per l'utente durante il funzionamento. Verificato tramite test di stabilitร .
  5. usabilitร : La facilitร  con cui gli utenti possono apprendere, utilizzare, preparare gli input e utilizzare gli output del sistema. Verificata tramite test di usabilitร .
  6. Scalabilitร : Il grado in cui un'applicazione software puรฒ espandere la propria capacitร  di elaborazione per soddisfare la crescente domanda. Verificato tramite test di scalabilitร .
  7. interoperabilitร : Verifica come un sistema software si interfaccia con altri sistemi software. Verifica tramite test di interoperabilitร .
  8. Efficienza: La misura in cui il sistema gestisce capacitร , quantitร  e tempi di risposta sotto carico.
  9. Flessibilitร : La facilitร  con cui l'applicazione puรฒ funzionare su diverse configurazioni hardware e software, come ad esempio con diverse specifiche di RAM o CPU.
  10. portabilitร : La flessibilitร  del software di passare dal suo ambiente hardware o software attuale a un altro.
  11. Riusabilitร : Si riferisce alla porzione di un sistema software che puรฒ essere adattata per l'utilizzo in un'altra applicazione.

Diagramma dei parametri di test non funzionali

Tipo di test del software

I test del software si suddividono generalmente in tre categorie:

  • Test di funzionalitร 
  • Test non funzionali
  • Test di manutenzione

Ogni categoria contiene diversi livelli di test, che i team spesso chiamano tipologie di test. Libri e materiali di riferimento diversi potrebbero classificarli in modo leggermente differente, quindi รจ lecito aspettarsi piccole variazioni.

L'elenco delle tipologie di test non รจ esaustivo: ne esistono oltre 100 distinte e ne emergono continuamente di nuove. Non tutte le tipologie sono applicabili a ogni progetto; l'ambito di applicazione dipende dalla natura, dal profilo di rischio e dalla complessitร  dell'applicazione da testare.

Tipi di test non funzionali

Le tipologie piรน comuni di test non funzionali eseguiti dai team di controllo qualitร  includono:

  • Test di Performance
  • Caricare i test
  • Test di failover
  • Test di compatibilitร 
  • Test di usabilitร 
  • Test di stress
  • Test di manutenibilitร 
  • Test di scalabilitร 
  • Test di volume
  • Test di sicurezza
  • Test di ripristino di emergenza
  • Test di conformitร 
  • Test di portabilitร 
  • Test di efficienza
  • Test di affidabilitร 
  • Test di base
  • Test di resistenza
  • Test della documentazione
  • Test di recupero
  • Test di internazionalizzazione

Esempi di casi di test per test non funzionali

I seguenti esempi illustrano come vengono scritti i casi di test non funzionali nei progetti reali:

Caso di prova n. Test Case Domini
1 Il tempo di caricamento dell'applicazione non deve superare i 5 secondi quando vi accedono simultaneamente fino a 1000 utenti. Test di Performance
2 Il software dovrebbe essere installabile su tutte le versioni supportate di Windows and macOS. Test di compatibilitร 
3 Tutte le immagini web devono includere tag alt descrittivi. Test di Accessibilitร 

Domande Frequenti

I test funzionali verificano il comportamento del sistema rispetto ai requisiti specificati. I test non funzionali misurano le prestazioni del sistema, inclusi velocitร , affidabilitร , usabilitร  e sicurezza, garantendo che l'applicazione soddisfi gli standard di qualitร  che vanno oltre il comportamento delle funzionalitร  principali.

Gli strumenti popolari includono JMeter e LoadRunner per le prestazioni, Selenium per l'automazione dell'usabilitร , Burp Suite OWASP ZAP per la sicurezza e BrowserStack per la compatibilitร . Ogni strumento si concentra su un'area non funzionale specifica che i team di controllo qualitร  desiderano misurare.

I test non funzionali dovrebbero iniziare una volta che il sistema รจ funzionalmente stabile e prima delle release principali. I test di prestazioni, sicurezza e affidabilitร  sono solitamente programmati nelle fasi di test finali, ma le strategie "shift-left" promuovono l'esecuzione anticipata, in concomitanza con lo sviluppo.

Ciascun parametro viene misurato rispetto a soglie quantificabili. Le prestazioni vengono misurate in termini di tempo di risposta e throughput, la sicurezza tramite il conteggio delle vulnerabilitร , l'usabilitร  tramite i tassi di completamento delle attivitร  e l'affidabilitร  tramite il tempo medio tra i guasti. Numbers sostituire le opinioni soggettive.

Entrambi. I test di prestazioni, carico, stress e sicurezza si basano in larga misura sull'automazione per via della scalabilitร  e della ripetibilitร . I โ€‹โ€‹test di usabilitร  e accessibilitร  spesso richiedono l'osservazione manuale, la revisione da parte di esperti o verifiche con tecnologie assistive, oltre agli strumenti automatizzati.

L'IA genera profili di carico, prevede i colli di bottiglia delle prestazioni, assegna prioritร  ai casi di test rischiosi e analizza automaticamente i dati di log. Le piattaforme basate sull'IA riducono i tempi di esecuzione e individuano le regressioni piรน rapidamente, aiutandoping I team di controllo qualitร  estendono la copertura dei test non funzionali a tutte le release.

No. L'IA accelera le scansioni, la creazione di baseline e il rilevamento delle anomalie, ma i tester esperti continuano a interpretare i risultati, convalidare le catene di exploit e progettare gli scenari di test. L'IA potenzia il giudizio umano nei test non funzionali, non sostituisce gli ingegneri QA esperti.

Riassumi questo post con: