SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Codice di qualità con Visual Studio 2010 Test Driven Development, Continuous Integration, MTM Davide Vernole In collaborazione con
07/05/2010 www.xedotnet.org 2 Introduzione al testing Test Driven Development Continuous Integration Manual Testing
07/05/2010 www.xedotnet.org 3 Introduzione al testing Costo del fallimento Scalata Preparazione Formazione Fase di preparazione
07/05/2010 www.xedotnet.org 4 Introduzione al testing Costo dei bugs Release Test Development Fase del software
07/05/2010 www.xedotnet.org 5 Introduzione al testing - segmentazione 70% del testing  avviene qui la maggior parte  dei tools operano qui Black Box Testing White Box Testing API Testing
07/05/2010 www.xedotnet.org 6 Tecnica di sviluppo: test-first approach Scrivere prima i test Basare le interazioni su un grouppo di test Scrivere codice per passare i test Benefici Mantenere il focus sulle funzionalità di codice per l’utente Piccole interazioni Piena copertura del codice (Code Coverage) Codice più ridotto e pulito Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 7 Il processo Scrivere il test Fallire il test Scrivere il codice Passare il test Re-factoring Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 8 TDD in Visual Studio 2010 Generazione di codice da Test Impostazioni Intellisense Test Impact View Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 9 TDD in VS 2010 - Generato dall’uso... Stub generati per: Class Struct Interface Constructor Method Property Field Enum Intellisense in modalità Consume-First Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 10 Test Driven Development (TDD) Demo TDD
07/05/2010 www.xedotnet.org 11 Test Impact View Trovare il codice interessato dai cambiamenti Viste possibili Test impattati Cambiamenti di codice Visual Studio 2010 Ultimate Premium Professional Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 12 Test Driven Development (TDD) Demo TIV
07/05/2010 www.xedotnet.org 13 Vantaggi Riduce le sessioni di debugging Mantiene il focus su Usabilità attesa dal cliente Task da realizzare Riduce il tempo complessivo di sviluppo + test Porta a codice più modulare, flessibile e estendibile Full code coverage Test Driven Development (TDD)
07/05/2010 www.xedotnet.org 14 Scopo Ridurre la possibilità di «Integration hell» Ridurre il tempo di fixing del codice Modalità Build a ogni inserimento di codice nel repository Come Source Control Build automatizzate Flag Continuous Integration Flag Gated Checkin Continuous Integration (CI)
07/05/2010 www.xedotnet.org 15 Test Driven Development (TDD) Demo CI
07/05/2010 www.xedotnet.org 16 Vantaggi In presenza di bug, fixing on time senzaeccessivi tempi di debugging Individuazione  e fix  deiproblemi continuo evitandoilcaosdell’ultimominuto Avvisopreventivo  per  codice non funzionante o incompatibile Conflittineicambiamenti Unit testing immediato per tutti I cambiamenti Disponibilitàcostantedell’ultima build per Testing Demo release feedback immediatoaglisviluppatori per Qualità Funzionalità Impatto del codicesullasoluzione Migliora la modularità del codice e ne riduce la complessità (check-in frequenti) Continuous Integration (CI)
07/05/2010 www.xedotnet.org 17 Cosa succede abitualmente quando un cliente (tester) trova un bug? Manual Testing  con Microsoft Test Manager (MTM) Funziona nel mio computer ...ora mi dira la solita frase...
07/05/2010 www.xedotnet.org 18 70% dei test viene eseguito manualmente Visual Studio 2010 introduceMTM MTM agevola la: creazione di test manuali segnalazione di bug ricchi di informazioni Utilizzabile anche da non developer Elevata integrazione con TFS User Story Test case Bugs ...ecc Manual Testing  con Microsoft Test Manager (MTM)
07/05/2010 www.xedotnet.org 19 Test Driven Development (TDD) Demo MTM
07/05/2010 www.xedotnet.org 20 Tecniche Unit Testing Tools PEX Analisi del codice e identificazione comportamenti Automatizza la creazione di Unit Testing con elevato code coverage http://research.microsoft.com/en-us/projects/pex/ MOLES Aggevola lo Unit Testing con PEX Continua...
Link 07/05/2010 www.xedotnet.org 21 Davide Vernole blog.knodev.com davide@knodev.com www.knodev.com twitter.com/knodev

Weitere ähnliche Inhalte

