Cos'è il test del dominio nel test del software? (con esempio)

⚡ Riepilogo intelligente

Il test di dominio verifica un'applicazione fornendole il set minimo utile di input, che comprende valori validi, non validi e al limite, e confermando che solo i valori all'interno dell'intervallo accettato producano l'output richiesto.

  • 🔘 Idea centrale: Suddividi ciascun dominio di input in classi di equivalenza e testa un valore rappresentativo per classe, non ogni possibile input.
  • ☑️ Punto focale del confine: I valori ai limiti di una classe, e appena al di fuori di essa, rivelano difetti di scostamento di un'unità molto più frequentemente rispetto ai valori intermedi.
  • Tecniche abbinate: L'analisi della classe di equivalenza decide il gruppopingL'analisi dei valori limite decide quale membro di ciascun gruppo eseguire.
  • 🧪 Esempio pratico: Un modulo di biglietteria che assegna le competizioni in base all'età e al sesso riduce le quattro classi di età a un breve set di test di alto valore.
  • 📈 Dipendenza dalla conoscenza: Valutare se un output è corretto richiede regole aziendali, quindi la tecnica si adatta a piccoli blocchi di logica ben definiti.

Test di dominio nel collaudo del software con classi di equivalenza e valori limite

Cos'è il test del dominio?

Test del dominio è un test del software Processo in cui l'applicazione viene testata fornendo un numero minimo di input e valutandone gli output appropriati. L'obiettivo principale del test di dominio è verificare se l'applicazione software accetta input entro l'intervallo accettabile e fornisce l'output richiesto.

È una test funzionali tecnica in cui l'output di un sistema viene testato con un numero minimo di input per garantire che il sistema non accetti valori di input non validi e fuori intervallo. È anche considerato uno degli aspetti importanti test della scatola bianca metodi. Verifica inoltre che il sistema non accetti input, condizioni e indici al di fuori dell'intervallo specificato o valido.

I test di dominio variano a seconda del dominio specifico, quindi è necessaria una conoscenza specifica del dominio per poter testare un sistema software.

Pratica più semplice del test del dominio

Nel test del dominio, dividiamo un dominio in sottodomini (classi di equivalenza) e quindi testiamo utilizzando i valori di ciascun sottodominio. Ad esempio, se un sito web (dominio) è stato fornito per il test, divideremo il sito web in piccole porzioni (sottodominio) per facilitare il test.

Il dominio di applicazione potrebbe prevedere la verifica di una singola variabile di input o di una combinazione di variabili di input.

Spesso, chi si occupa di questo campo studia i casi più semplici di test di dominio con altri due nomi: "test di confine" e "analisi delle classi di equivalenza".

Test di confine - Analisi del valore limite (BVA) si basa sul test ai confini tra le partizioni. Verificheremo sia i valori di input validi che quelli non validi all'interno delle partizioni/classi.

Test di equivalenza di classe – L'idea alla base di questa tecnica è quella di dividere (cioè partizionare) un insieme di condizioni di test in gruppi o insiemi che possono essere considerati uguali (cioè il sistema dovrebbe gestirli in modo equivalente), da qui il 'partizionamento di equivalenza'.

Tale forma semplificata si applica ai test di dominio –

  • Solo per i test delle variabili di input
  • Solo quando testato al livello di sistema
  • Solo se testati uno alla volta
  • Solo se testato in modo molto superficiale

Può essere semplificato come di seguito:

Variabile Classe di equivalenza di classe valida Classe di equivalenza di classe non valida Confini e casi speciali Note
X 0-100 0
100
<0 -1
> 100 101

Spiegazione:

  • Se un campo accetta valori compresi tra 0 e 100, non deve accettare -1 e 101, in quanto si tratta di valori non validi e al di fuori dell'intervallo consentito.
  • Il campo deve accettare valori come 0, 100 e qualsiasi numero compreso tra questi due valori.

Costruire tavoli come questi (nella pratica)

  • Per costruire un'analisi di equivalenza nel tempo, inserisci le informazioni in un foglio di calcolo. Inizia elencando le variabili. Aggiungi le informazioni relative a esse man mano che le ottieni.
  • La tabella dovrebbe infine contenere tutte le variabili. Ciò significa tutte le variabili di input, tutte le variabili di output e qualsiasi variabile intermedia che sia possibile osservare.
  • In pratica, la maggior parte di queste tabelle è incompleta. Le migliori elencano tutte le variabili e aggiungono dettagli per quelle critiche.

Strategia di test del dominio

Durante i test di dominio, è necessario tenere in considerazione i seguenti aspetti:

  • Quale dominio stiamo testando?
  • Come raggruppare i valori in classi?
  • Quali valori delle classi da testare?
  • Come determinare il risultato?

