Nel settore dei servizi finanziari, si chiama "processo maker-checker". Nella gestione del rischio, è comunemente noto come "principio dei quattro occhi". Nella gestione delle armi nucleari statunitensi, si chiama "concetto delle due persone".
In sostanza, fanno tutti la stessa cosa: questi processi includono un ulteriore livello di valutazione, conferma, autorizzazione o approvazione per garantire l'accuratezza, la qualità o la pertinenza del risultato.
Nello sviluppo di software, questo processo è chiamato test o controllo qualità. In parole povere, il test del software valuta il codice per garantire che funzioni come previsto. Per svolgere questa attività in modo efficace, i team addetti al controllo qualità utilizzano un potente strumento chiamato caso di test.
In questo post del blog esploriamo cos'è, perché è necessario, quando utilizzarlo e, soprattutto, come scrivere casi di test.
Che cos'è un caso di test?
Un caso di test è un insieme di azioni, condizioni e dati di input utilizzati per valutare la qualità di un'applicazione software.
Supponiamo che abbiate creato un modulo per acquisire il nome e l'ID dell'indirizzo e-mail dell'utente per la sottoscrizione a una newsletter. Il suo caso di test specificherà quanto segue:
Azioni [sia rivolte all'utente che interne]: tutto ciò che l'utente o il software devono fare per completare il flusso di lavoro nel software in fase di sviluppo.
- L'utente inserisce un nome
- L'utente inserisce un indirizzo email
- L'utente clicca su "Invia"
- Email di conferma inviata all'utente
- Dati salvati nel database corrispondente
- Dati aggiunti all'elenco della rispettiva email della newsletter
Condizioni: i requisiti che l'utente o il sistema devono soddisfare durante l'esecuzione delle loro azioni.
- Salva se la convalida per il campo nome è accettata, altrimenti mostra un messaggio di errore.
- Salva se la convalida per il campo dell'indirizzo email è accettata, altrimenti mostra un messaggio di errore.
- Aggiungi all'elenco della newsletter solo se l'utente ha confermato il proprio indirizzo email.
- Se l'utente esiste già, mostra il messaggio di errore corrispondente.
Dati di input: campioni di input accettabili per la funzionalità/funzione. In genere, i team di controllo qualità [QA] creano dati di test in grado di verificare risultati positivi e negativi.
Ad esempio, se una condizione per la convalida del campo nome è "può contenere solo lettere dell'alfabeto e spazi", i dati di test sarebbero
- Jane Doe, che soddisfa i criteri
- Ad@m Sand!er, che non soddisfa i criteri
Il ruolo dei casi di test nell'ingegneria del software
Il metodo dei casi di test è un approccio completo, sistematico e ripetibile al test del software. Sebbene il suo scopo principale sia garantire la qualità dell'applicazione, aggiunge diversi livelli di robustezza e affidabilità al processo di ingegneria del software stesso.
✅ Identificazione dei difetti: i casi di test aiutano a identificare i difetti nel software. Sono fondamentali per stabilire se l'applicazione è sicura per passare alla produzione.
✅ Convalida dei requisiti: i casi di test garantiscono che ciò che hai realizzato corrisponda a ciò che avevi previsto fin dall'inizio. Ciò è particolarmente importante se sei un'organizzazione di servizi che sviluppa software per stakeholder esterni con requisiti specifici.
✅ Mitigazione del rischio: i casi di test valutano una funzionalità/funzione in termini di sicurezza, prestazioni e rischi finanziari. L'analista della qualità include anche condizioni relative alla conformità normativa, agli standard di settore, ecc. per assicurarsi che tutte le basi siano coperte.
✅ Bilanciare il quadro generale: una nuova funzionalità/funzione potrebbe funzionare bene se considerata isolatamente. Tuttavia, una volta integrata nel resto del software, potrebbe non funzionare correttamente o causare il malfunzionamento di altre funzionalità/funzioni. I casi di test assicurano che questo venga rilevato prima che influisca sull'esperienza dell'utente in produzione.
Un singolo caso di test può fare tutto questo? Non proprio. A seconda delle funzionalità/funzioni, del software, dei sistemi, delle esigenze e degli obiettivi organizzativi, esistono diversi tipi di casi di test che i team di controllo qualità scrivono.
Tipi di casi di test
Esiste un caso di test per ogni tipo di test del software. Alcuni dei più comunemente utilizzati sono i seguenti.
Caso di test di funzionalità: questo caso di test basilare e fondamentale valuta se un software funziona come previsto. Come minimo, ogni addetto al controllo qualità lo scrive.
Casi di test unitari: i test unitari valutano una parte della funzionalità/funzione o una singola unità. Ad esempio, un addetto al controllo qualità potrebbe scrivere test unitari per verificare che il campo dell'indirizzo email soddisfi varie condizioni.
Casi di test di sicurezza: valutano se la funzionalità/funzione soddisfa gli standard di sicurezza per passare alla produzione. In genere, includono test di autorizzazione, autenticazione, conformità agli standard OWASP, ecc.
Casi di test delle prestazioni: verificano che la nuova funzionalità/funzione soddisfi i requisiti di velocità, affidabilità, scalabilità e utilizzo delle risorse.
Casi di test di regressione: i test di regressione assicurano che la nuova funzionalità/funzione sviluppata non influisca su nessuna di quelle esistenti nel prodotto.
Oltre a questi, è possibile eseguire anche casi di test specifici. Ad esempio, le organizzazioni orientate alla progettazione potrebbero includere casi di test dell'interfaccia utente [UI]. I prodotti che eseguono parte di un flusso di lavoro più ampio potrebbero richiedere la scrittura di molti casi di test di integrazione. Altri potrebbero creare casi di test di usabilità specifici relativi a euristica, accessibilità, inclusione, ecc.
In qualità di titolare del prodotto, sei tu a decidere cosa il tuo software deve fare e a creare casi di test applicabili a tale scopo. Devi coprire ogni scenario che ritieni importante.
Questo significa che un caso di test è semplicemente uno scenario di test? Niente affatto.
Caso di test vs. scenario di test
Un caso di test è una registrazione completa di come dovrebbe comportarsi la tua nuova funzionalità/funzione [e di come testarla]. Uno scenario di test è una descrizione di alto livello delle azioni che potrebbero verificarsi [e che quindi devono essere testate].
Estendendo l'esempio precedente, lo scenario di test sarebbe "testare la sottoscrizione alla newsletter". Tuttavia, i casi di test sarebbero:
- Campo nome test con un nome accettabile
- Campo nome test con caratteri speciali
- Campo nome test per nomi di celebrità
- Campo nome test con numeri
- Campo nome test per nomi fittizi o segnaposto come John Doe
| Caso di test | Scenario di test | |
|---|---|---|
| Definizione | Documentazione completa su come testare una funzione | Breve descrizione di come dovrebbe funzionare la funzionalità/funzione dal punto di vista dell'utente finale |
| Livello | Azioni di basso livello con responsabilità granulare | Azioni di alto livello con responsabilità di ampio respiro |
| Focus | Come testare [registrazione dettagliata delle funzioni previste] | Cosa testare [breve registrazione dei risultati previsti] |
| Fonte | Derivato da scenari di test | Derivato da storie degli utenti e casi d'uso aziendali |
| Approccio | Considera una risoluzione più alta delle possibilità ed esegui test approfonditi. | Imitate scenari reali ed eseguite i test di conseguenza. |
Ora che conosciamo le differenze, torniamo a concentrarci sul caso di test e approfondiamo l'argomento.
Componenti di un caso di test
Per ricapitolare, un caso di test è una documentazione dettagliata di tutto ciò che deve essere testato per garantire che il software funzioni come previsto. Ciò lo rende completo, granulare e multiforme, coinvolgendo più componenti.
Alcuni dei componenti fondamentali di un caso di test sono:
ID del caso di test: ogni caso di test ha un numero. Potrebbe sembrare semplice, ma per testare un'applicazione in modo approfondito, dovrai eseguire vari test che sembrano simili. L'ID del caso di test aiuta a distinguerli.
Descrizione: descrizione di ciò che stai testando. Nell'esempio sopra riportato, potrebbe essere "Aggiungere potenziali clienti reali con interesse per la nostra newsletter".
Prerequisiti: tutti i requisiti che devono essere soddisfatti per utilizzare questa funzionalità/funzione. Ad esempio, abbiamo discusso la convalida per ciascun campo sopra. Oltre a ciò, altre condizioni potrebbero includere:
- L'utente non deve essere già iscritto alla newsletter.
- L'utente non dovrebbe aver annullato l'iscrizione alla newsletter.
Passaggi: passaggi che l'utente o il sistema devono seguire per completare la valutazione e contrassegnarla come riuscita.
- L'utente inserisce un nome valido
- L'utente inserisce un ID di email valido
- L'utente seleziona la casella di controllo sulla privacy
- L'utente clicca sul pulsante "Invia".
Risultati attesi: Elenco di ciò che il sistema deve fare successivamente.
- Se il nome utente non è valido, visualizza un messaggio di errore.
- Se l'ID e-mail non è valido, visualizza un messaggio di errore.
- Se il nome utente e l'ID email sono validi, salvali nel database corrispondente.
- Una volta salvato nel database, invia un'email di conferma all'utente.
Risultati effettivi: si tratta delle osservazioni dei tester dopo aver eseguito il caso di test. Queste saranno inviate allo sviluppatore nel caso in cui qualcosa non funzioni correttamente.
- Campo nome testato con Katy P3rry e accettato come input valido [sebbene contenga un numero]
A questo punto, sei pronto per scrivere casi di test efficaci. Ecco come fare.
Come scrivere casi di test efficaci con esempi
Scrivere un buon caso di test richiede sia logica aziendale che acume tecnologico. È necessario comprenderlo dal punto di vista dell'utente nel mondo reale, nonché dal punto di vista tecnologico nel mondo digitale. Di seguito è riportato un solido framework per iniziare questo percorso.
1. Identifica gli scenari di test
Prima di scrivere i casi di test, comprendi gli scenari reali in cui verrà utilizzata la funzionalità/funzione. Leggi la user story, studia il documento dei requisiti o discuti le specifiche con lo sviluppatore.
Ad esempio, gli scenari di test nell'esempio precedente sarebbero: L'utente ottiene un esito positivo nell'iscriversi alla newsletter.
In questo passaggio, è importante chiedersi se il documento dei requisiti descrive l'utente in modo specifico.
Ad esempio, se stai creando una funzione di newsletter solo per i clienti paganti, potresti trovarti in una situazione in cui gli utenti non paganti potrebbero tentare di iscriversi.
Quindi, esamina attentamente i requisiti, le specifiche e le storie degli utenti.
2. Definisci gli obiettivi dei casi di test
In questa fase, definisci cosa desideri ottenere eseguendo i tuoi test. Ad esempio, se stai solo verificando che la funzionalità/funzione funzioni come previsto, scriverai casi di test funzionali.
Tuttavia, se hai anche bisogno che sia sicuro e performante, scriverai anche i casi di test corrispondenti. Questo ti aiuterà a semplificare il tuo processo di test agile e a presentare i risultati al team di sviluppo.
3. Scrivi passaggi chiari e concisi
Questa fase non si limita alla semplice descrizione del flusso di lavoro. Comprende tutto ciò che il reparto QA deve fare per garantire che la funzionalità/funzione funzioni come previsto.
Sii accurato: entra nei dettagli il più possibile. Includi ciò che deve accadere in base all'azione dell'utente/del sistema. Ad esempio, potresti scrivere:
- Inserisci il nome nel campo nome
- Se il nome contiene un numero, visualizza un messaggio di errore: "Inserisci un nome composto solo da lettere e spazi".
- Se il nome contiene caratteri speciali, visualizza un messaggio di errore: "Inserisci un nome composto solo da lettere e spazi".
- Se il nome è un segnaposto, visualizza un messaggio di errore: "Inserisci un nome valido".
- Se il nome è valido, consenti all'utente di inviare
Rendilo riutilizzabile: la maggior parte delle funzionalità si sovrappone ad altre funzionalità precedenti. Ad esempio, i campi per l'iscrizione alla newsletter potrebbero essere simili a quelli per la creazione di nuovi account utente. Riutilizzali il più possibile per mantenere coerenza ed efficienza.
Infatti, puoi anche creare modelli di documenti di requisiti di prodotto riutilizzabili dai quali è più facile estrarre scenari di test e casi di test.
Disegna il processo: per funzionalità/funzioni complesse, potresti trovare difficile documentare tutti i casi di test in modo lineare. In questi casi, prova a utilizzare un diagramma di flusso.

ClickUp Whiteboards offre una tela bianca altamente personalizzabile per visualizzare il flusso di lavoro delle tue funzionalità. Non sentirti in dovere di farlo da solo. Crea i tuoi diagrammi di flusso e condividili con tutte le parti interessate (analisti aziendali, sviluppatori, responsabili dei test, ecc.) e ottieni il loro consenso prima di iniziare!
Imposta il contesto: mentre lo scenario di test delinea il contesto aziendale, è necessario delineare chiaramente la configurazione di test. Includi la versione del software, il sistema operativo/browser, l'hardware, i formati di data/ora, il fuso orario, ecc. Inoltre, collega tutti i documenti e le risorse che potrebbero essere utili durante l'esecuzione del test.
4. Specificare i risultati attesi
Questa è la risposta a cosa succede se! Quindi, cosa succede se il campo nome viene convalidato? Cosa succede se il campo nome non viene convalidato?
- Cosa succede se l'utente è già un abbonato? È necessario rifiutare la sua richiesta di sottoscrizione o rinnovare la sottoscrizione?
- Cosa succede se l'utente non è un cliente pagante: dovresti chiedergli di pagare adesso?
- Cosa succede se l'utente ha già annullato l'iscrizione in precedenza? È necessario ricontrollare prima di iscriversi nuovamente?
In questo modo, delineate i risultati attesi per ogni possibilità. Più complessa è la vostra funzionalità/funzione, più lungo sarà l'elenco.
5. Includi precondizioni e postcondizioni
Oggi nessuna funzionalità è un'isola. Nello sviluppo software, ogni funzionalità/funzione è collegata a qualcos'altro, il che significa che il test ha un numero di precondizioni e postcondizioni.
Esempi di precondizioni
- È necessario essere un cliente pagante
- È necessario fornire un nome e un indirizzo e-mail validi.
- È necessario accettare le condizioni
- È necessario utilizzare l'ultima versione di Chrome.
- È necessario effettuare l'accesso dal cellulare
Esempi di postcondizioni
- Deve essere aggiunto al database
- È necessario accettare la sottoscrizione nell'email di conferma.
- Deve essere aggiunto all'elenco della newsletter sul CRM.
Se sei un responsabile di prodotto che desidera acquisire dimestichezza con i test, ecco alcuni strumenti senza codice per i product manager.
Queste erano le basi, passiamo ora ai dettagli.
Best practice per la scrittura di casi di test
Ammettiamolo: scrivere casi di test è un'arte. Un buon caso di test metterà in luce bug e difetti che non erano stati nemmeno visualizzati nei requisiti. Ad esempio, cosa succederebbe se il campo del nome avesse due spazi? O se il cognome dell'utente avesse un trattino?
Per garantire che i tuoi casi di test siano orientati alla fornitura di software di alta qualità, prendi in considerazione le seguenti best practice.
🧠 Pensa come un utente
Prima di scrivere i tuoi casi di test, pensa dal punto di vista dell'utente. Sii critico e minuzioso. Nell'esempio che abbiamo discusso finora, potresti chiederti:
- Cosa significa "nome"? Nome di battesimo? Cognome? O entrambi?
- Di chi è questo nome? Il testo del campo dovrebbe invece riportare "il tuo nome"?
- È necessario inserire un testo segnaposto per guidare il lettore?
- Se l'utente inserisce un nome non valido, il messaggio di errore dovrebbe identificare cosa c'è che non va?
Mettiti nei panni dell'utente. Esplora varie possibilità e anche casi limite. Potresti non creare casi di test per tutti, ma esplorarli aiuta a rafforzare la funzionalità/funzione.
🎯 Concentrati su una cosa alla volta
Non scrivere un caso di test funzionale che sia anche un caso di test di usabilità e un caso di test del database. Fai una cosa alla volta. In questo modo, quando il risultato di un test è positivo/negativo, saprai esattamente cosa ha funzionato e cosa è andato storto.
Includere troppe variabili in un unico test complicherà i problemi quando il test fallisce.
👫 Non farlo da solo
I casi di test definiscono la qualità del software. Anche se si tratta del controllore nel processo maker-checker, è necessario un ulteriore livello di revisione da parte di due persone. Quindi, una volta scritti i casi di test, sottoponili a una revisione tra pari.
Chiedi a un collega di dare un'occhiata a ciò che hai scritto. Incoraggiali a trovare errori e a fornire feedback critici. È utile anche farlo in collaborazione con analisti aziendali e sviluppatori per comprendere meglio le loro intenzioni.
♻️ Crea modelli riutilizzabili
Tra tutte le migliori pratiche nella scrittura di casi di test, la più preziosa è quella di creare modelli. Sia che stiate testando funzionalità/funzioni simili o completamente diverse, un modello fornisce una struttura ai vostri pensieri. Includete componenti chiave, un meccanismo di numerazione automatico o un framework per presentare tutti i risultati dei test.
Il modello di caso di test di ClickUp è un esempio semplice ma potente di come è possibile migliorare notevolmente l'efficienza e la visibilità con un framework ripetibile. Questo modello di livello base è personalizzabile e consente ai tuoi team di ottenere maggiori risultati in meno tempo. Cosa c'è di più? Puoi anche utilizzare questo modello per identificare i candidati all'automazione e raddoppiare il lavoro richiesto per il controllo qualità.
🛠️ Utilizza gli strumenti giusti
In un team di sviluppo software, scrivere casi di test completi per funzionalità complesse può essere un'attività che richiede molto tempo. Per non parlare della documentazione e dell'organizzazione per un facile accesso.
Da fare, scegli lo strumento giusto.
Strumenti e risorse per la gestione dei casi di test
Una buona gestione dei casi di test consente di creare, organizzare, eseguire, registrare e monitorare ciò che si sta testando. Aiuta i team di test a garantire la completezza senza perdere in efficienza. Aiuta i team di sviluppo a individuare chiaramente i bug.
Sebbene i vantaggi siano infiniti, lo sono anche le sfide. La regola generale per il numero di casi di test per ogni funzionalità/funzione è "tanti quanti ne servono". A seconda della funzionalità/funzione, possono essere due, ovvero uno positivo e uno negativo. Possono essere tre, se il caso di test è condizionale. Oppure possono essere multipli.
Per gestire tutto questo, hai bisogno di uno strumento robusto. Alcuni dei migliori strumenti moderni per il controllo qualità sono:
TestRail
TestRail è una piattaforma di gestione dei test per la documentazione e il monitoraggio dei piani di test. Include funzionalità per la tracciabilità, la copertura, l'automazione dei test e l'analisi. Si integra in modo nativo con una serie di strumenti di sviluppo software e offre un'API estesa.
BrowserStack
BrowserStack è uno strumento di test per app e browser. Offre test per app iOS e Android, nonché per siti web su più browser. Include moduli specifici per test visivi, test di accessibilità, osservabilità dei test, automazione low-code e altro ancora.
Jira
Jira, uno degli strumenti di project management agile più popolari, funge anche da software di monitoraggio dei bug. Con Jira puoi scrivere casi di test, collegandoli a user story, bug noti o altri problemi.
Tuttavia, poiché Jira non è progettato per la gestione dei casi di test, le funzionalità di reportistica e automazione potrebbero essere limitate.
ClickUp
ClickUp per i team di sviluppo software è uno strumento di project management all-in-one, progettato per fornire supporto a ogni aspetto del processo di ingegnerizzazione. La gestione dei casi di test non fa eccezione.

Scrittura di casi di test: ClickUp consente ai team di gestire in modo efficiente il proprio backlog grazie a solide funzionalità di monitoraggio dei bug e dei problemi. Gestisci i casi di test esistenti e creane di nuovi con ClickUp. Utilizza i moduli per i team di sviluppo software per acquisire richieste/bug e convertirli automaticamente in attività per il team.
Visibilità delle operazioni: puoi visualizzarle come una lavagna Kanban con tutti gli stati o utilizzare la vista calendario per pianificarle. Gestisci le attività del team QA con la vista Carico di lavoro di ClickUp e passa più rapidamente alla produzione. Utilizza il modello di tracciamento dei bug e dei problemi di ClickUp per avere una visione d'insieme di tutti i test nel tuo progetto di sviluppo software.
Automazione nel project management: integra perfettamente la gestione dei casi di test nel tuo processo di sviluppo del prodotto.
Utilizza le automazioni di ClickUp per assegnare il tester giusto a ciascun caso di test. Quando lo stato del controllo qualità cambia, riassegnalo automaticamente allo sviluppatore per la revisione.
Con ClickUp per i team Agile, crea liste di controllo riutilizzabili da aggiungere automaticamente alle attività. Configura ClickUp Brain per aiutare i team di controllo qualità a scrivere i report più velocemente.
Best practice già configurate: utilizza le decine di modelli predefiniti per strutturare il tuo processo di test. Inizia con i vari modelli di casi di test o modelli di segnalazione dei bug.
Quindi, prova il modello di gestione dei test di ClickUp per semplificare gli scenari di test, i casi di test e le esecuzioni dei test. Con questo modello, puoi monitorare il processo, valutare i risultati e collaborare con il team di sviluppo su bug/problemi.
Per i principianti, questo modello include anche un documento completo intitolato "Come iniziare" che ti guiderà attraverso il processo.
Ti stai chiedendo come scrivere un rapporto di test? Abbiamo un modello che fa al caso tuo. Scarica e utilizza il modello di rapporto di test ClickUp, adatto ai principianti, per riepilogare i risultati dei tuoi test e consegnarli agli sviluppatori.
Crea software eccellenti per ogni caso con ClickUp
Nello sviluppo di software, il test svolge il ruolo cruciale di assicurarsi che tutto funzioni correttamente. Fornisce un supporto a 360 gradi.
Convalida il lavoro del team di sviluppo. Conferma l'idoneità rispetto alle intenzioni del team aziendale. Rimane fedele alle esigenze degli utenti in termini di funzionalità, prestazioni, sicurezza e privacy.
La gestione di un processo così critico e completo richiede una suite di strumenti ben studiata. Questo è esattamente ciò che offre ClickUp.
Che tu stia seguendo un modello agile, Waterfall o ibrido di sviluppo software, ClickUp è ricco di funzionalità/funzioni progettate per essere altamente personalizzabili e adattarsi alle tue esigenze specifiche.
Oltre alla potente gestione delle attività multifunzionale, ClickUp include anche una suite di test, automazioni DevOps, integrazioni e modelli davvero efficaci. Provate voi stessi. Provate ClickUp gratis oggi stesso.



