Domanda

Qual è il punto di usare FitNesse invece di stile xUnit test FIT / integrazione? Ha sintassi davvero strano e molto poco chiaro, a mio parere.

E 'davvero solo per rendere i proprietari del prodotto scrivere i test? Non lo faranno! E 'troppo complicato per loro. Allora perché qualcuno dovrebbe Fit / FitNesse?

Aggiorna Quindi è assolutamente adatto per le prove di business-rules solo?

È stato utile?

Soluzione

Il punto è quello di lavorare non-programmatori, le persone spesso anche completamente non-tecnici come gli utenti prospettiva di un'applicazione aziendale, sul quale applicazione deve fare e poi metterlo in test. Pur facendo prove di lavoro è certamente troppo complicato per loro, dovrebbero essere in grado di discutere le tabelle di dati di esempio compilato in es Parola. E la cosa bella è, a differenza specifica tradizionale, tali documenti vivono con l'applicazione, perché i test automatici ti costringono a aggiornarli.

Introduction To Fit e Fit Workflow da James Shore e seguire i link con il resto della documentazione, se si desidera.


Aggiornamento: Dipende da cosa si intende per regole di business? ;-) Alcune persone avrebbero capito molto stretto (come nei motori di regole di business, ecc), altri --- in senso molto ampio.

come la vedo io, in forma è uno strumento che ti permette di scrivere le imprese (come in dominio) I casi d'uso con ricchi esempi realistici in un documento, che gli utenti finali o esperti di settore (in alcuni domini) possono capire, verificare e discutere. Allo stesso tempo, questi esempi sono in forma leggibile in modo che possano essere utilizzati per guidare test automatizzati, È né scrivere il documento del tutto da soli, nè requre loro di farlo. Invece si tratta di un prodotto di callaboration e discussione che riflette la crescente comprensione di ciò che l'applicazione sta per fare, su entrambi i lati. Esempi diventano più ricche, come si procede e più casi d'angolo vengono risolti.

Quale applicazione farà, non come, è importante. Si tratta di una forma di specifica funzionale. Come tale è piuttosto ampia e non molto organizzata dai moduli, ma piuttosto scenari di utilizzo.

I test che vengono fuori esempi metterà alla prova comportamento esterno di applicazione in aspetti importanti dal punto di vista del business. Sì, si potrebbe chiamare regole di business. Ma Vediamo l'esempio di Diego Jancic di credit scoring, solo con un po 'di torsione. Che cosa succede se parte del documento in forma è 1) messa in vendita di attributi ed i loro punteggi e poi 2) che forniscono i dati del cliente e verifica dei risultati, poi, che sono le regole di business attuali: tabella punteggio (attributi e la loro valutazione) o la logica dell'applicazione di calcolo del punteggio per ogni cliente (basata sulla tabella di punteggio)? E che vengono testati?

test Fit / FitNesse sembrano più adatti per i test di accettazione. Altri test (quando non si cura di collaborazione con i clienti, utenti, esperti del settore, ecc, si vuole solo per automatizzare i test), probabilmente sarà più facile da scrivere e mantenere in modi più tradizionali. xUnit è bello per unit testing e prove di api. Ogni framework web dovrebbe avere qualche strumento per il test web app / servizio integrato nel suo ciclo di modificare-build-test da implementare, per esempio. django ha il suo piccolo client di prova. Hai un sacco di scelta.

E si può sempre scrivere il proprio strumento (o, preferibilmente, modificare alcuni esistenti) per meglio adattarsi (gioco di parole) alcuni test nel vostro particolare dominio di interesse.


Un altro pensiero generale. E 'spesso (non sempre !!!) meglio per codificare i test, "regole aziendali" e qualsiasi cosa, in qualche forma di dati ben definiti, che viene interpretato da alcuni semplici, pezzo generico di codice. Poi è facile da utilizzare i dati in qualche altro modo: generare la documentazione, la migrazione al nuovo framework di test, l'applicazione di porta al nuovo ambiente / linguaggio di programmazione, utilizzare per controllare la conformità con alcune regole esterni o altro sistema (basta usare la vostra immaginazione). E 'molto più difficile da estrarre tali informazioni fuori dal codice, ad esempio. semplice test di unità hardcoded o regole di business.

negozi Fit Test casi come dati. In formato molto particolare a causa di come è destinato ad essere utilizzato, ma ancora. I suoi test specifici domini possono utilizzare diversi formati come semplice CSV, JSON o YAML.

Altri suggerimenti

L'idea è che voi (il programmatore) definisce un formato facile da capire, come ad esempio un foglio di Excel. Quindi, il proprietario prodotto entra informazioni che è difficile da capire per la gente che non è nel business ... e basta confermare che il codice funziona come il PO aspetta esecuzione Fit. Il modo utilizzato in xUnit, può essere utilizzato per i programmatori come input per un facile da capire o semplici informazioni. Se si sta andando ad avere bisogno di entrare in un sacco di esempi strani con più campi nella vostra prova xUnit, sarà diventato difficile da leggere.

Immaginate un caso in cui si deve decidere se dare un prestito a un cliente, in base all'età, Sposato / Singolo, la quantità di bambini, salario, attività, ... Come programmatore, non si può scrivere che le informazioni; e un gestore di rischio non può scrivere un test xUnit.

Aiuta a ridurre la ridondanza in regressione e test di bug. Costruire repository gestibile di casi di test. La sua costruzione come una volta e utilizzare per sempre.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top