lightning talk test-driven development - tdd
DESCRIPTION
Lightning talk de Test-Driven Development - TDD realizado na Escola Regional de Informática RO/AC - ERIN3TRANSCRIPT
![Page 1: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/1.jpg)
Lightning talk - TDD
![Page 2: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/2.jpg)
Willians de Paula PereiraEspecialista em Engenharia de Software com Ênfase em Software Livre
Professor do Instituto Federal de Educação, Ciência e Tecnologia de Rondônia
Quem sou eu?
![Page 3: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/3.jpg)
Membro do Grupo de Pesquisa em Automação e Robótica – GPMecatrônica
CorintianoMesatenistaDesenvolvedorAprendizGeek
Willians de Paula Pereira
Quem sou eu?
![Page 4: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/4.jpg)
Contextualizando
![Page 5: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/5.jpg)
O que são testes?O teste do software é a investigação do software a fim de fornecer informações sobre sua QUALIDADE em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.
![Page 6: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/6.jpg)
Tipos de testes
Caixa brancaCaixa pretaCaixa cinzaRegressãoTécnicas não funcionais
![Page 7: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/7.jpg)
Fases
TESTE DE UNIDADETeste de integraçãoTeste de sistemaTeste de aceitaçãoTeste de operaçãoAlphaBetaRelease Cadidate
![Page 8: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/8.jpg)
Problemas comuns no desenvolvimento de software
Difícil manutenção
![Page 9: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/9.jpg)
Bugs geram mais bugs
Problemas comuns no desenvolvimento de software
![Page 10: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/10.jpg)
Código macarrão
Procedure var você,eu:string;
begin você:=eu; if (eu<>você) or (você<>eu) then showmessage('Eu não sou você e você muito menos eu') else if (você=eu) then showmessage('você é você, eu sou eu'); with você do begin caption:='Eu'; size:='28 cm'; Name:='Jeremias'; //Jeremias eu sou homem coisa que você não é, e não atiro pelas costas não showmessage('Come on Bitch!!Motherfucker and fuck u');end;end.
Problemas comuns no desenvolvimento de software
![Page 11: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/11.jpg)
Problemas comuns no desenvolvimento de software
Perda de tempo
![Page 12: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/12.jpg)
Por que testar?
Saber que alguma coisa funciona
Tudo que você comprou na Bolívia funcionou
![Page 13: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/13.jpg)
F5Ctrl + Shift + B
Como testamos hoje?
![Page 14: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/14.jpg)
![Page 15: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/15.jpg)
![Page 16: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/16.jpg)
Compilar NÃO significa testarSignifica que seu CÓDIGO ATENDE AOS REQUISITOS DO COMPILADOR e NÃO DO SEU SISTEMA
![Page 17: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/17.jpg)
Por que não testar?
Demora
![Page 18: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/18.jpg)
Por que não testar?
Sou o JEDI
![Page 19: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/19.jpg)
Por que não testar?
Preciso escrever mais código
![Page 20: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/20.jpg)
Por que não testar?
Estamos sem tempo
![Page 21: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/21.jpg)
Are you sure?
Pergunte aos universitários
![Page 22: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/22.jpg)
Deixar de testar não te faz mais rápido, apenas dá uma FALSA sensação de velocidade
Por que não testar?
![Page 23: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/23.jpg)
Vantagens de Testes de Unidade (Unity Tests) Reduz o tempo gasto em depuração e em correção de bugs. Serve de suporte para testes de regressão. Encoraja o refactoring. Serve como documentação. Reduz o GAP entre a introdução, identificação e correção de
bugs. 80% do tempo de um desenvolvedor é dedicado à
identificação e correção de bugs. Mais de 50% dos bugs não são detectados até a fase de
homologação. Aproximadamente 50% dos bugs são introduzidos na fase
implementação. Cerca de 50% do orçamento total de um projeto de
software é gasto em correção de bugs.
![Page 24: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/24.jpg)
RápidoPráticoExecuta quase que instantaneamenteAuxiliam o design da funcionalidadeEstá difícil? Refatore
Vantagens de Testes de Unidade (Unity Tests)
![Page 25: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/25.jpg)
Ciclo do TDD
![Page 26: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/26.jpg)
De forma prática
![Page 27: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/27.jpg)
Desvantagens
![Page 28: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/28.jpg)
DEMO
![Page 29: Lightning talk Test-Driven Development - TDD](https://reader036.vdocuments.site/reader036/viewer/2022062512/5549fc6db4c905557a8b4bda/html5/thumbnails/29.jpg)
Considerações finais sobre TDD
Design evolui com o conhecimento adquirido com projeto;Desenvolvimento com passos de bebê;Expressa a boa intenção do programador em relação aos
testes;Servem de documentação.Sobre código o que podemos dizer:
Nome dos teste definem o comportamento esperado;Sem duplicação;Alta cobertura;Anti-código inútil;Alta qualidade do código.