Analisi dei test e principi di base dei test

โšก Riepilogo intelligente

L'analisi dei test, detta anche base di test, รจ la revisione strutturata dei requisiti, dei documenti di progettazione e di altri artefatti utilizzati per derivare le condizioni di test. Questo articolo illustra le fonti, il flusso di lavoro passo passo e il posizionamento dell'analisi dei test nel modello V.

  • ๐Ÿ“‹ Principio chiave: La Test Basis รจ la fonte autorevole โ€” SRS, BRS, documenti di progettazione โ€” da cui devono essere derivate tutte le condizioni di test e i casi di test.
  • โœ… Fattore determinante della qualitร : Un'accurata analisi dei test previene requisiti non soddisfatti, aspettative ambigue e rilavorazioni durante l'esecuzione e i test di accettazione da parte dell'utente.
  • ๐Ÿ” Focus sul flusso di lavoro: RevEsamina gli artefatti, identifica le condizioni testabili, classificale per prioritร  e tipologia, quindi converti ciascuna in casi di test strutturati.
  • ๐Ÿงช Allineamento del modello: Ciascuna fase del modello V produce un artefatto di test corrispondente; l'analisi dei test viene eseguita rispetto al documento di sviluppo corrispondente.
  • โš ๏ธ Analisi del rischio: Basi di test ambigue o incomplete sono la causa principale dei difetti non rilevati, pertanto l'analisi precoce rappresenta l'attivitร  di controllo qualitร  piรน efficace.

Cos'รจ l'analisi dei test (basata sui test)?

L'analisi dei test, nota anche come base di test, si trova proprio all'inizio del ciclo di vita dei test. Ogni condizione di test e caso di test in definitiva tracTorniamo all'argomento. Le sezioni seguenti definiscono il termine, ne spiegano le fonti, illustrano il flusso di lavoro dell'analisi e lo inseriscono nel modello V.

Che cos'รจ l'analisi dei test?

Analisi di prova Nel test del software, il processo consiste nel rivedere gli input utilizzati per derivare le condizioni di test e i casi di test. Questi input โ€” specifiche, requisiti, documenti di progettazione, storie utente e deliverable simili โ€” sono collettivamente chiamati artefatti di prova. L'obiettivo dell'analisi dei test รจ quello di esaminaretracobiettivi del test t abbastanza chiari da poter trasformare ciascuno di essi in una condizione di test non ambigua. Poichรฉ il materiale analizzato costituisce la base da cui derivano tutti i test, รจ anche chiamato Base di prova.

Le fonti tipiche da cui i tester ricavano le informazioni sui test includono:

  • SRS โ€” Specifiche dei requisiti software
  • BRS โ€” Specifiche dei requisiti aziendali
  • Documenti di progettazione funzionale
  • Storie utente, criteri di accettazione e wireframe

I tester possono anche generare condizioni di test esplorando direttamente l'Applicazione sotto test o attingendo all'esperienza passata, ma la maggior parte casi test sono derivati โ€‹โ€‹da artefatti di test per mantenere tracabilitร .

๐Ÿ‘‰ Iscriviti al progetto di test software live gratuito

Perchรฉ รจ importante basarsi sui test?

La base di test รจ il fattore determinante per stabilire se una suite di test individua difetti reali o ne insegue inesistenti. Considerarla facoltativa รจ la causa piรน comune di bug sfuggiti che raggiungono l'ambiente di produzione. Un'analisi dei test accurata offre quattro vantaggi concreti:

  • Traccapacitร : Ogni caso di test puรฒ essere ricondotto a un requisito specifico, il che rende l'analisi dell'impatto delle modifiche rapida e le revisioni di audit indolori.
  • Chiarezza della copertura: RevEsaminando le lacune della base, emergono stati di errore non specificati, casi limite mancanti, soglie non funzionali non definite, prima che si trasformino in incidenti di produzione.
  • Allineamento delle parti interessate: Quando il team di test ricava le condizioni dagli stessi documenti su cui si basa il team di sviluppo, entrambe le parti condividono una definizione comune di "fatto".
  • Rilevamento precoce dei difetti: Molti difetti dei requisiti (ambiguitร , contraddizioni, criteri di accettazione mancanti) vengono individuati giร  durante l'analisi dei test, ben prima che venga scritto qualsiasi codice: รจ di gran lunga il modo piรน economico per correggerli.

Fonti comuni della base di test

Artefatti diversi alimentano livelli di test diversi. Utilizza la tabella seguente come riferimento rapido per decidere quale documento consultare durante la scrittura dei casi di test.

Artefatto sorgenteAdatto aCosa ti succede?tract
Specifiche dei requisiti aziendali (BRS)Test di accettazione e di sistemaRegole aziendali end-to-end, vincoli normativi, criteri di successo
Specifiche dei requisiti software (SRS)Test di sistemaRequisiti funzionali e non funzionali con soglie misurabili
Documenti di progettazione funzionale/tecnicaTest d'integrazioneInterfacce dei moduli, flusso di dati, specifiche per la gestione degli errori
Storie utente e criteri di accettazioneTest di sprint AgileAspettative comportamentali nella forma โ€œDato-Quando-Alloraโ€
Wireframe e mockup dell'interfaccia utenteTest di usabilitร  dell'interfaccia utenteLayout, navigazione, regole di convalida dell'input
Applicazione in fase di test (esplorativa)Test esplorativi e di regressioneComportamenti non documentati, flussi di lavoro reali, casi limite

Come eseguire un'analisi dei test passo dopo passo

