Desconstruindo TDD

Olá, meu nome é Dmitry Karlovsky. E você está no canal Core Dump , onde pegamos vários tópicos da ciência da computação e os desconstruímos nas prateleiras. Começaremos com o desenvolvimento orientado a testes.



Desenvolvimento Orientado a Testes

A essência dessa abordagem é ritualizar o processo de desenvolvimento. Ou seja, na execução incondicional não crítica de certas ações simples.



Este ritual tornará seu código bonito e confiável. Será fácil e simples de manter. E o desenvolvimento será simples e rápido. Isso é, de qualquer forma, fortemente convencido pelos pregadores do TDD.



Gravação de vídeo desta análise .



A essência do TDD



Em suma, o ciclo ritual consiste em 3 etapas: primeiro, o teste vermelho é escrito; então, o código é escrito ou corrigido para que o teste fique verde; e finalmente o código é refatorado para manter os testes esverdeados.



TDD puro



E então surge a questão imediatamente, a questão de um milhão ...



O que fazer quando o teste está inicialmente verde?



Opções de resposta ...



  • Quebrar o código
  • Excluir teste
  • É impossível


Se você quebrar seu código, seus testes ficarão vermelhos naturalmente. E depois de revertermos a alteração, os testes ficarão verdes novamente.



Você pode excluir o teste. Afinal, se não houver teste, não haverá problema com sua cor original.



, : TDD . - , . , .



, , : — . , , TDD.





, . , : " ?". . — . , " ", . - , ?





, TDD , - , , . , . .



— , , 2 . ?





. , , . TDD , , , , , -, . .



  1. R ⇝ G
  2. R ⇝ G
  3. R ⇝ G
  4. G ?
  5. G ?
  6. G ?
  7. G ?
  8. G ?


, TDD, , . , . , .



, TDD: , .



TDD



, , TDD ...



TDD Fixo



" ?". , . . . , . , , . , . , .



. , . , . , .



, , , " ?". , — , — -. , . , .



TDD . ...



TDD



TDD , . , .



...



1 R R G
2 GR RR GG
3 GGR RRR GGG
4 GGGR GGRR GGGG
5 GGGGR GGGGR GGGGG
6 GGGGGR RRRRRR GGGGGG


. , , . , , . .



, - , . TDD - .



, , . . " , ". , , .



TDD



TDD , . ..





, , , .



, , , , , . , TDD, . , Test Driven, .



, TDD - . , TDD . .



TDD?



- , " TDD", , , . TDD , . , .



-  :-(
-    :-(
-   :-(
- ,    :-)
-   :-)


TDD, TDD . , , . , , - . TDD. — . - . , , , .



TDD?



, , ..





..



  • -


, . .



- , , - , .



, .



, , . .



. .




All Articles