TDD & Applicazioni Data DrivenApplicazione Data Driven  Path ben conosciuti per isolare laccesso ai dati     DAO, Active R...
TDD & Applicazioni Data Driven              <<int>                >               DAO     DAODB   Imp
Come testare un DAO ?Idea  Unit Test DB+DAO (in realtà Integration Test)DB in uno stato conosciutoEsecuzione “Unit Test”Ve...
ProblemiProblema: DB in uno stato conosciuto ?Quando DEV1 fa girare i test DEV2 trova dati diversi ?Ma io sto usando il du...
SoluzioniConflitto tra sviluppatori: soluzioniUn DBMS per sviluppatore  DB Embedded, eseguito in locale     HSQLDB, SQLITE...
ProblemiAccesso concorrente al DB: soluzioniUn DB per sviluppatore  DB Embedded, eseguito in locale    HSQLDB, SQLITE, Der...
ProblemiSet up struttura DB: soluzioniScenario evolutivo  Anche gli script SQL fanno parte del sorgente!     Definire il D...
ProblemiSet up dati db: soluzioni  SQL puro     Esecuzione DML sul DB locale     Esecuzione SQL per estrazione dati di ver...
Lezione appresa                      DBE                                   =                                   ?DB0       ...
Upcoming SlideShare
Loading in...5
×

TDD DataBase

112

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
112
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "TDD DataBase"

  1. 1. TDD & Applicazioni Data DrivenApplicazione Data Driven Path ben conosciuti per isolare laccesso ai dati DAO, Active Record...
  2. 2. TDD & Applicazioni Data Driven <<int> > DAO DAODB Imp
  3. 3. Come testare un DAO ?Idea Unit Test DB+DAO (in realtà Integration Test)DB in uno stato conosciutoEsecuzione “Unit Test”Verifica Nuovo stato del DB Dati selezionati dal DB
  4. 4. ProblemiProblema: DB in uno stato conosciuto ?Quando DEV1 fa girare i test DEV2 trova dati diversi ?Ma io sto usando il dump del DB di prod... dovrei cancellare tutti i dati per eseguire un test ? Come riottengo il DB con i dati di prod ?Come imposto un set di dati conosciuto ?Come verifico il contenuto di una tabella prima e
  5. 5. SoluzioniConflitto tra sviluppatori: soluzioniUn DBMS per sviluppatore DB Embedded, eseguito in locale HSQLDB, SQLITE, Derby DB DBMS come in prod anche in locale Oracle Express, MySQL, PostgreSQL, … DBMS centralizzato con un db per ogni sviluppatore MS SQL Server prod_db john_db, susy_db
  6. 6. ProblemiAccesso concorrente al DB: soluzioniUn DB per sviluppatore DB Embedded, eseguito in locale HSQLDB, SQLITE, Derby DB DBMS come in prod anche in locale Oracle Express, MySQL, PostgreSQL, … DBMS centralizzato con un db per ogni sviluppatore MS SQL Server prod_db john_db, susy_db
  7. 7. ProblemiSet up struttura DB: soluzioniScenario evolutivo Anche gli script SQL fanno parte del sorgente! Definire il DB sempre attraverso DDL DB può così essere creato automaticamenteScenario manutentivo Dump del DB di prod DDL per struttura per la creazione del DB DML per dati da eseguire ad ogni test
  8. 8. ProblemiSet up dati db: soluzioni SQL puro Esecuzione DML sul DB locale Esecuzione SQL per estrazione dati di verifca Verifica programmatica API DbUnit Dataset iniziale Confronto tra dataset
  9. 9. Lezione appresa DBE = ?DB0 DAO DB1 EsecuzioneSet Up Test Verifica

×