Di recente ho indagato su SpecFlow e riesco a vedere il valore di ciò per la scrittura di specifiche client / stateholder che possono mostrare i progressi di una funzionalità, tuttavia sono ansioso di presentarli a un client ...
Immagina una funzione:
Given I'm on the "MyAccount" page
And I enter "Liath" into the "Name" textbox
When I click "Save"
Then my username should be "Liath"
Scriviamo queste funzioni, mostriamo al cliente un set di icone rosse e impostiamo gli sviluppatori affinché funzionino.
Se il nostro sviluppatore completa il percorso felice, l'icona diventerà verde e il client vedrà che la funzione è completa.
Tuttavia il nostro sviluppatore sa che devono ancora considerare cose come:
- Verifica del nome utente per vedere se è in uso
- Verifica del nome utente per volgarità
- Gestire gli errori dal database
- Una forma di convalida per garantire che il nome utente utilizzi solo caratteri validi
Chiaramente, se un cliente vede una fila di semafori verdi sarà riluttante a continuare a pagare per il resto dello sviluppo, sembrerà che stiamo cercando di allungare il lavoro.
Qual è il valore di questi test come indicatore di avanzamento se indicano che il lavoro è completato molto prima che sia? Quali tecniche dovremmo usare per dare un esempio più preciso di progresso?