Come scrivere casi di test efficaci
Software Teams

Come scrivere casi di test efficaci

Nei servizi finanziari si chiama "processo di controllo del produttore" Nella gestione del rischio, è noto come "principio dei 4 occhi" Nella gestione delle armi nucleari statunitensi, è chiamato "il concetto delle due persone "

In sostanza, tutti fanno la stessa cosa: questi processi includono un livello aggiuntivo di valutazione, conferma, autorizzazione o approvazione per garantire l'accuratezza, la qualità o la rilevanza del risultato.

Nello sviluppo del software, questo processo è chiamato test o garanzia di qualità. In parole povere, il testing del software valuta il codice per garantire che lavori come previsto. Per svolgere questa attività in modo efficace, i team che si occupano di qualità utilizzano un potente strumento chiamato test case.

In questo post esploriamo cos'è, perché è necessario, quando usarlo e, soprattutto, come scrivere i casi di test.

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 di aver costruito un modulo per catturare il nome e l'email dell'utente per la sottoscrizione di una newsletter. Il caso di test specificherà quanto segue:

Azioni [sia rivolte all'utente che interne]: Tutto ciò che l'utente o il software deve fare per completare il flusso di lavoro nel software che si sta costruendo.

  • L'utente inserisce un nome
  • L'utente inserisce un indirizzo email
  • L'utente fa clic su 'Invia'
  • Email di conferma inviata all'utente
  • Dati salvati nel database corrispondente
  • Dati aggiunti al rispettivo elenco di email per la newsletter

Condizioni: I requisiti che l'utente o il sistema devono soddisfare durante l'esecuzione delle loro azioni.

  • Salva se la convalida del campo nome è accettata, altrimenti mostra un messaggio di errore
  • Salva se la convalida del 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 Quality Assurance [QA] creano dati di test che possono verificare risultati positivi e negativi.

Ad esempio, se la condizione per la convalida del campo nome è "può contenere solo lettere dell'alfabeto e spazi", i dati di test saranno

  • Da fare, che soddisfa il criterio
  • Ad@m Sand!er, che non soddisfa il criterio

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 quello di garantire la qualità dell'applicazione, aggiunge molteplici livelli di robustezza e affidabilità al processo stesso di ingegneria del software.

Identificazione dei difetti: I casi di test aiutano a identificare i difetti del software. Sono in grado di stabilire se l'applicazione può essere trasferita in produttività.

Validazione dei requisiti: I casi di test assicurano che ciò che avete costruito sia ciò che avete sempre voluto. Questo è particolarmente importante se siete un'organizzazione di servizi che costruisce software per stakeholder esterni che hanno requisiti specifici.

Mitigazione del rischio: I casi di test valutano una funzionalità/funzione per quanto riguarda la sicurezza, le prestazioni e i rischi finanziari. L'analista della qualità include anche condizioni relative alla conformità alle normative, agli standard di settore, ecc.

Bilanciamento del quadro generale: Una nuova funzionalità può funzionare bene da sola. Ma quando viene integrata nel resto del software, potrebbe rompersi o causare la rottura di qualche altra funzionalità/funzione. I casi di test assicurano che questo non avvenga prima che influisca sull'esperienza dell'utente in produttività.

Un caso di test può Da fare tutto questo? Non proprio. A seconda della funzionalità/funzione, del software, dei sistemi, delle esigenze e degli obiettivi organizzativi, i team di AQ scrivono diversi tipi di casi di test.

Tipi di casi di test

C'è un caso di test per ogni tipo di test del software . Alcuni di quelli più comunemente utilizzati sono i seguenti.

Test di funzione: Questo test case di base e fondamentale valuta se un software lavora come previsto. Come minimo, ogni QA lo scrive.

Casi di test unitari: I test unitari valutano una parte della funzionalità/funzione o una singola unità. Ad esempio, un QA potrebbe scrivere dei 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 andare in produttività. In genere, si tratta di test di autorizzazione, autenticazione, conformità agli standard OWASP, ecc.

Casi di test delle prestazioni: Valutano se la nuova funzionalità/funzione soddisfa i requisiti di velocità, affidabilità, scalabilità e utilizzo delle risorse.

Casi di test di regressione: I test di regressione assicurano che la nuova funzionalità sviluppata non influisca su quelle esistenti nel prodotto.

Oltre a questi, si possono eseguire anche casi di test specifici. Ad esempio, le organizzazioni orientate al design possono includere casi di test dell'interfaccia utente. I prodotti che fanno parte di un flusso di lavoro più ampio potrebbero scrivere molti casi di test di integrazione. Altri potrebbero creare casi di test di usabilità specifici su euristica, accessibilità, inclusione, ecc.

Il titolare del prodotto deve decidere cosa deve fare il suo software e creare casi di test applicabili a tale scopo. Dovete coprire tutti gli scenari importanti per voi.

Questo significa che un caso di test è semplicemente uno scenario di test? Non è affatto così.

Caso di test vs. scenario di test

Un caso di test è un resoconto completo di come la vostra nuova funzionalità/funzione dovrebbe comportarsi [e di come testarla]. Uno scenario di test è una descrizione di alto livello delle azioni che possono accadere e quindi essere testate.

Estendendo l'esempio precedente, lo scenario di test sarebbe "prova la sottoscrizione alla newsletter" Tuttavia, i casi di test sarebbero:

  • Test del campo nome con un nome accettabile
  • Test del campo del nome con caratteri speciali
  • Test del campo del nome per i nomi di celebrità
  • Test del campo del nome con numeri
  • Test del campo del nome per nomi segnaposto o fittizi come John Da fare
Caso di provaScenario di prova
DefinizioneDocumentazione esaustiva di come testare una funzionalitàBreve descrizione di come la funzionalità/funzione dovrebbe lavorare dal punto di vista dell'utente finale
LivelloAzioni di basso livello con responsabilità granulareAzioni di alto livello con responsabilità globale
Come testare (record dettagliato delle funzionalità previste)Che cosa testare (record breve dei risultati previsti)
FonteDerivato dagli scenari di testDerivato dalle storie dell'utente e dai casi d'uso aziendali
ApproccioConsiderare una risoluzione più alta di possibilità e testare a fondoImitare scenari di vita reale e testare di conseguenza

Differenze tra test case e test scenario

Ora che conosciamo le differenze, torniamo a concentrarci sul caso di test e facciamo uno Zoom.

Componenti di un caso di test

Ricapitolando, un caso di test è una documentazione dettagliata di tutto ciò che deve essere testato per garantire che il software lavori come previsto. Questo lo rende completo, granulare e sfaccettato, coinvolgendo più componenti.

Alcuni dei componenti critici di un caso di test sono:

Identità del caso di test: Ogni caso di test ha un numero. Può sembrare semplice, ma per testare a fondo un'applicazione, si eseguono vari test che sembrano simili. L'ID del caso di test aiuta a distinguerli.

Descrizione: Descrizione di ciò che si sta testando. Nell'esempio precedente, potrebbe essere "Aggiunta di clienti reali e interessati al nostro database di newsletter"

Precondizioni: Tutti i prerequisiti che devono essere riuniti per utilizzare questa funzionalità/funzione. Ad esempio, abbiamo parlato della convalida di ciascun campo in precedenza. Oltre a ciò, altre condizioni potrebbero essere:

  • L'utente non deve essersi già iscritto alla newsletter
  • L'utente non deve essersi cancellato dalla newsletter

Passaggi: Passaggi che l'utente o il sistema deve seguire per completare la valutazione e segnarla come esito positivo.

  • L'utente inserisce un nome valido
  • L'utente inserisce un ID valido per l'email
  • L'utente seleziona la casella di controllo privacy
  • L'utente fa clic sul pulsante Invia

Risultati attesi: Elenco di ciò che il sistema deve fare successivamente.

  • Se il nome dell'utente non è valido, viene visualizzato un messaggio di errore
  • Se l'ID dell'email non è valido, viene visualizzato un messaggio di errore
  • Se il nome utente e l'ID dell'email sono validi, salvare nel rispettivo database
  • Una volta salvato nel database, inviare un'email di conferma all'utente

Risultati effettivi: Sono le osservazioni del tester dopo aver eseguito il caso di test. Questo è ciò che verrà inviato allo sviluppatore nel caso in cui qualcosa non funzioni correttamente.

  • Testato il campo nome con Katy P3rry ed è stato accettato come input valido [anche se contiene un numero]

Con queste premesse, si è pronti a 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 comprendere il problema sia dal punto di vista dell'utente nel mondo reale, sia dal punto di vista tecnologico nel mondo digitale. Qui di seguito troverete una solida struttura per iniziare questo viaggio.

1. Identificare gli scenari di test

Prima di scrivere i casi di test, è necessario comprendere gli scenari reali in cui verrà utilizzata la funzionalità/funzione. Leggete la storia dell'utente, studiate il documento dei requisiti o discutete le specifiche con lo sviluppatore.

Ad esempio, gli scenari di test dell'esempio precedente sarebbero: L'utente si iscrive con esito positivo alla newsletter.

In questo passaggio è importante chiedersi se il documento dei requisiti descrive l'utente in modo specifico.

Ad esempio, se state creando una funzione di newsletter per i soli clienti a pagamento, avrete uno scenario in cui gli utenti non paganti potrebbero provare a iscriversi.

Quindi, analizzate attentamente i requisiti, le specifiche e le storie degli utenti.

2. Definire gli oggetti dei casi di test

In questa fase, bisogna definire cosa si vuole ottenere con l'esecuzione dei test. Ad esempio, se si tratta solo di verificare se la funzione funziona come previsto, si scriveranno casi di test funzionali.

Tuttavia, se è necessario che sia anche sicura e performante, si scriveranno anche i casi di test corrispondenti. Questo aiuterà a semplificare la test agili e presentare i risultati al team di sviluppo.

3. Scrivere passaggi chiari e concisi

Questa fase non si limita a delineare il flusso di lavoro. È tutto ciò che il QA deve fare per garantire che la funzionalità/funzione funzioni come previsto.

Fare in modo che sia approfondito: Entrate nel dettaglio il più possibile. Includete ciò che deve accadere in base all'azione dell'utente o del sistema. Ad esempio, si potrebbe scrivere:

  • Inserire il nome nel campo nome
  • Se il nome contiene un numero, viene visualizzato un messaggio di errore: "Inserire un nome con solo lettere e spazio"
  • Se il nome contiene caratteri speciali, viene visualizzato un messaggio di errore: "Inserire un nome con solo lettere e spazio"
  • Se il nome è un segnaposto, viene visualizzato un messaggio di errore: "Inserire un nome valido"
  • Se il nome è valido, consentire all'utente di inviare il messaggio

Rendilo riutilizzabile: La maggior parte delle funzionalità/funzione si incolla con altre funzionalità del passato. Ad esempio, i campi per la sottoscrizione di una newsletter potrebbero essere simili a quelli per la creazione di nuovi account utente. Riutilizzateli il più possibile per mantenere coerenza ed efficienza.

In effetti, è possibile creare anche dei campi riutilizzabili modelli di documenti sui requisiti dei prodotti da cui è più facile estrarre scenari e casi di test.

Disegnare il processo: Per funzionalità/funzione complesse, potrebbe essere difficile documentare tutti i casi di test in modo lineare. In questi casi, provate con un diagramma di flusso.

Lavagne online ClickUp

come fare il caffè come diagramma di flusso con ClickUp Whiteboards Lavagne online di ClickUp offre una tela bianca altamente personalizzabile per visualizzare il flusso di lavoro delle funzionalità/funzioni. Non sentite la pressione di doverlo fare da soli. Create i vostri diagrammi di flusso e condivideteli con tutte le parti interessate: analisti aziendali, sviluppatori, responsabili dei test e così via, per ottenere il loro consenso prima di iniziare!

Impostazione del contesto: Mentre lo scenario di test delinea il contesto aziendale, è necessario delineare chiaramente la configurazione del test. Includete la versione del software, il sistema operativo/browser, l'hardware, i formati di data e ora, il fuso orario, ecc. Inoltre, collegate tutti i documenti e le risorse che possono 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 del nome viene convalidato? Cosa succede se il campo del nome non viene convalidato?

  • Cosa succede se l'utente è già abbonato? Dovete rifiutare la sua sottoscrizione o riscriverlo?
  • E se l'utente non è un cliente pagante, bisogna chiedergli di pagare subito?
  • E se l'utente si è già cancellato? Dovreste ricontrollare prima di riscrivervi?

In questo modo, delineate i risultati attesi per ogni possibilità. Più complessa è la funzionalità/funzione, più lungo sarà l'elenco.

5. Includere precondizioni e postcondizioni

Ora, nessuna funzionalità/funzione è un'isola. Nello sviluppo del software, ogni funzionalità/funzione è connessa a qualcos'altro, il che significa che i test hanno un numero di precondizioni e postcondizioni.

Esempi di precondizioni

  • Deve essere un cliente pagante
  • Deve fornire un nome e un indirizzo email validi
  • Deve accettare le condizioni di utilizzo
  • Deve utilizzare la versione più recente di Chrome
  • È necessario effettuare l'accesso da cellulare

Esempi di postcondizioni

  • Deve essere aggiunto al database
  • Deve accettare la sottoscrizione nell'email di conferma
  • Deve essere aggiunto all'elenco di newsletter del CRM

Se siete un leader di prodotto che sta cercando di prendere confidenza con i test, ecco alcuni suggerimenti strumenti senza codice per i responsabili della produttività .

Queste erano le basi, ora passiamo al nocciolo della questione.

Best Practices per la scrittura dei casi di test

Ammettiamolo: Scrivere casi di test è un'arte. Un buon caso di test farà emergere bug e difetti che non sono 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 vostri casi di test siano orientati alla realizzazione di un software di alta qualità, considerate le seguenti best practice.

🧠 Pensare come un utente

Prima di scrivere i casi di test, pensate dal punto di vista dell'utente. Siate critici e granulari. Nell'esempio che abbiamo discusso finora, potreste chiedere:

  • Da fare: "Nome"? Nome? Cognome? O entrambi?
  • Di chi è questo nome? Il testo del nome del campo dovrebbe invece dire "il tuo nome"?
  • Dovrebbe esserci un testo segnaposto per guidare il lettore?
  • Se l'utente inserisce un nome non valido, il messaggio di errore deve identificare l'errore?

Mettetevi nei panni dell'utente. Esplorate varie possibilità e persino casi limite. Potreste non creare casi di test per tutti, ma esplorarli aiuta a rafforzare la funzionalità/funzione.

🎯 Concentratevi su una cosa alla volta

Non scrivete un caso di test funzionale che sia anche un caso di test di usabilità e un caso di test del database. Da fare una cosa alla volta. In questo modo, quando il risultato di un test è positivo o negativo, si sa esattamente cosa ha funzionato o cosa è andato storto.

Includere troppe variabili in un test complica i problemi quando il test fallisce.

👫 Da fare da soli

I casi di test definiscono la qualità del software. Anche se è il controllore nel processo di creazione e controllo, ha bisogno di un altro livello di revisione a due persone. Quindi, una volta scritti i casi di test, fate in modo che siano sottoposti a revisione paritaria.

Chiedete a un collega di esaminare ciò che avete scritto. Incoraggiatelo a trovare i difetti e a fornire un feedback critico. Da fare anche in collaborazione con analisti aziendali e sviluppatori, per avere una comprensione più chiara del loro intento.

♻️ Creare modelli riutilizzabili

Tra tutte le best practice per la scrittura dei casi di test, la più preziosa è la creazione di modelli. Che si tratti di testare funzionalità simili o completamente diverse, un modello fornisce una struttura ai vostri pensieri. Include i componenti chiave, un meccanismo di numerazione automatizzato o un quadro per presentare tutti i risultati dei test.

Modello di caso di test di ClickUp Modello di caso di prova di ClickUp è un esempio semplice, ma potente, di come sia possibile migliorare drasticamente l'efficienza e la visibilità con un framework ripetibile. Questo modello per principianti è personalizzabile e consente ai team di ottenere più cose da fare più velocemente. Inoltre, cosa c'è di più? Potete anche usare questo modello per identificare i candidati all'automazione e raddoppiare i vostri lavori richiesti per la QA.

🛠️ Usate 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, scegliendo 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 i test. Aiuta i team di test a garantire la completezza senza perdere efficienza. Aiuta i team di sviluppo a vedere chiaramente i bug.

Se i vantaggi sono infiniti, lo sono anche le sfide. La regola empirica per il numero di casi di test per funzionalità/funzione è "quanti ne servono" A seconda della funzionalità/funzione, possono essere due, cioè uno positivo e uno negativo. Possono essere tre, se il caso di test è a condizione. Oppure può essere multiplo.

Per gestire tutto questo, è necessario uno strumento robusto. Alcuni dei migliori strumenti moderni di test QA sono:

TestRail

TestRail è una piattaforma di gestione dei test per documentare e monitorare i piani di test. Include funzionalità/funzione per la tracciabilità, la copertura, l'automazione dei test e l'analisi. Si integra nativamente con un numero di strumenti di sviluppo software e offre un'ampia API.

BrowserStack

BrowserStack è uno strumento di test per app e browser. Offre test per app iOS e Android e per siti web su più browser. Include moduli specifici per i test visivi, i test di accessibilità, l'osservabilità dei test, l'automazione a basso codice e altro ancora.

Jira

È uno dei più diffusi software per il testing agile del project management jira è anche uno strumento di gestione agile dei progetti software per il monitoraggio dei bug . Con Jira è possibile scrivere casi di test, collegandoli a storie utente, bug noti o altri problemi.

Tuttavia, poiché Jira non è stato progettato per la gestione dei casi di test, le funzionalità di reportistica e automazione possono essere limitate.

ClickUp ClickUp per i team del software è uno strumento di project management all-in-one, progettato per supportare ogni aspetto del processo di progettazione. La gestione dei casi di test non fa eccezione.

ClickUp per la gestione dei casi di test

gestione dei casi di test con ClickUp_

Scrivere i casi di test: ClickUp consente ai team di gestire l'efficienza del proprio backlog con solide funzionalità di monitoraggio dei bug e dei problemi. Con ClickUp è possibile gestire i casi di test esistenti e crearne di nuovi. Uso moduli per i team di software per catturare richieste/bug e convertirli automaticamente in attività per il team.

Visibilità per le operazioni: È possibile visualizzarlo come un pannello Kanban attraverso gli stati o utilizzare la visualizzazione del calendario per pianificarli. Gestite le attività del team QA con la vista Carico di lavoro di ClickUp e portate le cose in produzione più velocemente. Utilizzo Il modello di ClickUp per il monitoraggio dei bug e dei problemi per visualizzare a volo d'uccello tutto ciò che riguarda i test nel vostro progetto di sviluppo software.

Automazioni nel project management: Integrare senza problemi la gestione dei casi di test nel vostro progetto processo di sviluppo della produttività .

Utilizzate le Automazioni ClickUp per assegnare il giusto tester a ciascun caso di test. Quando il QA cambia stato, lo assegna automaticamente allo sviluppatore per la revisione.

Con ClickUp per i team agili costruisce liste di controllo riutilizzabili da aggiungere automaticamente alle attività. Impostazione di ClickUp Brain per aiutare i team QA a scrivere reportistica più velocemente.

Best practice già impostate: Utilizzate le decine di modelli predefiniti per dare struttura al vostro processo di test. Iniziate con i vari modelli modelli di casi di test oppure modelli per la segnalazione di bug .

Modello di gestione dei test di ClickUp

Quindi, provate Modello per la gestione dei test di ClickUp per semplificare gli scenari di test, i casi di test e le esecuzioni di test. Con questo modello è possibile monitorare il processo, valutare i risultati e collaborare con il team di sviluppo sui bug e sui problemi.

Per i principianti, questo modello ha anche un documento completo su come iniziare per guidarvi attraverso il processo.

Vi state chiedendo come scrivere una relazione di prova? Abbiamo il modello che fa per voi. Scaricate e utilizzate questo modello, facile da usare per i principianti Modello di reportistica per i test ClickUp per riepilogare i risultati dei test e consegnarli agli sviluppatori.

Creare un software eccellente per ogni caso con ClickUp

Nello sviluppo del software, i test hanno il ruolo cruciale di assicurarsi che tutto vada bene tutto sia a posto. Fornisce un supporto a 360 gradi.

Convalida il lavoro del team di sviluppo. Conferma l'adeguatezza alle intenzioni del team aziendale. Rimane fedele alle esigenze dell'utente in termini di funzioni, prestazioni, sicurezza e privacy.

La gestione di un processo così critico e completo richiede una suite di strumenti accurati. ClickUp è proprio questo.

Che stiate seguendo un modello di sviluppo software agile, a cascata o ibrido, ClickUp è ricco di funzionalità/funzione, progettate per essere altamente personalizzabili e adattarsi alle vostre esigenze specifiche.

Oltre a una gestione delle attività potente e sfaccettata, ClickUp include anche una suite di test, Automazioni DevOps , integrazioni e modelli che hanno una marcia in più. Scopritelo voi stessi. Prova gratis ClickUp oggi stesso .