26
TEST PYRAMID, L'OCCHIO DI RA SUL TESTING @felicepescatore 8 giugno 2019

TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

TEST PYRAMID, L'OCCHIO DI RA SUL TESTING

@felicepescatore

8 giugno 2019

Page 2: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Credit: Bettmann/Getty Images

No Test – No DevOps!

and

Page 3: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Il TEST è una

PARTE ESSENZIALE

del processo di sviluppo..

… non è debugging!

Page 4: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Testiamo per…

far scorrere le attività senza

intoppi, rimuovendo gli

impedimenti (waste)

FLOW

the first way of DevOps

Page 5: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Testiamo per…

avere feedback rapidi

FEEDBACK

the second way of DevOps

Page 6: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Testiamo per…

validare ipotesi e assunzioni

LEARN

the third way of DevOps

Page 7: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Testiamo per…

avere qualità continua ed

intrinseca

Built-in Quality, Lean Principle…

… DevOps is Lean apply to IT world!

Page 8: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

2002 2007 20101999 2013

Page 9: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

TEST AUTOMATIZZATI

fondamentali per il supporto allo

sviluppo di soluzioni moderne,

complesse ed in continua

evoluzione

Page 10: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

TESTING STRAGEY

per un approccio

Strutturato e di Valore al test

è necessario individuare la relativa

strategia attuativa

Page 11: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

La TEST PYRAMID

è una metafora che suggerisce di

raggruppare i test del software in

BUCKET

di diversa granularità

Page 12: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

TEST PYRAMID

E’ un modello che evidenzia diverse tipologie di test:

• Alla base troviamo test unitariamente piccoli, veloci e fortemente automatizzabili

• Al vertice troviamo test ampi, lenti e generalmente poco automatizzabili

Mik

e C

oh

n

FUNCTIONAL TEST

INTEGRATION TEST

UITEST

Exploratory Test

UNIT TEST

Page 13: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

UNIT TEST

FUNCTIONAL TEST

INTEGRATION TEST

UITEST

Exploratory Test

BUSINESS FACINGare we build the right system?

TECHNOLOGY FACINGare we build the system right?

Page 14: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

UNIT TEST

• Testing degli elementi costituenti il

sistema (es: oggetti)

• Uso di test-double per sostituire le

dipendenze (es: mock, stub, ecc)

• Ambito delimitato

• Gli errori sono facili da individuare

e comprendere

• Alte performance

• Continua esecuzione

• Feedback istantanei UNIT TEST

Page 15: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

FUNCTIONAL TEST

FUNCTIONAL TEST

• Verifica del comportamento della

funzionalità/storia

• Ambito ampio

• Coinvolge molti componenti

• Prestazioni accettabili

UNIT TEST

Page 16: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

FUNCTIONAL TEST

INTEGRATION TEST

UNIT TEST

INTEGRATION TEST

• Verifica che i componenti lavorino

congiuntamente

• I test-double vengono rimossi

• Scope variabile

• Prestazioni accettabili

Page 17: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

FUNCTIONAL TEST

INTEGRATION TEST

UITEST

UNIT TEST

UI TEST

• Verifica End-to-End dei flussi

operativi

• Massima ampiezza

• Può individuare problemi di natura

diversa

• Basse prestazioni

• Generalmente fragile

• Richiede molta manutenzione

Page 18: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

EXPLORATORY TEST

• Manuale

• Fondamentale l’esperienza e la

creatività

• Può essere suddiviso in Piani di

Test

• Analizza le risposte inattese e

documenta i passi che le hanno

generate

FUNCTIONAL TEST

INTEGRATION TEST

UITEST

Exploratory Test

UNIT TEST

Page 19: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

• Acceptance testing

• BDD

• Smoke testing

• Security testing

• Performance testing

• System testing

• System integration testing

• …

UNIT TEST

FUNCTIONAL TEST

INTEGRATION TEST

UITEST

Exploratory Test

Page 20: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

EFFORT %

• Dipende… dipende… dipende!

• Ad esempio, «Google suggerisce»

• 70% unit test

• 20% integration test

• 10% end-to-end test

UNIT TESTS

FUNCTIONAL TESTS

INTEGRATION TESTS

UITESTS

Exploratory Tests

Page 21: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

TOOLS

• xUnit Framework

• SoapUI

• Cucumber (SpecFlow)

• Selenium

• ….

UNIT TESTS

FUNCTIONAL TESTS

INTEGRATION TESTS

UITESTS

Exploratory Tests

Selenium WebDriver (VAFT)

JAutomate, Sikuli

SoapUI, RestSharp

Page 22: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

MANUAL TEST

UI TEST

INTEGRATION TEST

FUNCTIONAL TEST

UNIT TEST

Ice Cream Cone

ANTIPATTERN

Page 23: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Parecchi tipi

di Piramidi!

Page 24: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

the real mantra:

FIND YOUR PYRAMID!

Page 25: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

Felice PescatoreSoftware Engineer

Agile Business Coach

advisory council memberConsortium

felicepescatore.it

@felicepescatore

Felice Pescatore -Disciplined Agile Italy

Page 26: TEST PYRAMID, L'OCCHIO DI RA SUL TESTING · INTEGRATION TEST UI TEST Exploratory Test UNIT TEST •Acceptance testing •BDD •Smoke testing ... Selenium WebDriver(VAFT) JAutomate,Sikuli

@felicepescatore

8 giugno 2019