Un'analisi dei test efficace segue un flusso di lavoro ripetibile in cinque fasi, indipendentemente dalle dimensioni del progetto o dalla metodologia utilizzata.

  1. Raccogliere e inventariare la base di test. Raccogli ogni artefatto che descrive il comportamento previsto: SRS, BRS, documenti di progettazione, user story, mockup. Annota quale documento possiede ogni requisito in modo tracla funzionalitร  rimane intatta.
  2. Revvista per la testabilitร . Leggete ogni artefatto tenendo a mente tre domande: Questa affermazione รจ misurabile? รˆ inequivocabile? รˆ completa? Segnalate qualsiasi requisito che non superi una di queste verifiche e riportatelo all'autore prima di scrivere i test relativi ad esso.
  3. Identificare le condizioni di prova. Per ogni affermazione verificabile, elenca le condizioni che necessitano di verifica (percorsi positivi, percorsi negativi, valori limite, gestione degli errori, sicurezza, prestazioni). Una condizione di test รจ l'assolutatract โ€œcosaโ€ โ€” ad esempio, โ€œIl sistema rifiuta gli ordini con quantitร  pari a zeroโ€ โ€” distinto dal "come" concreto di un caso di test.
  4. Assegnare prioritร  e raggruppare le condizioni. Classifica ogni condizione in base al rischio e alla frequenza di utilizzo. Le condizioni ad alto rischio e ad alta frequenza richiedono una copertura dettagliata; le condizioni a basso rischio possono essere raggruppate o campionate. In questa fase si decide anche quali condizioni sono idonee all'automazione.
  5. Convertire le condizioni in casi di test. Ogni condizione prioritaria diventa una o piรน casi test con prerequisiti, passaggi, dati di test e risultati attesi. Mantenere un requisito tracMatrice di fattibilitร  che collega ogni caso di test al requisito originario.

Seguendo questa sequenza si evitano gli errori piรน comuni nell'analisi dei test: scrivere casi di test senza una base chiara, trascurare scenari negativi e produrre test che non possono essere ricondotti a un requisito durante la fase di analisi dei difetti.

Analisi dei test nel modello V

Il modello V associa a ogni attivitร  di sviluppo una corrispondente attivitร  di test. L'analisi dei test avviene a ogni livello utilizzando la documentazione disponibile in quel preciso momento del ciclo di vita.

Analisi dei test nel modello V di test

Figura 1: Analisi dei test attraverso le fasi del Modello a V.

Caso di studio: derivazione di casi di test da un requisito del cliente

Consideriamo uno scenario in cui il cliente invia la seguente richiesta, espressa in una sola riga.

Client requirement: Add search functionality to an eCommerce Store

Anche se l'applicazione non รจ ancora stata realizzata, un tester puรฒ giร  ricavare diverse condizioni di test analizzando ciรฒ che il requisito implica, sia il comportamento ottimale che le modalitร  di errore non specificate esplicitamente dal cliente. Alcuni esempi includono:

  • Verifica il risultato della ricerca quando non viene inserita alcuna parola chiave.
  • Verifica il risultato della ricerca se non esiste alcun prodotto corrispondente alla parola chiave inserita.
  • Verifica il risultato della ricerca quando sono presenti piรน prodotti corrispondenti alla parola chiave.
  • Verifica il comportamento con caratteri speciali, spazi iniziali/finali e input molto lunghi.
  • Verificare la distinzione tra maiuscole e minuscole e il comportamento in caso di corrispondenza parziale.
  • Verificare il tempo di risposta della ricerca in condizioni di carico utenti previsto.

Il tester prende i requisiti del cliente (la base di test), li analizza e li converte in condizioni di test. Questo schema si ripete in ogni fase del modello V: i piani di test e i casi di test vengono creati utilizzando il documento disponibile in quel momento del ciclo di vita.

Video: L'analisi dei test spiegata

Se il video non si carica, visualizzalo direttamente su YouTube.

DOMANDE FREQUENTI

Una condizione di prova descrive che cosa deve essere verificato (ad esempio, "il sistema blocca le ricerche vuote"). Un caso di test aggiunge come: prerequisiti, passaggi, dati e risultato atteso. Una singola condizione puรฒ essere coperta da piรน casi di test.

Sรฌ. Gli strumenti di IA analizzano i requisiti, ad esempiotracLe affermazioni sono verificabili e suggeriscono le condizioni di test, spesso segnalando ambiguitร  che un revisore umano potrebbe non notare. Tuttavia, la revisione umana rimane essenziale per convalidare la prioritร , il rischio aziendale e i casi limite specifici del dominio.

I tester segnalano le lacune agli analisti aziendali e agli sviluppatori, quindi utilizzano test esplorativi e tecniche basate sull'esperienza per coprire le aree sconosciute. Documentate ogni ipotesi in modo che possa essere convalidata nuovamente una volta che i requisiti si saranno stabilizzati.

I principi sono identici; cambia solo la cadenza. I team Agile eseguono l'analisi dei test in modo continuo, storia per storia, durante la pianificazione e la fase di affinamento dello sprint. I team che utilizzano il modello V la eseguono in batch piรน ampi, confrontandola con le specifiche dei requisiti software (SRS) e i documenti di progettazione formali.

L'IA generativa abbina testi semanticamente simili nei requisiti e nei casi di test, e crea automaticamente tracLe matrici di fattibilitร  e l'individuazione di test orfani o requisiti non coperti riducono i tempi di preparazione dell'audit e mettono in luce le lacune di copertura che una ricerca per parole chiave non rileverebbe.

Riassumi questo post con: