TDD quando incerto sull'obiettivo

-2

Diciamo che stai lavorando sotto Scrum e hai una storia che descrive molto chiaramente, molto probabilmente in BDD, ciò che è richiesto come una nuova funzionalità nell'applicazione.

Diciamo anche che, come sviluppatore, hai abbastanza chiarezza per iniziare a scrivere il tuo codice lato server.

Inoltre, non conosci la lingua, la piattaforma, le API o forse, semplicemente, sei indeciso sul comportamento specifico del funzionamento interno delle classi da costruire (non leggere questo come incompetente, appena nuovo per la piattaforma, per esempio).

Considerato quanto sopra, è appropriato iniziare a costruire i test prima (TDD) o è valido iniziare a elaborare la logica di ciò che deve essere costruito per primo, nel codice.

    
posta Matt W 20.09.2017 - 16:55
fonte

2 risposte

5

La risposta breve è che lo sviluppo basato sui test supporta molto i test esplorativi. Se stai imparando una lingua o un'API, i tuoi primi test sembreranno piccoli passi. Va bene.

Un test dice "quando faccio questo, dovrebbe succedere". Quindi, scrivi il test con la funzione lingua e verifica se l'ipotesi non funziona. Correggi il codice o correggi il test quando ricevi un feedback. Re-fattore. Ripeti.

Potresti non voler mantenere i tuoi piccoli test in giro per tutti, ma è una cosa da considerare in seguito, quando esegui i commit finali.

    
risposta data 20.09.2017 - 17:27
fonte
1

Lo scopo dei test unitari è verificare che l'unità di codice in questione sia conforme ai requisiti. Quindi, se conosci i requisiti dell'unità, puoi iniziare a scrivere i test, anche prima di iniziare a scrivere il codice.

Se non ne sai abbastanza per iniziare a scrivere test, indica che il requisito non è stato sufficientemente chiarito, e quindi non puoi davvero iniziare con il codice. Ma tu affermi che la storia "descrive molto chiaramente ... ciò che è necessario", quindi niente dovrebbe impedirti di scrivere test.

    
risposta data 20.09.2017 - 17:51
fonte

Leggi altre domande sui tag