unit tests vs end to end tests
DESCRIPTION
Unit tests VS end to end tests @ Italian Agile Day 2011TRANSCRIPT
U n i t T e s t
VS
E n d to E n d T e s t Domenico Musto
@mimmozzo . .domenico musto@gmail com
Chi é costui ?
.NET
Web REST
AgileAutomation Testing
C#Team leading
@mimmozzo . .domenico musto@gmail com
Ruby
Oggi parliamo di..
Differenze tra tipi test
Test e developers
Test e QA
..non parliamo di..
Testing frameworks
Libraries
The Agile Testing Quadrant
Technology - Facing
Tipi di test
Unit
Functional
Load
Soak
Unit Test
Testano unita' di codice in isolamento
Interazione tra componenti
Descrivono il comportamento
Guidano nel design
Sono veloci da eseguire
Attenzione a..
Testare sempre e solo interfacce pubbliche
Non abusare del mocking
L'aggiunta di una nuova classe non é il “trigger” per la scrittura di un nuovo test.
Il “trigger” é l'implementazione di un “requirement”.
Functional Test
Testano l'interazione con componenti fuori dal contesto dell'applicazione
Garantiscono l'integrazione
Possono essere lenti
Attenzione a..
Non mischiare i test tra loro
Usare context builders per il setup di data fixture
Load Test
Danno informazioni sulle prestazioni
Danno informazioni sui limiti di carico
Sono complessi da scrivere
Possono essere lenti
Soak Test
Servono a scoprire limiti e problemi tecnologici
Sono lenti
Business - Facing
Tipi di test
End to end
Integration
Exploratory
End To End Test
Testano complessivamente una feature
Fungono da acceptance tests
Sono comprensibili a chi non conosce il codice
Possono essere lenti
Non sono (solo) tests di interfaccia
Integration Testdove non osano gli end to end
Testano pezzi di applicazione
Garantiscono l'integrazione
Possono essere lenti
Exploratory Test
Manuali
Spulciano la feature
Implementiamo una feature
Gli attori del processo di sviluppo
Developers
QA
Cliente
La storia
La feature é pronta
E i test ?
Quando servono gli End To End Test ?
Test plan
Test plan
Acceptance Test
Functional Test
Integration Test
Unit Test
Trade-off
Quality attributes
Availability
Modifiability
Performance
Security
TestabilityUsability
The test pyramid
QA Team
QA Team
I QA sono nel team di sviluppo
La reputazione dei tests, del build server e del nostro ambiente di
sviluppo.
Il deploy.
Grazie, Q&A
@mimmozzo . .domenico musto@gmail com