black box testing an depth tutorial with examples
In questo tutorial, utilizzando la mia esperienza industriale nel test del software, familiarizziamo con i tipi e le tecniche del test black-box insieme al suo processo, vantaggi, svantaggi e alcuni strumenti di automazione per testarlo oltre al test manuale.
Impareremo anche le differenze tra White Box Testing e Black Box Testing.
Elenco dei tutorial 'Tecniche di prova della scatola nera':
Tutorial n. 1: Che cos'è il test Black Box
Tutorial n. 2: Cos'è il White Box Testing
Tutorial n. 3: Test funzionale semplificato
Tutorial n. 4: Che cos'è il test dei casi d'uso
Tutorial n. 5 : Tecnica di test con array ortogonali
Tecniche
Tutorial # 6: Analisi del valore limite e partizionamento di equivalenza
Tutorial # 7: Test della tabella decisionale
Tutorial n. 8: Test di transizione di stato
Tutorial n. 9 : Errore nel tentativo di indovinare
Tutorial n.10: Metodi di test basati su grafici
Quasi tutti noi eseguiamo il test Black Box ogni giorno!
Che abbiamo imparato o meno, tutti abbiamo eseguito ed eseguito il Black Box Test molte volte nella nostra vita quotidiana !!
Dal nome stesso puoi probabilmente capire che implica l'interazione con il sistema, che stai testando come una scatola misteriosa. Significa che non sei abbastanza informato sul funzionamento interno del sistema ma sai come dovrebbe comportarsi.
Se prendiamo un file esempio per testare la nostra macchina o moto, la guidiamo sempre per assicurarci che non si comporti in modo insolito. Vedere? Abbiamo già eseguito il test Black Box.
Cosa imparerai:
- Che cos'è il test Black Box?
- Tipi di test della scatola nera
- Strumenti di prova Black Box
- Tecniche di prova della scatola nera
- Come fare Step-wise?
- Vantaggi e svantaggi
- Differenza tra test white box e test black box
- Conclusione
- Lettura consigliata
Che cos'è il test Black Box?
Il test Black Box è anche noto come test comportamentale, opaco, chiuso, basato sulle specifiche o occhio a occhio.
È un metodo di test del software che analizza la funzionalità di un software / applicazione senza conoscere molto la struttura / il design interno dell'elemento che viene testato e confronta il valore di input con il valore di output.
algoritmo di ordinamento della shell c ++
L'obiettivo principale di Black Box Testing è sulla funzionalità del sistema nel suo insieme. Il termine 'Test comportamentali' viene utilizzato anche per il test Black Box. Il design del test comportamentale è leggermente diverso dal design del test della scatola nera perché l'uso della conoscenza interna non è severamente vietato, ma è comunque scoraggiato.
Ogni metodo di test ha i suoi vantaggi e svantaggi. Ci sono alcuni bug che non possono essere trovati utilizzando la tecnica unica scatola nera o solo scatola bianca.
La maggior parte delle applicazioni viene testata con il metodo Black Box. Dobbiamo coprire la maggior parte dei casi di test in modo che la maggior parte dei bug vengano scoperti da un Scatola nera metodo.
Questo test si verifica durante lo sviluppo del software e il ciclo di vita del test, ovvero nelle fasi di test di unità, integrazione, sistema, accettazione e regressione.
Può essere sia funzionale che non funzionale.
Tipi di test della scatola nera
In pratica, ci sono diversi tipi di Black Box Testing che sono possibili ma se consideriamo la variante principale di esso allora sotto menzionati sono i due fondamentali.
# 1) Test funzionale
Questo tipo si occupa dei requisiti funzionali o delle specifiche di un'applicazione. Qui vengono testate diverse azioni o funzioni del sistema fornendo l'input e confrontando l'output effettivo con l'output previsto.
Per esempio ,quando testiamo un elenco a discesa, facciamo clic su di esso e verifichiamo che si espanda e tutti i valori previsti siano visualizzati nell'elenco.
Alcuni dei principali tipi di test funzionali sono:
- Test del fumo
- Test di sanità mentale
- Test d'integrazione
- Test di sistema
- Test di regressione
- Test di accettazione dell'utente
=> Ulteriori informazioni Test funzionali .
# 2) Test non funzionali
Oltre alle funzionalità dei requisiti, ci sono anche diversi aspetti non funzionali che devono essere testati per migliorare la qualità e le prestazioni dell'applicazione.
Alcuni dei principali tipi di test non funzionali includono:
- Test di usabilità
- Test di carico
- Test delle prestazioni
- Test di compatibilità
- Stress Testing
- Test di scalabilità
=> Ulteriori informazioni Test non funzionali .
Strumenti di prova Black Box
Gli strumenti di Black Box Testing sono principalmente strumenti di registrazione e riproduzione. Questi strumenti vengono utilizzati per il test di regressione per verificare se la nuova build ha creato bug nella funzionalità dell'applicazione di lavoro precedente.
Questi strumenti di registrazione e riproduzione registrano casi di test sotto forma di alcuni script come TSL, script VB, Javascript, Perl, ecc.
Tecniche di prova della scatola nera
Per testare sistematicamente un insieme di funzioni, è necessario progettare casi di test. I tester possono creare casi di test dal documento di specifica dei requisiti utilizzando le seguenti tecniche di test Black Box.
- Partizionamento di equivalenza
- Analisi del valore limite
- Test della tabella decisionale
- Test di transizione di stato
- Errore nel tentativo di indovinare
- Metodi di test basati su grafici
- Test di confronto
Cerchiamo di capire ogni tecnica in dettaglio.
domande e risposte dell'intervista in codice java
# 1) Partizionamento di equivalenza
Questa tecnica è nota anche come Equivalence Class Partitioning (ECP). In questa tecnica, i valori di input per il sistema o l'applicazione sono suddivisi in classi o gruppi differenti in base alla somiglianza nel risultato.
Quindi, invece di utilizzare ogni valore di input, ora possiamo utilizzare qualsiasi valore dal gruppo / classe per testare il risultato. In questo modo, possiamo mantenere la copertura del test mentre possiamo ridurre molte rilavorazioni e, soprattutto, il tempo impiegato.
Per esempio:
Come presente nell'immagine sopra, un campo di testo “ETÀ” accetta solo i numeri da 18 a 60. Ci saranno tre serie di classi o gruppi.
Due classi non valide saranno:
a) Minore o uguale a 17.
b) Maggiore o uguale a 61.
Una classe valida sarà compresa tra 18 e 60 anni.
Abbiamo così ridotto i casi di test a soli 3 casi di test basati sulle classi formate coprendo così tutte le possibilità. Quindi, testare con chiunque il valore di ogni set della classe è sufficiente per testare lo scenario precedente.
=> Lettura consigliata - Che cos'è il partizionamento di equivalenza?
# 2) Analisi del valore limite
Dal nome stesso, possiamo capire che in questa tecnica ci concentriamo sui valori ai confini poiché si è riscontrato che molte applicazioni hanno un'elevata quantità di problemi sui confini.
Per confine si intendono i valori vicini al limite in cui cambia il comportamento del sistema. Nell'analisi del valore limite vengono testati sia gli input validi che gli input non validi per verificare i problemi.
Per esempio:
Se vogliamo testare un campo in cui devono essere accettati valori da 1 a 100, scegliamo i valori limite: 1-1, 1, 1 + 1, 100-1, 100 e 100 + 1. Invece di usare tutti i valori da 1 a 100, usiamo solo 0, 1, 2, 99, 100 e 101.
# 3) Test della tabella decisionale
Come suggerisce il nome stesso, ovunque ci siano relazioni logiche come:
Se
{
(Condizione = Vero)
quindi action1;
}
altro action2; / * (condizione = False) * /
Quindi un tester identificherà due uscite (azione1 e azione2) per due condizioni (Vero e Falso). Quindi, in base ai probabili scenari, viene creata una tabella decisionale per preparare una serie di casi di test.
Per esempio:
Prendiamo un esempio della banca XYZ che fornisce un tasso di interesse per gli anziani di sesso maschile del 10% e per il resto delle persone del 9%.
In questa condizione di esempio, C1 ha due valori come vero e falso, la condizione C2 ha anche due valori come vero e falso. Il numero di combinazioni possibili totali sarebbe quindi quattro. In questo modo possiamo derivare casi di test utilizzando una tabella delle decisioni.
testare domande e risposte dell'intervista per esperti
# 4) Test di transizione di stato
Il test di transizione di stato è una tecnica utilizzata per testare i diversi stati del sistema sottoposto a test. Lo stato del sistema cambia a seconda delle condizioni o degli eventi. Gli eventi innescano stati che diventano scenari e un tester deve testarli.
Un diagramma di transizione di stato sistematico fornisce una visione chiara dei cambiamenti di stato, ma è efficace per applicazioni più semplici. Progetti più complessi possono portare a diagrammi di transizione più complessi, rendendoli così meno efficaci.
Per esempio:
# 5) Indovinare l'errore
Questo è un classico esempio di test basato sull'esperienza.
In questa tecnica, il tester può utilizzare la propria esperienza sul comportamento e le funzionalità dell'applicazione per indovinare le aree soggette a errori. Molti difetti possono essere trovati utilizzando la ricerca degli errori dove la maggior parte degli sviluppatori di solito commette errori.
Pochi errori comuni che gli sviluppatori di solito dimenticano di gestire:
- Dividi per zero.
- Gestione di valori nulli nei campi di testo.
- Accettare il pulsante Invia senza alcun valore.
- Caricamento di file senza allegati.
- Caricamento di file con dimensioni inferiori o superiori alle dimensioni limite.
# 6) Metodi di test basati su grafici
Ogni singola applicazione è un accumulo di alcuni oggetti. Tutti questi oggetti vengono identificati e il grafico viene preparato. Da questo grafico a oggetti, ogni relazione tra oggetti viene identificata e i casi di test vengono scritti di conseguenza per scoprire gli errori.
# 7) Test di confronto
Diverse versioni indipendenti dello stesso software vengono utilizzate per il confronto tra loro per il test in questo metodo.
Come fare Step-wise?
In generale, quando viene seguito un processo sistematico per testare un progetto / un'applicazione, la qualità viene mantenuta ed è utile a lungo termine per ulteriori cicli di test.
- Il passaggio principale è comprendere la specifica dei requisiti di un'applicazione. Dovrebbe essere in atto un SRS (Software Requirement Specification) adeguatamente documentato.
- Utilizzando le tecniche di test Black Box sopra menzionate come l'analisi del valore limite, il partizionamento di equivalenza, ecc., I set di input validi e non validi vengono identificati con i loro output desiderati ei casi di test sono progettati sulla base di questo.
- I casi di test progettati vengono eseguiti per verificare se hanno esito positivo o negativo verificando i risultati effettivi con i risultati attesi.
- I casi di test non riusciti vengono generati come Difetti / Bug e indirizzati al team di sviluppo per farlo riparare.
- Inoltre, in base ai difetti da correggere, il tester verifica nuovamente i difetti per verificare se si ripetono o meno.
Vantaggi e svantaggi
Vantaggi
- Il tester non ha bisogno di un background tecnico. È importante testare mettendosi nei panni dell'utente e pensare dal punto di vista dell'utente.
- Il test può essere avviato una volta completato lo sviluppo del progetto / applicazione. Sia i tester che gli sviluppatori lavorano in modo indipendente senza interferire nello spazio dell'altro.
- È più efficace per applicazioni grandi e complesse.
- Difetti e incongruenze possono essere identificati nella fase iniziale del test.
Svantaggi
- Senza alcuna conoscenza tecnica o di programmazione, ci sono possibilità di ignorare le possibili condizioni dello scenario da testare.
- In un tempo stabilito ci sono possibilità di testare meno e saltare tutti i possibili input e il loro test di output.
- Una copertura completa del test non è possibile per progetti grandi e complessi.
Differenza tra test white box e test black box
Di seguito sono riportate alcune differenze tra i due:
Test della scatola nera | Test della scatola bianca |
---|---|
È un metodo di test senza conoscere il codice effettivo o la struttura interna dell'applicazione | Si tratta di un metodo di test con conoscenza del codice effettivo e della struttura interna dell'applicazione |
Questo è un test di livello superiore come il test funzionale. | Questo tipo di test viene eseguito a un livello inferiore di test come Unit Testing, Integration Testing |
Si concentra sulla funzionalità del sistema in prova | Si concentra sul codice reale - programma e sulla sua sintassi |
Il test della scatola nera richiede la specifica dei requisiti per eseguire il test | Il test White Box richiede documenti di progettazione con diagrammi di flusso di dati, diagrammi di flusso ecc. |
Il test della scatola nera viene eseguito dai tester | Il test white box viene eseguito da sviluppatori o tester con conoscenze di programmazione. |
Conclusione
Questi sono alcuni dei punti di base relativi al test della scatola nera e alla panoramica delle sue tecniche e metodi.
Poiché non è possibile testare tutto con il coinvolgimento umano con una precisione del 100 percento, se le tecniche e i metodi sopra menzionati vengono utilizzati in modo efficace, migliorerà sicuramente la qualità del sistema.
Per concludere, questo è un metodo molto utile per verificare la funzionalità del sistema e identificare la maggior parte dei difetti.
Spero che tu abbia acquisito una conoscenza approfondita della tecnica di Black Box Testing.
Lettura consigliata
- Differenze chiave tra il test della scatola nera e il test della scatola bianca
- Migliori strumenti di test del software 2021 (Strumenti di automazione del test QA)
- Test funzionale vs test non funzionale
- Tutorial sul test pairwise o sul test per tutte le coppie con strumenti ed esempi
- White Box Testing: una guida completa con tecniche, esempi e strumenti
- Esercitazione sul test del volume: esempi e strumenti per il test del volume
- Esercitazione sul test di configurazione con esempi
- Download dell'eBook Testing Primer