unit tests vs end to end tests

51
Unit Test VS End to End Test Domenico Musto @mimmozzo . . domenico musto@gmail com

Upload: mimmozzo

Post on 05-Jul-2015

1.089 views

Category:

Technology


3 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Unit Tests VS End To End Tests

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

Page 2: Unit Tests VS End To End Tests

Chi é costui ?

.NET

Web REST

AgileAutomation Testing

C#Team leading

@mimmozzo . .domenico musto@gmail com

Ruby

Page 3: Unit Tests VS End To End Tests

Oggi parliamo di..

Differenze tra tipi test

Test e developers

Test e QA

Page 4: Unit Tests VS End To End Tests

..non parliamo di..

Testing frameworks

Libraries

Page 5: Unit Tests VS End To End Tests

The Agile Testing Quadrant

Page 6: Unit Tests VS End To End Tests

Technology - Facing

Page 7: Unit Tests VS End To End Tests

Tipi di test

Unit

Functional

Load

Soak

Page 8: Unit Tests VS End To End Tests

Unit Test

Testano unita' di codice in isolamento

Interazione tra componenti

Descrivono il comportamento

Guidano nel design

Sono veloci da eseguire

Page 9: Unit Tests VS End To End Tests

Attenzione a..

Testare sempre e solo interfacce pubbliche

Non abusare del mocking

Page 10: Unit Tests VS End To End Tests

L'aggiunta di una nuova classe non é il “trigger” per la scrittura di un nuovo test.

Il “trigger” é l'implementazione di un “requirement”.

Page 11: Unit Tests VS End To End Tests

Functional Test

Testano l'interazione con componenti fuori dal contesto dell'applicazione

Garantiscono l'integrazione

Possono essere lenti

Page 12: Unit Tests VS End To End Tests

Attenzione a..

Non mischiare i test tra loro

Usare context builders per il setup di data fixture

Page 13: Unit Tests VS End To End Tests

Load Test

Danno informazioni sulle prestazioni

Danno informazioni sui limiti di carico

Sono complessi da scrivere

Possono essere lenti

Page 14: Unit Tests VS End To End Tests

Soak Test

Servono a scoprire limiti e problemi tecnologici

Sono lenti

Page 15: Unit Tests VS End To End Tests

Business - Facing

Page 16: Unit Tests VS End To End Tests

Tipi di test

End to end

Integration

Exploratory

Page 17: Unit Tests VS End To End Tests

End To End Test

Testano complessivamente una feature

Fungono da acceptance tests

Sono comprensibili a chi non conosce il codice

Possono essere lenti

Page 18: Unit Tests VS End To End Tests

Non sono (solo) tests di interfaccia

Page 19: Unit Tests VS End To End Tests

Integration Testdove non osano gli end to end

Testano pezzi di applicazione

Garantiscono l'integrazione

Possono essere lenti

Page 20: Unit Tests VS End To End Tests

Exploratory Test

Manuali

Spulciano la feature

Page 21: Unit Tests VS End To End Tests

Implementiamo una feature

Page 22: Unit Tests VS End To End Tests

Gli attori del processo di sviluppo

Developers

QA

Cliente

Page 23: Unit Tests VS End To End Tests

La storia

Page 24: Unit Tests VS End To End Tests
Page 25: Unit Tests VS End To End Tests
Page 26: Unit Tests VS End To End Tests
Page 27: Unit Tests VS End To End Tests
Page 28: Unit Tests VS End To End Tests
Page 29: Unit Tests VS End To End Tests
Page 30: Unit Tests VS End To End Tests
Page 31: Unit Tests VS End To End Tests
Page 32: Unit Tests VS End To End Tests

La feature é pronta

Page 33: Unit Tests VS End To End Tests
Page 34: Unit Tests VS End To End Tests

E i test ?

Page 35: Unit Tests VS End To End Tests
Page 36: Unit Tests VS End To End Tests

Quando servono gli End To End Test ?

Page 37: Unit Tests VS End To End Tests

Test plan

Page 38: Unit Tests VS End To End Tests
Page 39: Unit Tests VS End To End Tests
Page 40: Unit Tests VS End To End Tests

Test plan

Acceptance Test

Functional Test

Integration Test

Unit Test

Page 41: Unit Tests VS End To End Tests
Page 42: Unit Tests VS End To End Tests

Trade-off

Page 43: Unit Tests VS End To End Tests

Quality attributes

Availability

Modifiability

Performance

Security

TestabilityUsability

Page 44: Unit Tests VS End To End Tests

The test pyramid

Page 45: Unit Tests VS End To End Tests

QA Team

Page 46: Unit Tests VS End To End Tests

QA Team

Page 47: Unit Tests VS End To End Tests

I QA sono nel team di sviluppo

Page 48: Unit Tests VS End To End Tests

La reputazione dei tests, del build server e del nostro ambiente di

sviluppo.

Page 49: Unit Tests VS End To End Tests

Il deploy.

Page 50: Unit Tests VS End To End Tests
Page 51: Unit Tests VS End To End Tests

Grazie, Q&A

@mimmozzo . .domenico musto@gmail com