2010-02-10 10 views
7

Come ho capito, ci sono un paio di casi in cui potresti voler usare FitNesse.Utilizzo di FitNesse anziché di NUnit

  • Si desidera eseguire test di accettazione piuttosto che test di unità.
  • Si desidera utilizzarlo come strumento di comunicazione con il proprietario del paletto.
  • Si desidera eseguire test su larga scala anziché su test granulari.
  • Si desidera che le persone non tecniche scrivano i test.

La mia opinione personale e l'esperienza è:

  • posso fare test di accettazione utilizzando strumenti come NUnit. Fitnesse è fondamentalmente solo un framework per chiamare metodi pubblici su un assembly .NET, che può essere fatto usando NUnit.
  • Gli stakeholder mi dicono cosa vogliono. Raramente sono interessati a scrivere test di fitness. Sembrano avere altre/migliori/cose più importanti da fare.
  • È possibile eseguire test su larga scala utilizzando FitNesse. Per quanto ne so, dovresti inserire tutti gli input per questi test su larga scala in un editor di testo semplice in un browser web. Come sarebbe più semplice leggere i dati di input da un file di testo su disco, o un file di Excel o un database? Certo, potresti specificare il percorso del file su disco nell'interfaccia web, ma quale vantaggio darebbe usando NUnit per leggere lo stesso file?
  • Queste persone non tecniche devono scrivere codice seguendo una sintassi molto specifica in un editor di testo su un sito Web, che chiamerà successivamente gli assembly .NET. Il codice .NET diventa complicato, dal momento che la persona non tecnica non conosce la programmazione, ma sta ancora specificando come dovrebbe funzionare l'assemblaggio.

Qualcuno può condividere qualche altra opinione sull'argomento? In che modo FitNesse è stato prezioso per te?

+0

Trovo strano che qualcuno abbia preferito questa domanda ma non lo ha revocato. È così comune su SO? –

+0

Esistono tutorial per l'accettazione di test NET/Fitnesse? – HichemSeeSharp

risposta

1

La risposta tipica per la tua domanda è

"test di livello superiore (come ad esempio l'accettazione) sono grandi fino a trovare il problema. A quel punto, se non si dispone di unit test, allora l'unica cosa che si sa è che qualcosa di è rotto - non specificamente quello che è danneggiato o dove deve essere applicata la correzione. "

4

FitNesse è progettato per uno scopo completamente diverso rispetto a NUnit. Fare test di accettazione con NUnit significa, prima di tutto, che l'intera suite di test deve essere scritta in codice. FitNesse è progettato con l'intento che puoi, dato un certo livello di preparazione, scrivere i tuoi test nei dati. Si tratta di modalità operative molto diverse e si applicano a risorse molto diverse. Incoraggiano anche punti di vista del mondo molto diversi: un designer di casi di test FitNesse sta lavorando sul presupposto che una trasformazione molto semplice e diretta accadrà, mentre un utente NUnit ha una grande conoscenza su come funziona quella trasformazione e ha dei ganci nel sistema che non hanno nulla a che fare con la trasformazione stessa.

Se non riesci a far scrivere agli stakeholder casi d'uso e test funzionali, allora hai bisogno di una posizione di supporto per quegli stakeholder, che è il luogo in cui un dipartimento tradizionale di QA entra in gioco. Non avere uno stakeholder per fare questa roba non è una scusa per non farlo.

Il vantaggio di utilizzare FitNesse per leggere i dati su un formato personalizzato è piuttosto semplice: è un modo standard per inserire i casi di test.Se non vedi il vantaggio in questo, forse hai bisogno di passare un po 'di tempo a percorrere il sentiero che descrivi, perché alla fine dovrai colpire alcuni muri e forse ti aiuteranno a capire.

8

Quindi sì, è possibile scrivere test di accettazione in nUnit, ma questo manca il punto. Fitnesse si suppone che sia un'interfaccia utente alternativa alla propria applicazione che esprime un flusso dettagliato di asserzioni:

L'utente fa questo L'utente fa che l'utente ora vede questo

Idealmente lo strato di fitness è in grado di seduta direttamente sul livello più alto della tua applicazione, sostituendo il livello di rendering finale.

Gli strumenti di test delle unità non sono realmente progettati per questo, puoi farlo? Sicuro. Ma è strano

Un'altra cosa, secondo me, è che sei un po 'fuori dall'idea che "vuoi che le persone non tecniche scrivano i test". Fitnesse è uno strumento di collaborazione. Dovresti scrivere i test con gli stakeholder, dare e ricevere feedback. Quindi, ha il vantaggio di essere la documentazione. Quindi un anno dopo, quando qualcuno vuole sapere perché il sistema funziona come fa, puoi tirare su i test, visualizzati in un modo che un BA può capire (a differenza di nUnit) e dire bene, eccolo, dovremmo cambiarlo ?

Problemi correlati