SlideShare a Scribd company logo
DIEGO MAURICIO LAGOS MORALES
Test Automatizzati con
Serenity BDD
Agenda
Un po’ di teoria sulla QA ed i test
 Problematiche, antipattern e possibili soluzioni
QA stato dell’arte e evoluzione
TDD, BDD, ATDD (hai un problema con le sigle?)
Serenity BDD (aka Thucydides)
Demo time
QA e test automation
un po’ di teoria
Test Funzionali vs
Non Funzionali
Test Funzionali
Si occupa di verificare che l’applicazione sia
conforme alle specifiche
Che rispetti le richieste del cliente
Mantiene costante il valore del software
Descrivono in poche parole cosa faccia il prodotto
Esempi di test funzionali possono essere:
 Unit Testing, Smoke Testing, Sanity Testing, Integration
Testing, White box testing, Black Box testing, User Acceptance
testing, Regression Testing
Test Non Funzionali
Sono test focalizzati al modo in cui lavora l’applicazione
più tosto che al come
Hanno bisogno di metriche come specifiche
Vengono eseguiti dopo i test funzionali, ma per questo
non sono secondari
Esempi di test non funzionali possono essere:
 Baseline testing, Compliance testing, Documentation testing,
Endurance testing, Load testing, Localization testing and
Internationalization testing, Performance testing, Recovery testing,
Resilience testing, Security testing, Scalability testing, Stress testing,
Usability testing, Volume testing
A cosa serve il
test
automation
L’automazione può essere
considerata come una rete di
sicurezza
 Non trova nuovi bug
 Non sostituisce il valore umano
 Non è la panacea di tutti i mali
 Ci assicura soltanto un grado di
confidenza sullo stato del prodotto
Best practice nei test automatizzati
Test manuali
ed esplorativi
Test manuali
ed esplorativi
• Lenti nell’esecuzione
• Lenti al cambiamento
• Costosi
• Fragili
• Ma più vicini al business
• Lenti nell’esecuzione
• Lenti al cambiamento
• Costosi
• Fragili
• Ma più vicini al business
• Veloci
• Economici
• Isolati
• Più vicini allo sviluppo
• Ma più lontani dal business
• Veloci
• Economici
• Isolati
• Più vicini allo sviluppo
• Ma più lontani dal business
Nella cima della piramide Nella base della piramide
Si è concentrati sulle
funzionalità che danno
valore al business
Evito regressioni nel
valore
Documentazione
vivente
Basso costo nella
scrittura/manutenzion
e dei test
Aumento rapidità
feedback
Robustezza dei test
Evito regressioni nella
funzionalità
Punti di forza dell’automazione
Antipattern
Antipattern (1/2)
Ice Cream
Lato Business Lato Tecnologico
Antipattern (2/2)
piramide duale
Test manuali
ed esplorativi
Test manuali
ed esplorativi
Antipattern della piramide duale
Tra i due antipattern è il più insidioso
Hai la sensazione di star facendo bene
Duplichi i test
Lavori a silos (moooolto sbagliato)
Incongruenze e limita visione del progetto
Falsi Positivi
Varie ed eventuali….
Panoramica sulle problematiche
degli antipattern
Limitati, fragili
Hanno un’esecuzione molto lenta
Tempo di regressione molto alto
Alto costo
 per fix problemi
 per mantenimento (per evitare obsolescenza)
