Test di integrazione su una soluzione .NET a 3 livelli

5

Ho una soluzione .NET a 3 livelli.

  1. Database (SQL SERVER 2008)
  2. Servizio Web (servizio SOAP - * .asmx)
  3. Client WPF

Sto scrivendo comodamente Test unitari all'interno (3) del Cliente.
Attualmente sto lavorando alla scrittura di test tra (1) Database & (2) Servizio.

La mia domanda è, quali sono alcuni modi utili per eseguire test di integrazione su tutti e tre i livelli. Mi piacerebbe che questo funzionasse localmente nel mio Test Runner, così come parte del test di integrazione.

In primo luogo, sono bloccato su come avere un servizio Web transitorio (setup-teardown-able) (2) & (1) Database che può essere testato con (3) codice client come parte di un test di integrazione completo.

    
posta Sheldon Warkentin 14.09.2011 - 23:05
fonte

1 risposta

2

A seconda della tua attrezzatura questo può essere abbastanza facile, ma non molto "da manuale".

Usiamo:

  • VS
  • Microsoft Test Manager
  • Funzioni di gestione del lab di SCVMM + di MTM

Nel nostro caso (io sono un SDET in QA), la nostra applicazione impiega circa 30 minuti per l'installazione, e abbiamo un'architettura simile (DB, App Tier, Presentation Tier - web e applicazioni). Poiché un'intera installazione / config sarebbe intrattabile per il test, abbiamo una suite di test di installazione / configurazione che è essenzialmente OrderedUnitTests che farà girare una VM, confermerà i pre-requisiti, installerà il prodotto e configurerà tutto.

Da lì abbiamo le suite di test. Alcuni sono mirati al livello dell'app (servizi) dove è un normale "test unitario" (il linguaggio VS, i test unitari effettivi fanno parte della build e non vanno nemmeno al QA a meno che non passino) che crea l'impostazione necessaria, chiama il (i) servizio (i) e asserisce i risultati - pulendo normalmente le modifiche del DB in teardown.

Per il livello di presentazione abbiamo webtest che eseguiranno o test codedui che avvieranno qualsiasi app o sito è in prova, eseguiranno le azioni, asseriranno i risultati e poi chiuderanno tutto al desktop.

È piuttosto semplice e funziona bene.

    
risposta data 14.09.2011 - 23:24
fonte