Ähnlich wie Codice di qualità con VS2010 (TDD)

Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopment
DotNetCampus
 

Ähnlich wie Codice di qualità con VS2010 (TDD) (20)

dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
dal test manuale al test automatico: un esempio basato sul Keyword Driven Tes...
 
Code Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studioCode Generation con i templates T4 in visual studio
Code Generation con i templates T4 in visual studio
 
Total Testing in DevOps
Total Testing in DevOpsTotal Testing in DevOps
Total Testing in DevOps
 
Testing
TestingTesting
Testing
 
Il dilemma del test: Manuale o Automatico?
Il dilemma del test: Manuale o Automatico?Il dilemma del test: Manuale o Automatico?
Il dilemma del test: Manuale o Automatico?
 
PASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous IntegrationPASS Virtual Chapter - SQL Server Continuous Integration
PASS Virtual Chapter - SQL Server Continuous Integration
 
MuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdfMuleSoft_Meetup__Official__8_.pdf
MuleSoft_Meetup__Official__8_.pdf
 
Webcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio OnlineWebcast - Introduzione a Visual Studio Online
Webcast - Introduzione a Visual Studio Online
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
 
Tesi di Laurea
Tesi di LaureaTesi di Laurea
Tesi di Laurea
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
TTT - Test, Tools and Tips - jug roma
TTT - Test, Tools and Tips - jug romaTTT - Test, Tools and Tips - jug roma
TTT - Test, Tools and Tips - jug roma
 
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
 
Continuos Integration
Continuos IntegrationContinuos Integration
Continuos Integration
 
Impostare un sistema IOT: 5 errori da evitare
Impostare un sistema IOT: 5 errori da evitareImpostare un sistema IOT: 5 errori da evitare
Impostare un sistema IOT: 5 errori da evitare
 
Fe05 test drivenjavascriptdevelopment
Fe05   test drivenjavascriptdevelopmentFe05   test drivenjavascriptdevelopment
Fe05 test drivenjavascriptdevelopment
 
Il buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita feliceIl buon programmatore - consigli pratici per una vita felice
Il buon programmatore - consigli pratici per una vita felice
 
Java o non java
Java o non javaJava o non java
Java o non java
 
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
 

Mehr von XeDotNet

Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)
XeDotNet
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
XeDotNet
 
ASP.NET 4.0
ASP.NET 4.0ASP.NET 4.0
ASP.NET 4.0
XeDotNet
 
Real World State And Notification Broker
Real World State And Notification BrokerReal World State And Notification Broker
Real World State And Notification Broker
XeDotNet
 
Windows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle PiattaformeWindows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle Piattaforme
XeDotNet
 
Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)
XeDotNet
 

Mehr von XeDotNet (9)

Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)Silverlight 4 - Community Tour (RTM)
Silverlight 4 - Community Tour (RTM)
 
What's new in ASP.NET 4.0
What's new in ASP.NET 4.0What's new in ASP.NET 4.0
What's new in ASP.NET 4.0
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
ASP.NET MVC 2.0
ASP.NET MVC 2.0ASP.NET MVC 2.0
ASP.NET MVC 2.0
 
ASP.NET 4.0
ASP.NET 4.0ASP.NET 4.0
ASP.NET 4.0
 
Write less do more...with jQuery
Write less do more...with jQueryWrite less do more...with jQuery
Write less do more...with jQuery
 
Real World State And Notification Broker
Real World State And Notification BrokerReal World State And Notification Broker
Real World State And Notification Broker
 
Windows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle PiattaformeWindows Embedded, Segreti E Misteri Delle Piattaforme
Windows Embedded, Segreti E Misteri Delle Piattaforme
 
Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)Slverlight Networking (Andrea Boschin)
Slverlight Networking (Andrea Boschin)
 