Non si ha la visibilità su ciò che si è testato
Difficoltà di individuazione dei bug dentro lo stack
Tempi di attesa alti per avere tutto lo stack
funzionante e coerente
QA in Agile ed in Google
Come sono visti i QA dagli sviluppatori
Come vedono i QA gli sviluppatori
QA in agile
1. Fare i test nel mentre invece di farli alla fine
2. Prioritizzare la scrittura dei test, invece di farli alla
fine
3. Prevenire i bugs invece di trovarli
4. Capire cosa si sta testando invece di verificare la
funzionalità
5. Costruire un sistema migliore invece di rompere il
sistema
6. Il TEAM è responsabile della qualità invece di
essere solo il QA ad essere responsabile
QA in Google
Il team si incarica della qualità
I developer devono aiutare nel test
Creazione di un unico linguaggio condiviso (UL)
I tester hanno lo scopo di rendere più produttivi gli
sviluppatori
La qualità non è uguale a testare
La qualità è un atto di prevenzione più di quanto sia
un atto di rilevamento
La qualità è un problema dello sviluppo non del
testing
HOUSTON, ABBIAMO UN PROBLEMA
TDD, BDD, ATDD, *DD
TDD (test driven development)
Si orienta allo sviluppo (xUnit test)
Si focalizza nella creazione di test
prima ancora della funzionalità
I test guidano lo sviluppo
I suoi benefici ultimamente vengono messi in
discussione
BDD (behavior-driven development)
Evoluzione del TDD
Orientato all’integrazione e al business
Sfrutta le best practice del DDD
Permette la creazione di strumenti e processi
condivisi
Consente la creazione di documentazione viva della
nostra applicazione
Utilizza un linguaggio il più vicino a quello naturale
BDD
(esempio con JBehave)
As Is To Be
Utilizzo di Jbehave
Creato dall’inventore
del BDD (Dan North)
Molto completo e
robusto
Solo piattaforma JVM
Utilizzo di Cucumber
Multi piattaforma
(ruby, js, java, ecc..)
Progetto molto attivo
ed ampiamento
utilizzato
BDD tools
ATDD (Acceptance test-driven development)
Non è una vera tecnologia, ma un processo
Coinvolge tutto i team
Utilizza i criteri di accettazione ed esempi come
strumenti
Si concentra di più sulle esigenze del cliente
Molto spesso può essere confuso oppure integrato
direttamente con il BDD
Serenity BDD
Cos’è Componenti
Serenity BDD helps you
write better, more
effective automated
acceptance tests, and use
these acceptance tests to
produce world-class test
reports and living
documentation
Jbehave o Cucumber
(BDD)
Serenity BDD
 Integrazione con i vari
moduli
 Reportistica
Selenium
Java
Cos’è Serenity BDD
Serenity BDD
Serenity + SeleniumJBehave
Architettura di Serenity BDD
Story (BDD)
Implementazione
Story in java
Flow Steps
Serenity Page
Object
Web Page
Reportistica
Demo time di Serenity
Risorse (1/2)
1. http://googletesting.blogspot.it/
2. https://josepablosarco.wordpress.com/
3. http://www.xoriant.com/blog/software-testing-
and-qa/extended-role-qa-test-driven-
development-tdd.html
4. http://martinfowler.com/tags/testing.html
5. http://mkolisnyk.blogspot.it/2013/03/jbehave-vs-
cucumber-jvm-comparison.html
Risorse (2/2)
1. http://thucydides.info/docs/serenity-staging/
2. Esempi di Serenity e Thucydides:
1. https://github.com/serenity-bdd/serenity-demos
2. https://github.com/thucydides-webtests/thucydides-
smoketests

More Related Content

What's hot

Workshop: Introduzione ad TDD
Workshop: Introduzione ad TDDWorkshop: Introduzione ad TDD
Workshop: Introduzione ad TDD
Marcello Missiroli
 
Unit test
Unit testUnit test
Unit testing 2014
Unit testing 2014Unit testing 2014
Unit testing 2014
Giacomo Petronio
 
Test Funzionale
Test FunzionaleTest Funzionale
Test Funzionale
IxmaSoft
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
Alessandro Alpi
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopmentDotNetCampus
 
Linux Day 20091024 Test Driven Development
Linux Day 20091024 Test Driven DevelopmentLinux Day 20091024 Test Driven Development
Linux Day 20091024 Test Driven DevelopmentRoberto Albertini
 
Unit testing in Visual Studio 2013
Unit testing in Visual Studio 2013Unit testing in Visual Studio 2013
Unit testing in Visual Studio 2013
DomusDotNet
 

What's hot (9)

