Tipi di test del software


Types of Software TestingStaticReview of DesignReview of All DocumentsCode InspectionData VerificationFunctionalGUIAPICore LevelPerformanceLoadStressVolumeCapacitySecurityWhite Box Security TestingAuthentication / AuthorizationEnvironmental andApplication Vulnerabilities
Apri il diagramma a grandezza naturale

Tipi di test del software

Test funzionali

I test funzionali usano spesso tecniche a scatola nera e casi basati sulle specifiche per verificare che il software soddisfi i requisiti del cliente. I controlli seguenti aiutano a svolgere il lavoro.

  1. Comprendi con precisione che cosa deve fare l’applicazione.
  2. Prepara dati di test adatti, con input validi e non validi.
  3. Controlla il risultato di quei dati rispetto alla specifica funzionale.
  4. Copri gli scenari richiesti e dai la precedenza ai rischi più alti. Testare tutti gli scenari possibili è raramente praticabile.
  5. Registra il risultato effettivo di ogni input e confrontalo con quello atteso.

Svolgi verifiche funzionali a diversi livelli di test e dopo le modifiche.

  1. Test unitari
  2. Test di integrazione
  3. Test di sistema
  4. Test di regressione
  5. Test di accettazione

Test non funzionali

Prestazioni, sicurezza e qualità dell’interfaccia sono importanti requisiti non funzionali. I test non funzionali verificano queste caratteristiche. I tipi principali sono i seguenti.

  1. Test delle prestazioni
  2. Test di usabilità
  3. Test di sicurezza
  4. Test di portabilità

Test di usabilità

I test di usabilità verificano quanto sia facile utilizzare il software. Questo approccio a scatola nera pone tre domande. È comodo? Le persone riescono a usarlo? Riescono a imparare come funziona? L’usabilità comprende gli aspetti seguenti.

  • Quanto facilmente gli utenti si adattano al primo utilizzo del sistema.
  • Quanto efficientemente e rapidamente gli utenti completano le attività.
  • Quanto facilmente riescono a tornare al sistema dopo una lunga pausa.
  • Se incontrano errori e quanto facilmente riescono a recuperare.
  • Se l’esperienza soddisfa gli utenti.
I test di usabilità danno fiducia nella qualità e nella facilità d’uso. Pianificali con attenzione per soddisfare i clienti e ottenere risultati utili a costi ragionevoli. Un uso casuale durante i test può far emergere difetti che i test abituali non rilevano.

Test dell’interfaccia grafica

I test dell’interfaccia grafica utente (GUI) verificano che funzioni correttamente e rispetti gli standard di qualità stabiliti. Controlla gli elementi seguenti.

  • Layout
  • Colori
  • Caratteri
  • Dimensione dei caratteri
  • Etichette
  • Funzioni dei campi di testo
  • Formattazione del testo
  • Didascalie
  • Pulsanti
  • Elenchi
  • Icone
  • Collegamenti
  • Contenuti
  • Scorciatoie da tastiera
  • L’indicatore di attività, per esempio una clessidra, mentre il sistema elabora
I test della GUI possono essere manuali o automatizzati, secondo le esigenze di chi li esegue. Talvolta li svolge un fornitore esterno al posto del team di sviluppo o di test dell’azienda.

Test al di fuori dell’interfaccia grafica

L’interfaccia grafica definisce l’aspetto di un’applicazione e il modo di usarla. I test esterni alla GUI comprendono altre interazioni, come interfacce a riga di comando, elaborazioni in batch ed eventi che attivano casi d’uso.

Test di portabilità

I test di portabilità verificano come un ambiente diverso influisce sul comportamento e sulle prestazioni del software. Ad esempio, testa un’applicazione su diversi sistemi operativi o un’applicazione web in vari browser. Questo è importante quando il cliente intende usare più piattaforme.

I test di portabilità fanno parte dei test di sistema. Installa il software in ambienti diversi oppure genera ed esegui gli eseguibili su più piattaforme. Considera i requisiti di portabilità nella progettazione e nello sviluppo. Esegui questi test dopo quelli di integrazione, in ambienti adatti.

Test di sicurezza, autenticazione e autorizzazione

I test di sicurezza cercano falle e verificano che il software protegga le informazioni riservate del cliente quando necessario. Autenticazione e autorizzazione sono due ambiti importanti.

L’autenticazione verifica l’identità di chi tenta di accedere all’applicazione. Nome utente e password sono un esempio. Se la combinazione è sbagliata, l’accesso è negato perché l’identità dichiarata non è stata verificata.

L’autorizzazione controlla l’accesso a dati, funzioni e casi d’uso riservati. Autenticarsi non concede accesso a tutto. Per esempio, accedere a un social network permette di vedere i dati del proprio account. Gli account altrui restano protetti.

I test di sicurezza includono anche riservatezza, integrità, disponibilità, non ripudio, sicurezza dei dati, iniezioni SQL, attacchi XSS e altri problemi di sicurezza. È un settore specializzato a sé.

Test dell’integrità dei dati e delle banche dati

