Unit Tests VS End To End Tests

Preview:

DESCRIPTION

Unit tests VS end to end tests @ Italian Agile Day 2011

Citation preview

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

Recommended