TDD Casi Studio
TDD Casi StudioTDD Casi Studio
TDD Casi Studio
 
Workshop: Introduzione ad TDD
Workshop: Introduzione ad TDDWorkshop: Introduzione ad TDD
Workshop: Introduzione ad TDD
 
Unit test
Unit testUnit test
Unit test
 
Unit testing 2014
Unit testing 2014Unit testing 2014
Unit testing 2014
 
Test Funzionale
Test FunzionaleTest Funzionale
Test Funzionale
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopment
 
Linux Day 20091024 Test Driven Development
Linux Day 20091024 Test Driven DevelopmentLinux Day 20091024 Test Driven Development
Linux Day 20091024 Test Driven Development
 
Unit testing in Visual Studio 2013
Unit testing in Visual Studio 2013Unit testing in Visual Studio 2013
Unit testing in Visual Studio 2013
 

Viewers also liked

Serenity BDD - from executable specifications to living documentation
Serenity BDD - from executable specifications to living documentationSerenity BDD - from executable specifications to living documentation
Serenity BDD - from executable specifications to living documentation
Alex Soto
 
LJC 2015 "The Crafty Consultants Guide to DevOps"
LJC 2015 "The Crafty Consultants Guide to DevOps"LJC 2015 "The Crafty Consultants Guide to DevOps"
LJC 2015 "The Crafty Consultants Guide to DevOps"
Daniel Bryant
 
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał SzybalskiAutomated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
ŁódQA
 
II GM
II GMII GM
Field assignment final
Field assignment finalField assignment final
Field assignment final
johnifors
 
Fuel Cell Vehicles
Fuel Cell VehiclesFuel Cell Vehicles
Fuel Cell Vehicles
guestc4c2a3
 
We can't afford to be colorblind
We can't afford to be colorblindWe can't afford to be colorblind
We can't afford to be colorblind
kupugani
 
Westfield Southcenter
Westfield SouthcenterWestfield Southcenter
Westfield Southcenter
wesnic
 
Kort for hovedet - Kort fortalt - Artikel
Kort for hovedet - Kort fortalt - ArtikelKort for hovedet - Kort fortalt - Artikel
Kort for hovedet - Kort fortalt - Artikel
Sik Cambon Jensen
 
Segredo Campaign
Segredo CampaignSegredo Campaign
Segredo Campaign
MarkDeHaven
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)jampslide
 
2013 general kupugani presentation
2013 general kupugani presentation2013 general kupugani presentation
2013 general kupugani presentation
kupugani
 
Obama Inauguration 2009
Obama Inauguration 2009Obama Inauguration 2009
Obama Inauguration 2009
KjerstiOfstad
 
Ubi
UbiUbi
Ubi
illycut
 
Apuntes alteraciones bilingüe
Apuntes alteraciones bilingüeApuntes alteraciones bilingüe
Apuntes alteraciones bilingüeOlga Veiga
 
Financial Ratios
Financial RatiosFinancial Ratios
Financial Ratios
rplechnercpa
 
Reilly Studios Portfolio
Reilly Studios PortfolioReilly Studios Portfolio
Reilly Studios Portfolio
Ron Reilly
 
Facebook, twitter och instagram - på Berghs 27 november 2013
Facebook, twitter och instagram - på Berghs 27 november 2013Facebook, twitter och instagram - på Berghs 27 november 2013
Facebook, twitter och instagram - på Berghs 27 november 2013Hanna Metsis
 

Viewers also liked (20)

Serenity BDD - from executable specifications to living documentation
Serenity BDD - from executable specifications to living documentationSerenity BDD - from executable specifications to living documentation
Serenity BDD - from executable specifications to living documentation
 
LJC 2015 "The Crafty Consultants Guide to DevOps"
LJC 2015 "The Crafty Consultants Guide to DevOps"LJC 2015 "The Crafty Consultants Guide to DevOps"
LJC 2015 "The Crafty Consultants Guide to DevOps"
 
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał SzybalskiAutomated Tests in Agile based on Serenity BDD - Michał Szybalski
Automated Tests in Agile based on Serenity BDD - Michał Szybalski
 