Codice di qualità con VS2010 (TDD)

  • 1. Codice di qualità con Visual Studio 2010 Test Driven Development, Continuous Integration, MTM Davide Vernole In collaborazione con
  • 2. 07/05/2010 www.xedotnet.org 2 Introduzione al testing Test Driven Development Continuous Integration Manual Testing
  • 3. 07/05/2010 www.xedotnet.org 3 Introduzione al testing Costo del fallimento Scalata Preparazione Formazione Fase di preparazione
  • 4. 07/05/2010 www.xedotnet.org 4 Introduzione al testing Costo dei bugs Release Test Development Fase del software
  • 5. 07/05/2010 www.xedotnet.org 5 Introduzione al testing - segmentazione 70% del testing avviene qui la maggior parte dei tools operano qui Black Box Testing White Box Testing API Testing
  • 6. 07/05/2010 www.xedotnet.org 6 Tecnica di sviluppo: test-first approach Scrivere prima i test Basare le interazioni su un grouppo di test Scrivere codice per passare i test Benefici Mantenere il focus sulle funzionalità di codice per l’utente Piccole interazioni Piena copertura del codice (Code Coverage) Codice più ridotto e pulito Test Driven Development (TDD)
  • 7. 07/05/2010 www.xedotnet.org 7 Il processo Scrivere il test Fallire il test Scrivere il codice Passare il test Re-factoring Test Driven Development (TDD)
  • 8. 07/05/2010 www.xedotnet.org 8 TDD in Visual Studio 2010 Generazione di codice da Test Impostazioni Intellisense Test Impact View Test Driven Development (TDD)
  • 9. 07/05/2010 www.xedotnet.org 9 TDD in VS 2010 - Generato dall’uso... Stub generati per: Class Struct Interface Constructor Method Property Field Enum Intellisense in modalità Consume-First Test Driven Development (TDD)
  • 10. 07/05/2010 www.xedotnet.org 10 Test Driven Development (TDD) Demo TDD
  • 11. 07/05/2010 www.xedotnet.org 11 Test Impact View Trovare il codice interessato dai cambiamenti Viste possibili Test impattati Cambiamenti di codice Visual Studio 2010 Ultimate Premium Professional Test Driven Development (TDD)
  • 12. 07/05/2010 www.xedotnet.org 12 Test Driven Development (TDD) Demo TIV
  • 13. 07/05/2010 www.xedotnet.org 13 Vantaggi Riduce le sessioni di debugging Mantiene il focus su Usabilità attesa dal cliente Task da realizzare Riduce il tempo complessivo di sviluppo + test Porta a codice più modulare, flessibile e estendibile Full code coverage Test Driven Development (TDD)
  • 14. 07/05/2010 www.xedotnet.org 14 Scopo Ridurre la possibilità di «Integration hell» Ridurre il tempo di fixing del codice Modalità Build a ogni inserimento di codice nel repository Come Source Control Build automatizzate Flag Continuous Integration Flag Gated Checkin Continuous Integration (CI)
  • 15. 07/05/2010 www.xedotnet.org 15 Test Driven Development (TDD) Demo CI
  • 16. 07/05/2010 www.xedotnet.org 16 Vantaggi In presenza di bug, fixing on time senzaeccessivi tempi di debugging Individuazione e fix deiproblemi continuo evitandoilcaosdell’ultimominuto Avvisopreventivo per codice non funzionante o incompatibile Conflittineicambiamenti Unit testing immediato per tutti I cambiamenti Disponibilitàcostantedell’ultima build per Testing Demo release feedback immediatoaglisviluppatori per Qualità Funzionalità Impatto del codicesullasoluzione Migliora la modularità del codice e ne riduce la complessità (check-in frequenti) Continuous Integration (CI)
  • 17. 07/05/2010 www.xedotnet.org 17 Cosa succede abitualmente quando un cliente (tester) trova un bug? Manual Testing con Microsoft Test Manager (MTM) Funziona nel mio computer ...ora mi dira la solita frase...
  • 18. 07/05/2010 www.xedotnet.org 18 70% dei test viene eseguito manualmente Visual Studio 2010 introduceMTM MTM agevola la: creazione di test manuali segnalazione di bug ricchi di informazioni Utilizzabile anche da non developer Elevata integrazione con TFS User Story Test case Bugs ...ecc Manual Testing con Microsoft Test Manager (MTM)
  • 19. 07/05/2010 www.xedotnet.org 19 Test Driven Development (TDD) Demo MTM
  • 20. 07/05/2010 www.xedotnet.org 20 Tecniche Unit Testing Tools PEX Analisi del codice e identificazione comportamenti Automatizza la creazione di Unit Testing con elevato code coverage http://research.microsoft.com/en-us/projects/pex/ MOLES Aggevola lo Unit Testing con PEX Continua...
  • 21. Link 07/05/2010 www.xedotnet.org 21 Davide Vernole blog.knodev.com davide@knodev.com www.knodev.com twitter.com/knodev