Qual è la differenza tra test del fumo e test della scatola nera?

0

Il tema principale della mia domanda riguarda le differenze tra Smoke Test e altri tipi di test del software appositamente Test black-box ma sono anche molto curioso di sapere qual è lo scopo di questa denominazione? in che modo il test del fumo è legato al fumo (o forse al fumo)?

P.S: la mia domanda è un po 'più specifica di questa domanda

    
posta Mahdi Zareie 17.04.2015 - 15:20
fonte

4 risposte

7

Questi due tipi di test non sono direttamente correlati.

Un test del fumo è un rapido sistema test allo scopo di individuare i principali difetti in un artefatto software. Ad esempio, un test potrebbe distribuire un'app Web su un server di test, convalidare la distribuzione e l'avvio e il server può soddisfare richieste semplici. Ciò valuterà che il file dell'applicazione (ad esempio il file WAR in Java) è stato creato correttamente e non manca nulla di importante.

L'aspettativa qui è che il QA dovrà eseguire test molto più approfonditi per convalidare il sistema. Ma se un processo di costruzione si rompe e l'artefatto di consegna è inutilizzabile, perché sprecare il tempo di qualcuno a testare se l'applicazione non viene nemmeno avviata?

I test della scatola nera sono in realtà una categoria di test, non un tipo specifico di test. È un test che non si assume alcuna conoscenza del funzionamento interno di un modulo di codice.

Un buon esempio del mondo reale di test della scatola nera è stato molti anni fa quando IBM ha dominato il mercato dei PC. Altri produttori volevano entrare nel (allora) lucroso mercato dell'hardware. Il problema era che il BIOS di IBM era bloccato e non avrebbero concesso licenze ai loro chip ai concorrenti. Diversi concorrenti hanno eseguito test della scatola nera per capire il funzionamento interno del BIOS e creato i propri cloni.

I test unitari sono anche idealmente una forma di test della scatola nera. Un buon test unitario viene scritto nell'interfaccia di una classe o metodo, non l'implementazione . Questo aiuta gli sviluppatori a evitare di "coddling" il loro codice, ad esempio evitando valori di input che potrebbero infrangerlo. I buoni test unitari sono test della scatola nera perché sono imparziali e cercano di infrangere il codice in ogni modo possibile.

    
risposta data 17.04.2015 - 15:58
fonte
5

Fondamentalmente, nei test del fumo accendi il sistema, specialmente per la prima volta in assoluto, e vedi se inizia a emettere fumo ... il che significherebbe che qualcosa è molto sbagliato con esso. Non ti dice nulla oltre a ciò, ma può comunque essere prezioso per evitare ulteriori sforzi su qualcosa che ovviamente non funzionerà affatto.

Secondo Wikipedia, le parole "prova del fumo" provenivano dall'impianto idraulico, dove il fumo veniva forzato attraverso i tubi per trovare perdite. Gli ingegneri elettronici iniziarono a usare il termine per identificare un test di accensione di base; se l'attrezzatura non fumava, ha superato il test. I tecnici del software usano il termine per identificare i test che confermano le funzioni di base del software. Il termine è un po 'umoristico.

I test black-box stanno semplicemente testando qualcosa dall'esterno, tramite la sua API, senza alcuna informazione (o facendo finta di non avere alcuna informazione) sull'implementazione. I due termini non sono correlati in alcun modo; "test black box" si riferisce solo al software. Confronta il test White Box, che verifica le strutture interne o il funzionamento di un'applicazione, al contrario delle sue funzionalità.

    
risposta data 17.04.2015 - 15:24
fonte
0

Il termine "test del fumo" può essere considerato un controllo di integrità. Si tratta di test rapidi per ottenere una visione generale e rapida del funzionamento del sistema. Non è attento, test metodico. Ad esempio, il test del fumo potrebbe interferire con ovvi blocchi o ovvi problemi di integrazione.

Il test della scatola nera è una categoria completamente diversa. Il test della scatola nera significa che i tester non dovrebbero avere idea dell'implementazione dell'applicazione e dovrebbero utilizzarla dal punto di vista di un utente finale. Ora, questo potrebbe includere il test del fumo: sarebbe come un controllo di integrità del sistema da parte dell'utente finale. Oppure, il test della scatola nera potrebbe essere un test del software che tenta metodicamente di stressare il sistema attraverso l'uso per trovare dove potrebbe interrompersi l'operazione.

Quale sarebbe un esempio di qualcosa che non faresti con i test della scatola nera? Ad esempio, non si inseriscono manualmente dati non validi in un database back-end per vedere come il sistema gestisce tali dati. Questo non è un test dal punto di vista di un utente finale: cioè attraverso l'interfaccia dell'applicazione. Se in qualche modo potessi ottenere dati errati nel database inserendoli tramite l'interfaccia, sarebbe un test della scatola nera.

    
risposta data 17.04.2015 - 15:49
fonte
-1

Test della casella bianca

È una tecnica di verifica che i tecnici del software possono utilizzare per esaminare se il loro codice funziona come previsto.

Esistono sei tipi di test di base: unità, integrazione, funzione / sistema, accettazione, regressione e beta. Il test white-box viene utilizzato per tre di questi sei tipi:

Test delle unità: il test delle unità è importante per garantire che il codice sia solido prima di essere integrato con un altro codice. Test di integrazione: vengono scritti i casi di test che esaminano esplicitamente le interfacce tra le varie unità. Questi casi di test possono essere casi di test scatola nera, in cui il tester capisce che un caso di test richiede l'interazione di più unità di programma. In alternativa, vengono scritti casi di test white-box che esercitano esplicitamente le interfacce note al tester. Test di regressione: come per i test di integrazione, i test di regressione possono essere eseguiti tramite casi di test black-box, casi di test white-box o una combinazione dei due. I casi di test dell'unità di integrazione e di white-box possono essere salvati e rieseguiti come parte dei test di regressione. Black Box Testing

È una tecnica di test del software in cui viene testata la funzionalità del software senza considerare la struttura interna del codice. Conosciuto anche come (test comportamentale).

Questo metodo è chiamato così perché il programma software, agli occhi del tester, è come una scatola nera; all'interno del quale non si può vedere.

Questo metodo tenta di trovare errori nelle seguenti categorie:

Funzioni errate o mancanti Errori di interfaccia Errori nelle strutture dati o accesso al database esterno Comportamento o errori di prestazioni Inizializzazione e errori di terminazione Può essere fatto sulla base dei requisiti e delle specifiche del software. Applicando input diversi e confrontando l'output con il risultato previsto.

Tecniche di test della scatola nera:

Partizionamento delle equivalenze: qui consideriamo quali casi sono validi / non validi in una funzione.

Analisi del valore al contorno - Qui consideriamo il caso principale di ogni partizionamento.

Test della tabella delle decisioni - Condizioni diverse per una funzione. Con l'aiuto di una tabella con regole (casi di test) e azioni (input).

Casi di prova di fallimento ("sporchi") - Male male del male:)

Test dei fumi

I test preliminari rivelano semplici errori abbastanza gravi da respingere una potenziale release del software. Un sottoinsieme di casi di test che coprono le funzionalità più importanti di un componente o di un sistema è selezionato ed eseguito, per accertare se le funzioni cruciali di un programma funzionano correttamente. Importante: Funzionalità

Quando? Prima di un rilascio sprint

    
risposta data 15.07.2016 - 18:51
fonte

Leggi altre domande sui tag