Quale dominio stiamo testando?

Ogni dominio che testiamo presenta funzionalità di input e di output. Ci saranno delle variabili di input da inserire e l'output corrispondente dovrà essere verificato. Il diagramma seguente mostra la relazione tra input e output.

Strategia di test del dominio che mostra le variabili di input che confluiscono in un dominio e producono un output

Esempio di test del dominio

Considera uno scenario di test con un singolo input:

C = a+b, dove aeb sono variabili di input e C è la variabile di output.

Nell'esempio sopra riportato, non è necessaria alcuna classificazione, né è richiesta alcuna combinazione di variabili.

Considera i seguenti input multipli e lo scenario di output appropriato:

Consideriamo una fiera dei giochi per bambini. Sono previste sei competizioni e i biglietti devono essere distribuiti in base all'età e al sesso dei partecipanti. Il sistema di biglietteria è uno dei moduli da testare per garantire la funzionalità complessiva della fiera.

Secondo lo scenario, abbiamo sei scenari in base all'età e alle competizioni:

  • I bambini di età compresa tra 5 e 10 anni dovrebbero partecipare alle attività di narrazione.
  • Le bambine di età compresa tra i 5 e i 10 anni sono invitate a partecipare al concorso di disegno.
  • I ragazzi di età compresa tra 10 e 15 anni sono invitati a partecipare al quiz.
  • Le ragazze di età compresa tra 10 e 15 anni sono invitate a partecipare alla prova di scrittura del saggio.
  • Al concorso di filastrocche possono partecipare sia maschi che femmine di età inferiore o uguale a 5 anni.
  • Età >15 anni, sia i ragazzi che le ragazze dovrebbero partecipare al concorso di poesia.

Qui l'input sarà Età e Genere, e quindi verrà emesso il biglietto per la competizione. Questo è il caso in cui la partizione degli input, o semplicemente raggruppamentoping dei valori, entra in gioco.

Come raggruppare i valori in classi?

Partizionare alcuni valori significa dividerli in parti non sovrapposteping sottoinsiemi.

Come abbiamo discusso in precedenza, esistono due tipi di partizionamento:

  • Partizionamento per equivalenze – Il partizionamento di equivalenza è una tecnica di test del software che divide i dati di input di un'unità software in partizioni di dati equivalenti da cui casi test possono essere derivati. In linea di principio, i casi di test sono progettati per coprire ogni partizione almeno una volta.
  • Analisi del valore limite – L'analisi dei valori limite è una tecnica di test del software in cui i test sono progettati per includere rappresentanti dei valori limite in un intervallo. L'idea deriva dal confine.

Nell'esempio precedente, stiamo suddividendo i valori in sottoinsiemi. Stiamo suddividendo l'età nelle seguenti classi:

  • Classe 1: Bambini di età compresa tra i 5 e i 10 anni
  • Classe 2: Bambini di età inferiore a 5 anni
  • Classe 3: Bambini di età compresa tra i 10 e i 15 anni
  • Classe 4: Bambini di età superiore ai 15 anni.

Quali valori delle classi da testare?

I valori selezionati per il test devono essere valori limite:

  • I confini sono rappresentanti delle classi di equivalenza da cui li campioniamo. Hanno maggiori probabilità di rivelare un errore rispetto agli altri membri della classe, quindi sono rappresentanti migliori.
  • Il miglior rappresentante di una classe di equivalenza è un valore compreso tra l'intervallo.

Per l'esempio precedente abbiamo le seguenti classi da testare:

Ad esempio, per lo scenario n. 1:

Classe 1: Bambini di età compresa tra 5 e 10 anni (età >5 e <=10)

Valori limite:

  • I valori devono essere uguali o inferiori a 10. Pertanto, l'età di 10 anni dovrebbe essere inclusa in questa classe.
  • I valori dovrebbero essere maggiori di 5. Pertanto, i 5 anni non dovrebbero essere inclusi in questa classe.
  • I valori devono essere pari o inferiori a 10. Pertanto, l'età di 11 anni non deve essere inclusa in questa classe.
  • I valori dovrebbero essere maggiori di 5. Pertanto, l'età di 6 anni dovrebbe essere inclusa in questa classe.

Valori di partizione di equivalenza:

Si parla di partizionamento di equivalenza quando si deve testare una sola condizione per ogni partizione. In questo caso, si presume che se una condizione in una partizione funziona, allora tutte le altre condizioni dovrebbero funzionare. Allo stesso modo, se una condizione in quella partizione non funziona, si presume che nessuna delle altre condizioni funzionerà. Ad esempio,

(Età >5 e <=10)

