Product Owner e test automatizzati

4

Una delle affermazioni dello sviluppo in stile BDD è che colma il divario tra Product Owner e sviluppatori: il Product Owner scrive una storia, che può essere convertita in un "frame" di test automatizzato equivalente che alla fine dovrebbe passare.

Quello che mi piacerebbe sapere è come continuare a colmare il vuoto dopo che: una volta che ci sono dei test automatici, come aiuterai il Product Owner a rivederli? O è sufficiente che il Product Owner sappia che il test passa, senza guardare il codice di prova stesso?

In breve, quanto dovrebbe essere intimo il Product Owner con i test effettivi implementati e in che modo lo si mantiene coinvolto in modo produttivo con i test oltre la stesura iniziale?

La ragione di questa domanda è doppia. In primo luogo, tra la storia di carta e i dettagli di implementazione, alcune supposizioni potrebbero entrare di soppiatto, e avere l'autore della revisione della storia del test può essere inestimabile. D'altra parte, l'implementazione introduce anche un po 'di rumore e richiede che l'ordine di acquisto diventi piuttosto tecnico (leggi il codice, esegui i test). L'implementazione del test è un "dettaglio dello sviluppatore", oppure è giusto chiedere all'OP di diventare un po 'uno sviluppatore in quest'area?

Quindi, nella maggior parte dei casi, l'OP può effettivamente convalidare il test senza il test automatizzato, semplicemente usando l'applicazione. Tuttavia, alcune storie sono "senza testa" e possono essere verificate solo tramite codice, quindi a meno che l'OP non sappia leggere ed eseguire test, lui / lei non sarà mai in grado di affermare che ha verificato la storia completa.

    
posta Mathias 06.09.2011 - 00:04
fonte

2 risposte

2

What I would like to hear is how to keep bridging the gap after that: once there are automated tests in place, how do you help the Product Owner review them? Or is it enough for the Product Owner to know that the test passes, without looking at the test code itself?

Il Product Owner (o chiunque abbia il cappello Product Owner in quel momento) agisce in modo non tecnico. Rappresentano semplicemente il cliente e gli utenti del prodotto. Non si preoccupano di come funziona il processo, sono solo responsabili dello sviluppo, della priorità e dell'accettazione di storie.

Se il tuo Product Owner è anche uno sviluppatore (il che è possibile - che il paring non è tra quelli sconsigliati), forse il compito migliore per loro sarebbe quello di servire come sviluppatore dei casi di test. Se non sono uno sviluppatore, lavora con loro per vedere cosa vogliono. Qualcuno senza esperienza di sviluppo non otterrebbe valore dal vedere l'implementazione dei casi di test.

First, between the paper story and the implementation details, some assumptions may sneak in, and having the author of the story review the test can be invaluable. On the other hand, the implementation introduces quite a bit of noise, too, and requires the PO to become fairly technical (read code, run tests). Is the test implementation a "developer's detail", or is it fair to request the PO to become a bit of a developer in this area?

Questa è la differenza tra la verifica (i test automatici) e la convalida (test di accettazione e altri test / recensioni condotti dal proprietario del prodotto).

Il fatto che tu abbia casi di test per verificare la storia dell'utente è buono. Tuttavia, spetta al Product Owner convalidare effettivamente l'implementazione. Dire che il test è valido è sufficiente per dire "abbiamo implementato la storia così come la intendiamo", non abbastanza per dire "l'implementazione di questa storia soddisfa le esigenze del cliente e degli utenti". Il Product Owner deve eseguire test di accettazione aggiuntivi sull'applicazione per convalidare la storia e la sua implementazione.

However, some stories are "headless" and can only be verified via code, so unless the PO knows how to read and run tests, he/she will never be able to state that he verified the story complete.

Sto andando dritto su questo - quelli non sono buone storie di utenti. Il punto centrale di una user story è spiegare come l'utente interagirà con un sistema. Potresti sviluppare storie interne per analizzare una storia utente e quelle potrebbero essere "senza testa". Ma saprai che hai completato quelli basati sui test interni che hai superato e la storia utente più ampia che supera i test di accettazione.

    
risposta data 06.09.2011 - 01:53
fonte
2

Funzionalità e disconnessione

Nel mio lavoro, quando uno sviluppatore riprende un nuovo lavoro, la prima cosa che fanno è identificare chi è il "Proprietario". Poi vanno da loro per una rapida discussione sulla loro comprensione del problema e su quale sarà la soluzione prevista.

Una volta che lo sviluppatore ha terminato l'implementazione, torna al "Proprietario" per la disconnessione. La firma implica lo sviluppatore che mostra l'implementazione in un sistema funzionante (il loro sistema di sviluppo) con dati ragionevoli. Se il "Proprietario" è soddisfatto, si disconnettono e l'implementazione è completa. Se il "Proprietario" non è soddisfatto, lo sviluppatore identifica quali modifiche devono essere apportate. Poi li implementa e tenta di riprovare.

    
risposta data 06.09.2011 - 06:57
fonte

Leggi altre domande sui tag