Integrazione e test funzionali

4

Bene .... quindi questo mi sta facendo impazzire mentre sto cercando di incoraggiare la squadra a scrivere altri test, ma qui non sono in grado di determinare se il seguente esempio è considerato un'integrazione o un caso di test funzionale.

Considera quanto segue:

Abbiamo una semplice applicazione web che indirizza / espone un numero di feed JSON. Ogni richiesta dell'utente richiede che la nostra applicazione esegua una query su un servizio esterno tramite HTTP (sul back-end) prima di eseguire alcune trasformazioni di dati e quindi restituire una risposta JSON serializzata.

Usando una libreria di terze parti, siamo in grado di registrare ogni interazione HTTP unica che si verifica sul backend e scriverla sul filesystem. Queste registrazioni vengono quindi "riprodotte" consentendo a questi risultati di query di essere considerati deterministici durante il test.

Il mio test case contiene una singola affermazione. È solo una stringa che contiene la risposta JSON prevista per un singolo feed. Dopo aver inizializzato la nostra applicazione, gli consentiamo di instradare una richiesta prima di catturare la risposta e confrontarla con il JSON previsto.

1) Si tratta di un test funzionale o di integrazione?

2) Se funzionale, qual è esattamente la differenza tra "Big Bang Integration Testing e Functional Testing"?

    
posta user2308097 06.07.2017 - 04:03
fonte

1 risposta

9

1) Is this a functional test or an integration test?

Test funzionali e test di integrazione sono classificazioni di test e non si escludono a vicenda.

In questo caso sono entrambi. I test di integrazione sono per definizione test che stanno testando più di un componente. Può essere a un livello basso per testare due classi che funzionano insieme, oppure possono essere test che testano l'intero sistema nel suo complesso.

I test funzionali sono test che confermano una determinata funzione di sistema. Quindi se ho un requisito "il sistema deve persistere gli utenti oggetto nel database", il test funzionale potrebbe verificare quel requisito avviando il sistema, salvando un utente, arrestando il sistema, avviandolo di nuovo e verificando che l'utente esista e non abbia cambiato.

Se stai scrivendo casi di test da una specifica dei requisiti o da storie utente, chiamerei i tuoi test test funzionali, ma sono anche classificati come test di integrazione per natura.

2) If functional, then what exactly is the difference between "Big Bang Integration Testing and Functional Testing"?

Dalla mia comprensione "il test di integrazione del big bang" è un test di integrazione in cui tutti i componenti del sistema sono integrati e quindi testati. L'obiettivo di questo test è assicurarsi che tutti i componenti si integrino correttamente e che l'app possa essere avviata. Lo svantaggio di questo tipo di test è che il fallimento di un caso di test fornisce poche indicazioni su dove si trova il bug, quindi è importante avere anche test di integrazione di livello inferiore.

I tuoi test funzionali probabilmente integreranno anche tutti i componenti del sistema prima del test. Ma mentre i test di integrazione del big bang possono sembrare simili perché l'intero sistema viene avviato, sono concettualmente diversi.

    
risposta data 06.07.2017 - 04:18
fonte