Cos'è il TDD, perché tutti lo confondono con la maggior parte del TFP?

-1

Un contesto: utilizzo TFP e TDD da più di un decennio; In linguaggi come il C ++ in cui non esisteva il Framework di test in quel momento, in altri linguaggi di programmazione e diversi domini.

Tuttavia, ogni volta che cerco di mentore, trasmetto l'importanza del TDD agli altri, la maggior parte delle persone pensa inevitabilmente che io stia parlando di Test First Programming e che alcuni lo considerino non pratico per il loro particolare contesto lavorativo. Perché questo termine è così ambiguo ora. Perché si confonde con TFP?

    
posta Alex Punnen 28.10.2016 - 07:29
fonte

4 risposte

5

Why is it getting confused with TFP?

Si stanno confondendo perché Test Driven Development e Test First Programming sono praticamente la stessa cosa. Ci possono essere differenze sottili (a seconda dell'interpretazione), ma sono entrambi i nomi che si riferiscono ad una filosofia di base di scrivere prima i test, prima del codice.

È improbabile che i tuoi critici siano soddisfatti, anche se sei in grado di convincerli che c'è una sottile differenza, perché è probabilmente questa filosofia di base a cui si oppongono.

Invece di concentrarti sul nome o sull'implementazione di una filosofia impostata, concentrati sul portare cambiamenti utili.

  • Cerca di capire le obiezioni. Perché le persone pensano che non sia pratico? Quali sono le loro preoccupazioni specifiche? Come possono essere superati? Ci possono essere problemi reali qui; non dare per scontato che siano solo "sbagliati" e che debbano essere illuminati.
  • Pensa al beneficio specifico che stai cercando di ottenere. Che tipo di miglioramento vuoi ottenere da questo? È meglio risolverlo implementando una filosofia chiamata "Test-Driven Development" (oltre le obiezioni), oppure esiste un altro modo per incrementare in modo incrementale i processi migliori e aumentare il rigore dei test?
risposta data 28.10.2016 - 09:44
fonte
5

Sono esattamente la stessa cosa. Test First è il nome dato da Kent Beck a una delle Practices of Extreme Programming nel libro Extreme Programming Explained . Quando ha scritto un libro sulla spiegazione di questa particolare pratica di XP, Kent Beck ha deciso che il Test Driven Development suonava meglio e ha deciso di chiamare il libro Sviluppo guidato dal test con l'esempio .

    
risposta data 28.10.2016 - 10:47
fonte
1

Ogni volta che abbiamo una pratica abbastanza popolare da essere identificata da un nome, lo specialista / i professionisti ne vedono solo una parte e poi la propagano in modi diversi in particolari contesti, che creano confusione tra coloro che cercano di capirlo.

Quindi sorge un clan che adora comprenderlo come qualcosa e un altro clan che lo odi interpretandolo come qualcosa di diverso, iniziando a discuterlo da contesti completamente diversi - ad esempio TDD Dead

Mi piace porre l'accento sull'ultima parola del termine, Sviluppo - Sviluppo software, non è solo l'implementazione basata su test ma per me l'intero processo di sviluppo del software , anche qui echeggiato < a href="https://stackoverflow.com/a/17707188/429476"> TFP & Differenza TDD

  • Ciò significa Test of Design tramite Prototype,
  • Test del requisito tramite test di accettazione per ogni User Story,
  • Test di implementazione tramite Test unitario, Test di integrazione, Test di sollecitazione e Test manuali e
  • Test della documentazione.

Test prima programmazione per me è solo un modo e una parte in Test di implementazione. Questo per me è TDD e come Amore, per quanto agevole e contrariati la si guardi, non si può davvero odiarlo:)

    
risposta data 28.10.2016 - 08:22
fonte
-4

TDD è necessariamente test-first, ma puoi eseguire la programmazione Test-First senza fare TDD.

L'idea sbagliata più comune che vedo è proprio credere che scrivere i tuoi test sia sufficiente per affermare che stai praticando TDD.

Perché è così? Probabilmente perché molte persone sono troppo pigre per ottenere la loro "conoscenza" di TDD su qualcosa di diverso dai ripetuti TLDR e tweet 10-line inaccurati. A proposito, lo stesso sembra andare con un concetto di programmazione un po 'elaborato.

    
risposta data 09.11.2016 - 15:39
fonte

Leggi altre domande sui tag