I test di integrità dei dati verificano che i dati memorizzati siano corretti e producano i risultati attesi. Controlla se si possono recuperare dati vuoti, se i dati vengono convalidati prima del salvataggio, se possono essere aggiornati e se i test coprono i tipi di file richiesti. L’obiettivo è mantenere dati corretti e coerenti lungo tutto il ciclo di vita.

I test di integrità della banca dati verificano metodi e processi di accesso, gestione ed elaborazione dei dati. I dati non devono essere danneggiati o creati, aggiornati o cancellati involontariamente. Includi casi di test per ciascuna condizione.

Test di tolleranza ai guasti e failover

I test di tolleranza ai guasti verificano come l’applicazione risponde a problemi in condizioni reali. Gli scenari includono errori di rete e problemi di connessione al server applicativo o alla banca dati.

I test di failover verificano che il sistema passi a un componente o servizio di riserva dopo un guasto grave, come un problema hardware o un arresto improvviso. Controlla che le attività critiche possano continuare durante il passaggio. I test di ripristino possono poi verificare se il servizio originale torna allo stato atteso.

Test di configurazione e distribuzione

I test di configurazione valutano le prestazioni con diverse configurazioni del sistema. Aiutano a determinare i tempi di risposta nell’ambiente di test e la configurazione necessaria per ottenere le prestazioni attese. Facilitano anche la migrazione tra piattaforme verificando la compatibilità con il nuovo ambiente e l’hardware previsto.

I test di distribuzione verificano che il sistema distribuito funzioni correttamente. Cerca rallentamenti o arresti, verifica il funzionamento in condizioni reali e controlla che il software sia distribuito correttamente nella cartella prevista.

Test di regressione

Invia i difetti rilevati perché siano corretti. Conferma che la correzione risolva il problema originale. Poi esegui test di regressione per individuare effetti indesiderati nell’area modificata, in altre parti dell’applicazione o nella logica di business. Usa i risultati per decidere se il software è pronto per la prossima fase di test.

Test delle prestazioni

I test delle prestazioni esaminano ritardi di rete, visualizzazione dei dati, elaborazione delle transazioni della banca dati e bilanciamento del carico tra server. Si concentrano sui problemi di prestazioni, andando oltre i difetti delle singole funzioni. Usali per valutare stabilità, scalabilità, velocità, tempi di risposta e visualizzazione dei dati.

Test di carico e confronto delle prestazioni

I test di carico verificano il comportamento del software con un carico massimo o di picco. Strumenti come JMeter, LoadRunner e Silk Performer creano utenti virtuali ed eseguono script per simulare accessi simultanei. Chi testa controlla il numero di utenti virtuali e osserva il comportamento del sistema.

Test di stress

I test di stress creano volutamente condizioni anomale per osservare le prestazioni. Applica un carico oltre i limiti accettabili o rimuovi risorse per scoprire il punto di guasto. Per esempio, arresta e riavvia una banca dati, chiudi o riavvia porte di rete casualmente oppure esegui processi che consumano molte risorse.

Testing TypeUnit TestingIntegration TestingSystem TestingAcceptance Testing
Functional TestingYesYesYesYes
Configuration TestingNoNoYesYes
User Interface TestingNoNoYesYes
Usability TestingNoNoYesYes
Installation TestingNoNoYesYes
Document TestingYesYesYesYes
Performance TestingYesYesYesYes
Security TestingNoYesYesYes
Scalability TestingNoYesYesNo
Apri il diagramma a grandezza naturale

Riepilogo dei tipi di test del software



Ti garantiamo che, con la tua formazione online gratuita, supererai l’esame di certificazione in test del software!

  1. 01

    Iscriviti online

    Scegli la tua certificazione accreditata e completa l’iscrizione.

  2. 02

    Ricevi il codice di accesso

    Riceverai subito via email il tuo codice personale di accesso all’esame.

  3. 03

    Preparati e sostieni l’esame

    Studia con la formazione gratuita e rispondi online a 50 domande a scelta multipla.

  4. 04

    Ottieni la certificazione a vita

    Ricevi il tuo certificato valido in tutto il mondo e il badge digitale verificabile.

Esempio di certificato Accredited Software Test Manager Certification™
Iscriviti alla certificazione

LA TUA FORMAZIONE PREMIUM ONLINE GRATUITA

La seconda edizione di Software Testing Revealed è pronta per te.

Abbiamo creato la tua formazione con un gruppo di dirigenti e responsabili di team di spicco, coach di test del software, mentori, esperti e figure autorevoli dei principali settori. Chiunque visiti International Software Test Institute™ può accedervi. Trovi i materiali nelle sezioni Il tuo libro gratuito sui test software e La tua formazione premium gratuita sui test software del menu principale.

Questi materiali sono proprietà intellettuale di International Software Test Institute™ e sono protetti dal diritto d’autore. Li condividiamo gratuitamente con tutti perché mettere a disposizione le nostre competenze sostiene i professionisti del test del software e contribuisce allo sviluppo della disciplina.

L’esame di certificazione prevede domande a scelta multipla. Studia con la formazione online per acquisire le conoscenze necessarie a superare l’esame e ottenere la certificazione in test del software.

Ti garantiamo che, con la tua formazione premium online gratuita, supererai l’esame di certificazione in test del software!