Poiché i valori da 6 a 10 sono validi, è necessario selezionarne uno tra 6, 7, 8, 9 e 10. Pertanto, l'età selezionata "8" è un'età di input valida per la fascia di età compresa tra (età >5 e <=10). Questo tipo di partizione è detta partizione di equivalenza.

Scenario Valori limite da adottare Valori di partizionamento di equivalenza
Ragazzo – Età >5 e <=10 Età inserita = 6
Età inserita = 5
Età inserita = 11
Età inserita = 10
Età inserita = 8
Ragazza – Età >5 e <=10 Età inserita = 6
Età inserita = 5
Età inserita = 11
Età inserita = 10
Età inserita = 8
Ragazzo – Età >10 e <=15 Età inserita = 11
Età inserita = 10
Età inserita = 15
Età inserita = 16
Età inserita = 13
Ragazza – Età >10 e <=15 Età inserita = 11
Età inserita = 10
Età inserita = 15
Età inserita = 16
Età inserita = 13
Età<=5 Età inserita = 4
Età inserita = 5
Età inserita = 3
Età> 15 Età inserita = 15
Età inserita = 16
Età inserita = 25

Come determiniamo se il programma ha superato o meno il test?

Il superamento del test di funzionalità non dipende solo dai risultati degli scenari sopra descritti. L'input fornito e l'output atteso ci daranno i risultati, e questo richiede conoscenze specifiche del dominio.

Determinazione dei risultati dell'esempio: la schermata seguente mostra l'output di emissione dei biglietti per ogni combinazione di età e sesso.

Output dei ticket per ogni combinazione di età e sesso utilizzata per determinare i risultati dei test di dominio

Pertanto, se tutti i casi di test sopra descritti vengono superati, il dominio di emissione dei biglietti nella competizione viene approvato. In caso contrario, il dominio viene bocciato.

Struttura di test del dominio

Solitamente, i tester seguono i passaggi descritti di seguito per i test di dominio. Questi passaggi possono essere personalizzati o omessi in base alle nostre esigenze di test.

  • Individuare le variabili potenzialmente interessanti.
  • Identifica le variabili che puoi analizzare ora e ordinale (dalla più piccola alla più grande e viceversa).
  • Creare e identificare i valori limite e i valori delle classi di equivalenza come sopra.
  • Identifica le dimensioni secondarie e analizza ciascuna di esse in modo classico. (Nell'esempio precedente, il genere è la dimensione secondaria.)
  • Identificare e testare le variabili che contengono risultati (variabili di output).
  • Valutare come il programma utilizza il valore di questa variabile.
  • Identificare ulteriori variabili potenzialmente correlate per i test di combinazione, dove test della tabella decisionale aiuta.
  • Immagina rischi che non si riconducono necessariamente a una dimensione ovvia.
  • Identificare ed elencare le variabili non analizzate. Raccogliere informazioni per analisi successive.
  • Riassumi la tua analisi con una tabella di rischio/equivalenza.

DOMANDE FREQUENTI

Entrambe le etichette appaiono nella pratica. Le classi derivate dalla specifica lo rendono un scatola nera tecnica; le classi derivate dal codice lo rendono una scatola bianca. L'analisi in sé è identica.

Copre i punti critici soggetti a errori con pochissimi casi di test. I limiti sono reali: i confini sono difficili da definire con precisione e non vengono mai testati interi flussi di lavoro, quindi si affianca ad altri metodi anziché sostituirli.

La partizione di equivalenza è una fase del test di dominio, che comprende anche l'ordinamento delle variabili, l'analisi dei confini, la gestione delle dimensioni secondarie e delle variabili di output, e si conclude con una tabella dei rischi.

I due si sovrappongono senza essere identici. Questo articolo tratta l'analisi del dominio di input, mentre l'uso industriale come test nel settore sanitario Significa effettuare test con conoscenze specifiche del settore, che sono comunque necessarie per valutare i risultati attesi.

Gli assistenti basati sull'IA leggono un requisito e propongono classi di equivalenza candidate, valori limite e casi non validi mancanti. Un tester deve comunque confermare i limiti reali, poiché un intervallo dedotto in modo errato produce un set di test affidabile ma inutile.

Copilota GitHub Scrive metodi di test parametrizzati una volta che le classi e gli archi compaiono nel prompt o nel codice. I limiti aziendali non specificati devono essere forniti dal tester.

Ogni combinazione cresce in modo moltiplicativo, quindi è raramente pratico. Analizza prima ogni variabile singolarmente, poi usa il confronto a coppie o matrice ortogonale selezione delle combinazioni rischiose.

Testa solo le classi valide e saltaping test negativo, utilizzando un confine inclusivo laddove la regola è esclusiva e ignorando completamente le variabili di output.

Riassumi questo post con: