Introduzione al Testing

Click here to load reader

  • date post

    18-Nov-2014
  • Category

    Technology

  • view

    93
  • download

    0

Embed Size (px)

description

Nello sviluppo software il termine “test” assume molti significati; le tipologie di test sono infatti numerose, ma tutte hanno un unico scopo: provare che il software realizzato sia attinente alle specifiche e non presenti bug. Tra tutti i test, quelli unitari rappresentano senza dubbio la categoria più interessante per lo sviluppatore, dato che sono dedicati alla verifica di piccole porzioni di codice e sono spesso scritti nello stesso linguaggio usato per realizzare il software. Agenda: - Introduzione ai concetti base del testing - Test unitari - Librerie xUnit ed automazione dei test - Alcuni pattern standard per test unitari

Transcript of Introduzione al Testing

  • 1. Esercita lintero sistema come un tuttuno Serve a verificare le specifiche globali Es: Performance testing, GUI testing, Security testing, Load testing Verifica lintegrazione tra le parti di uno stesso sistema Verifica lintegrazione tra sistemi differenti Verifica piccole componenti del codice Maggiormente automatizzabile Test focalizzati su specifiche funzionalit di singoli oggetti Regression Testing verificano che le modifiche non abbiano causato una regressione delle funzionalit

2. Serve a fornire i dati di ingresso ad un sistema (Es. Stub Database( Fornisce un implementazione temporanea per il test Componente che non fa assolutamente nulla (es. Dummy Logger) Oltre a fornire i dati in ingresso verificano gli output indiretti del sut Mima le funzionalit di un sistema in maniera minimale (es Memory Repository) 3. Ogni sviluppatore usa il suo database personale locale Migliora le performance, minimizza le dipendenze evita i conflitti Back Door Manipulation: generare lo stato iniziale precaricando il database con script o con dei DataLoader. Shared Fixture: Raggruppare i test per minimizzare il numero di fixture Table Truncation: Si cancella tutta la tabella dopo ogni test ORM: effettuare il dispose delle cache e dei contesti Transaction rollback: si effettua il rollback per annullare qualsiasi modifica Delta assertion: si confronta loutput con lo stato allinizio del test 4. Il preload cancella tutto il contenuto di alcune tabelle e le precarica. Viene fatto allinizio del test e costituisce una Shared Fixture Prima di ogni test viene creato un TransactionScope, tutto il codice che accede al db transazionale Nel TearDown del singolo test viene annullata ogni modifica effettuando il rollback della transazione.