II GM
II GMII GM
II GM
 
Field assignment final
Field assignment finalField assignment final
Field assignment final
 
Fuel Cell Vehicles
Fuel Cell VehiclesFuel Cell Vehicles
Fuel Cell Vehicles
 
We can't afford to be colorblind
We can't afford to be colorblindWe can't afford to be colorblind
We can't afford to be colorblind
 
Westfield Southcenter
Westfield SouthcenterWestfield Southcenter
Westfield Southcenter
 
Kort for hovedet - Kort fortalt - Artikel
Kort for hovedet - Kort fortalt - ArtikelKort for hovedet - Kort fortalt - Artikel
Kort for hovedet - Kort fortalt - Artikel
 
Segredo Campaign
Segredo CampaignSegredo Campaign
Segredo Campaign
 
JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)JAMP DAY 2010 - ROMA (4)
JAMP DAY 2010 - ROMA (4)
 
2013 general kupugani presentation
2013 general kupugani presentation2013 general kupugani presentation
2013 general kupugani presentation
 
Obama Inauguration 2009
Obama Inauguration 2009Obama Inauguration 2009
Obama Inauguration 2009
 
Ubi
UbiUbi
Ubi
 
Balletskolen 2014
Balletskolen 2014Balletskolen 2014
Balletskolen 2014
 
Apuntes alteraciones bilingüe
Apuntes alteraciones bilingüeApuntes alteraciones bilingüe
Apuntes alteraciones bilingüe
 
Financial Ratios
Financial RatiosFinancial Ratios
Financial Ratios
 
Reilly Studios Portfolio
Reilly Studios PortfolioReilly Studios Portfolio
Reilly Studios Portfolio
 
Facebook, twitter och instagram - på Berghs 27 november 2013
Facebook, twitter och instagram - på Berghs 27 november 2013Facebook, twitter och instagram - på Berghs 27 november 2013
Facebook, twitter och instagram - på Berghs 27 november 2013
 
Titanic
TitanicTitanic
Titanic
 

Similar to Test automatizzati & serenity bdd

L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
Felice Pescatore
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)
Roberto Bettazzoni
 
Configuration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile FrameworkConfiguration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile Framework
Alessandro Alpi
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
Luca Manara
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
DotNetMarche
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
Gian Maria Ricci
 
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
PMexpo
 
Delphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del TestingDelphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del Testing
Marco Breveglieri
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
Giulio Roggero
 
Visaggio fd l13_9_18
Visaggio fd l13_9_18Visaggio fd l13_9_18
Visaggio fd l13_9_18
Redazione InnovaPuglia
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
Felice Pescatore
 
Webinar: "DevSecOps: early, everywhere, at scale"
Webinar: "DevSecOps: early, everywhere, at scale"Webinar: "DevSecOps: early, everywhere, at scale"
Webinar: "DevSecOps: early, everywhere, at scale"
Emerasoft, solutions to collaborate
 
#dd12 panagenda the value of transparency - it
#dd12 panagenda   the value of transparency - it#dd12 panagenda   the value of transparency - it
#dd12 panagenda the value of transparency - it
Dominopoint - Italian Lotus User Group
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2
Ivan Fioravanti
 
Introduzione alle metodologie Agili
Introduzione alle metodologie AgiliIntroduzione alle metodologie Agili
Introduzione alle metodologie AgiliAlessandro Astarita
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deploy
Klab
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Paolo Quaglia
 

Similar to Test automatizzati & serenity bdd (20)

L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)
 
Configuration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile FrameworkConfiguration e change management con Disciplined Agile Framework
Configuration e change management con Disciplined Agile Framework
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
 
Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)Introduzione al Domain Driven Design (DDD)
Introduzione al Domain Driven Design (DDD)
 
Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011Alm pills - Sessione community tour Dot Net Umbria 2011
Alm pills - Sessione community tour Dot Net Umbria 2011
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio SavarinoEssere project manager senza rinunciare all'agilità integrata - Fabio Savarino
Essere project manager senza rinunciare all'agilità integrata - Fabio Savarino
 
Delphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del TestingDelphi & Dintorni Webinar - Diventa un mago del Testing
Delphi & Dintorni Webinar - Diventa un mago del Testing
 
2013 why agile
2013 why agile2013 why agile
2013 why agile
 
TDD Adozione
TDD AdozioneTDD Adozione
TDD Adozione
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
 
Visaggio fd l13_9_18
Visaggio fd l13_9_18Visaggio fd l13_9_18
Visaggio fd l13_9_18
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
 
Webinar: "DevSecOps: early, everywhere, at scale"
Webinar: "DevSecOps: early, everywhere, at scale"Webinar: "DevSecOps: early, everywhere, at scale"
Webinar: "DevSecOps: early, everywhere, at scale"
 
#dd12 panagenda the value of transparency - it
#dd12 panagenda   the value of transparency - it#dd12 panagenda   the value of transparency - it
#dd12 panagenda the value of transparency - it
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2
 
Introduzione alle metodologie Agili
Introduzione alle metodologie AgiliIntroduzione alle metodologie Agili
Introduzione alle metodologie Agili
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deploy
 
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
Better Software 2010 - Applicazione pratica di un processo di sviluppo Agile ...
 

Test automatizzati & serenity bdd

  • 1. DIEGO MAURICIO LAGOS MORALES Test Automatizzati con Serenity BDD
  • 2. Agenda Un po’ di teoria sulla QA ed i test  Problematiche, antipattern e possibili soluzioni QA stato dell’arte e evoluzione TDD, BDD, ATDD (hai un problema con le sigle?) Serenity BDD (aka Thucydides) Demo time
  • 3. QA e test automation un po’ di teoria
  • 5. Test Funzionali Si occupa di verificare che l’applicazione sia conforme alle specifiche Che rispetti le richieste del cliente Mantiene costante il valore del software Descrivono in poche parole cosa faccia il prodotto Esempi di test funzionali possono essere:  Unit Testing, Smoke Testing, Sanity Testing, Integration Testing, White box testing, Black Box testing, User Acceptance testing, Regression Testing
  • 6. Test Non Funzionali Sono test focalizzati al modo in cui lavora l’applicazione più tosto che al come Hanno bisogno di metriche come specifiche Vengono eseguiti dopo i test funzionali, ma per questo non sono secondari Esempi di test non funzionali possono essere:  Baseline testing, Compliance testing, Documentation testing, Endurance testing, Load testing, Localization testing and Internationalization testing, Performance testing, Recovery testing, Resilience testing, Security testing, Scalability testing, Stress testing, Usability testing, Volume testing
  • 7. A cosa serve il test automation L’automazione può essere considerata come una rete di sicurezza  Non trova nuovi bug  Non sostituisce il valore umano  Non è la panacea di tutti i mali  Ci assicura soltanto un grado di confidenza sullo stato del prodotto
  • 8. Best practice nei test automatizzati Test manuali ed esplorativi Test manuali ed esplorativi • Lenti nell’esecuzione • Lenti al cambiamento • Costosi • Fragili • Ma più vicini al business • Lenti nell’esecuzione • Lenti al cambiamento • Costosi • Fragili • Ma più vicini al business • Veloci • Economici • Isolati • Più vicini allo sviluppo • Ma più lontani dal business • Veloci • Economici • Isolati • Più vicini allo sviluppo • Ma più lontani dal business
  • 9. Nella cima della piramide Nella base della piramide Si è concentrati sulle funzionalità che danno valore al business Evito regressioni nel valore Documentazione vivente Basso costo nella scrittura/manutenzion e dei test Aumento rapidità feedback Robustezza dei test Evito regressioni nella funzionalità Punti di forza dell’automazione
  • 12. Lato Business Lato Tecnologico Antipattern (2/2) piramide duale Test manuali ed esplorativi Test manuali ed esplorativi
  • 13. Antipattern della piramide duale Tra i due antipattern è il più insidioso Hai la sensazione di star facendo bene Duplichi i test Lavori a silos (moooolto sbagliato) Incongruenze e limita visione del progetto Falsi Positivi Varie ed eventuali….
  • 14. Panoramica sulle problematiche degli antipattern Limitati, fragili Hanno un’esecuzione molto lenta Tempo di regressione molto alto Alto costo  per fix problemi  per mantenimento (per evitare obsolescenza) Non si ha la visibilità su ciò che si è testato Difficoltà di individuazione dei bug dentro lo stack Tempi di attesa alti per avere tutto lo stack funzionante e coerente
  • 15. QA in Agile ed in Google
  • 16. Come sono visti i QA dagli sviluppatori
  • 17. Come vedono i QA gli sviluppatori
  • 18. QA in agile 1. Fare i test nel mentre invece di farli alla fine 2. Prioritizzare la scrittura dei test, invece di farli alla fine 3. Prevenire i bugs invece di trovarli 4. Capire cosa si sta testando invece di verificare la funzionalità 5. Costruire un sistema migliore invece di rompere il sistema 6. Il TEAM è responsabile della qualità invece di essere solo il QA ad essere responsabile
  • 19. QA in Google Il team si incarica della qualità I developer devono aiutare nel test Creazione di un unico linguaggio condiviso (UL) I tester hanno lo scopo di rendere più produttivi gli sviluppatori La qualità non è uguale a testare La qualità è un atto di prevenzione più di quanto sia un atto di rilevamento La qualità è un problema dello sviluppo non del testing
  • 20. HOUSTON, ABBIAMO UN PROBLEMA TDD, BDD, ATDD, *DD
  • 21. TDD (test driven development) Si orienta allo sviluppo (xUnit test) Si focalizza nella creazione di test prima ancora della funzionalità I test guidano lo sviluppo I suoi benefici ultimamente vengono messi in discussione
  • 22. BDD (behavior-driven development) Evoluzione del TDD Orientato all’integrazione e al business Sfrutta le best practice del DDD Permette la creazione di strumenti e processi condivisi Consente la creazione di documentazione viva della nostra applicazione Utilizza un linguaggio il più vicino a quello naturale
  • 24. As Is To Be Utilizzo di Jbehave Creato dall’inventore del BDD (Dan North) Molto completo e robusto Solo piattaforma JVM Utilizzo di Cucumber Multi piattaforma (ruby, js, java, ecc..) Progetto molto attivo ed ampiamento utilizzato BDD tools
  • 25. ATDD (Acceptance test-driven development) Non è una vera tecnologia, ma un processo Coinvolge tutto i team Utilizza i criteri di accettazione ed esempi come strumenti Si concentra di più sulle esigenze del cliente Molto spesso può essere confuso oppure integrato direttamente con il BDD
  • 27. Cos’è Componenti Serenity BDD helps you write better, more effective automated acceptance tests, and use these acceptance tests to produce world-class test reports and living documentation Jbehave o Cucumber (BDD) Serenity BDD  Integrazione con i vari moduli  Reportistica Selenium Java Cos’è Serenity BDD
  • 28. Serenity BDD Serenity + SeleniumJBehave Architettura di Serenity BDD Story (BDD) Implementazione Story in java Flow Steps Serenity Page Object Web Page Reportistica
  • 29. Demo time di Serenity
  • 30. Risorse (1/2) 1. http://googletesting.blogspot.it/ 2. https://josepablosarco.wordpress.com/ 3. http://www.xoriant.com/blog/software-testing- and-qa/extended-role-qa-test-driven- development-tdd.html 4. http://martinfowler.com/tags/testing.html 5. http://mkolisnyk.blogspot.it/2013/03/jbehave-vs- cucumber-jvm-comparison.html
  • 31. Risorse (2/2) 1. http://thucydides.info/docs/serenity-staging/ 2. Esempi di Serenity e Thucydides: 1. https://github.com/serenity-bdd/serenity-demos 2. https://github.com/thucydides-webtests/thucydides- smoketests