Livelli del testing del software

Il testing del software si articola in più livelli. Si divide inoltre in due grandi categorie, il testing funzionale e quello non funzionale. Le esamineremo nel dettaglio nel prossimo capitolo.

Panoramica dei livelli del testing del software

I quattro livelli di testing sono:

  • Test di unità
  • Test di integrazione
  • Test di sistema
  • Test di accettazione

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
Apri il diagramma a grandezza naturale

Panoramica dei livelli del testing del software

Test di unità

Un’unità è la più piccola parte indipendente e verificabile del codice sorgente. Il test di unità è il primo livello e viene di solito eseguito dagli sviluppatori o dai loro colleghi di squadra, anziché dai tester del software. Completatelo prima di integrare le unità. Un piano ben definito e casi di test specifici sono indispensabili.

Una volta verificato che le singole unità funzionano correttamente, il test di unità permette di passare all’integrazione con fiducia. All’inizio testare durante lo sviluppo può sembrare lento, perché si scoprono difetti e occorre modificare il codice. Con il tempo la qualità del codice migliora e i difetti diminuiscono. Si creano così basi più solide, che accelerano lo sviluppo successivo e fanno risparmiare tempo.

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
Apri il diagramma a grandezza naturale

Test di unità

Test di unità efficaci fanno anche risparmiare denaro. In genere correggere un difetto nelle fasi avanzate dello sviluppo costa molto di più che correggerlo all’inizio.

Un test di unità riguarda un componente di piccole dimensioni. I suoi casi e dati di test non possono quindi coprire tutti gli scenari funzionali o di flusso delle informazioni dell’applicazione. Alcuni scenari si possono verificare solo quando più unità sono state riunite in un componente più grande.

Test di integrazione

Dopo i test di unità, i test di integrazione verificano come interagiscono due o più unità e quali risultati producono nei diversi scenari. A svolgerli è un ingegnere specializzato nel testing del software.

I test di integrazione mettono in luce difetti funzionali, di conformità ai requisiti e di prestazioni. I test di unità verificano che i componenti funzionino singolarmente. I test di integrazione verificano che funzionino insieme come previsto. Gli approcci principali sono:

  1. Big bang
  2. Integrazione top-down
  3. Integrazione bottom-up
Nell’integrazione big bang si assemblano tutti i moduli nel sistema completo, poi si testa l’insieme per individuare eventuali difetti.

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
Apri il diagramma a grandezza naturale

Test di integrazione

L’integrazione top-down parte dai moduli di livello più alto, poi aggiunge e verifica uno alla volta quelli di livello inferiore. Nell’integrazione bottom-up la sequenza è inversa. Si testano prima i moduli di livello più basso, poi si aggiungono progressivamente quelli di livello superiore. Spesso si inizia con il testing bottom-up e si prosegue con il top-down.

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
Apri il diagramma a grandezza naturale

Test di integrazione top-down e bottom-up

Nel testing top-down si usano gli stub per sostituire moduli o sottoprogrammi di livello inferiore non disponibili o incompleti. Nel testing bottom-up un driver svolge il ruolo del programma chiamante quando quello di livello superiore non è ancora disponibile.

Test di sistema

Dopo aver completato l’integrazione con successo, il test di sistema esamina il sistema nel suo complesso con tutti i componenti in funzione. Verifica le prestazioni, le specifiche funzionali e tecniche e gli standard di qualità dell’organizzazione. Il lavoro va affidato a un team di tester esperti in un ambiente il più possibile simile a quello in cui il sistema sarà effettivamente utilizzato.

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
Apri il diagramma a grandezza naturale

Test di sistema

Il test di sistema è interamente di tipo black box. Valuta il sistema in base ai requisiti dal punto di vista dell’utente, considerando il comportamento dell’applicazione, la progettazione e le aspettative degli utenti finali. Verifica e convalida sia l’architettura dell’applicazione sia i requisiti aziendali del cliente.

Test di accettazione

Dopo i test di unità, di integrazione e di sistema, il test di accettazione valuta qualità e correttezza con scenari e casi predefiniti. Il team di controllo qualità esamina il sistema da più prospettive, tra cui l’aspetto e il funzionamento interno. È una fase cruciale, perché l’accettazione del cliente dipende anche da requisiti legali e contrattuali. I test di accettazione comprendono:

  1. Test di accettazione utente. Prima di accettare il software, gli utenti effettivi lo provano presso la propria sede o presso l’organizzazione che lo ha sviluppato.
  2. Test di accettazione operativa. Si verifica che siano in atto i processi e le procedure necessari per usare e mantenere il sistema.
  3. Test di accettazione contrattuale e normativa. Si verifica la conformità ai requisiti contrattuali e alle norme governative, legali e di sicurezza applicabili.
  4. Test alfa. Verso la fine dello sviluppo, quando si può verificare il sistema completo, si valuta la qualità complessiva e si preparano i test beta. Gli ingegneri del test e gli altri membri del team esaminano qualità e aspetti tecnici dal punto di vista del cliente. Questa fase può richiedere molto tempo.
  5. Test beta. Dopo i test alfa, gli utenti effettivi provano il prodotto in condizioni reali per migliorarne la qualità e verificare che soddisfi le loro esigenze. Questa fase si svolge alcuni giorni o settimane prima del lancio e può durare alcuni giorni. Può essere più breve dei test alfa, perché a questo punto la probabilità di trovare difetti è relativamente bassa.

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
Apri il diagramma a grandezza naturale

Test di accettazione



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!