SlideShare uma empresa Scribd logo
TDD
Por um mundo com mais testes
RSJUG
Bruno Maomeh
Um grande aficionado pelo conhecimento,
admirador do desenvolvimento de software e
metodologias ágeis. Trabalhando por mais de 9
anos com o desenvolvimento, eu também sou
entusiasta por comunidades de
desenvolvimento de sistemas, atuando como
coordenador da JavaSF International Group
(JavaSF) e membro ativo da Comunidade Java
do Ceará (JavaCE).
O que são testes?
O que são testes?
Teste é tudo aquilo que
assegura que alguma coisa
está funcionado.
O que são testes?
"Afirma-se que o teste de software é um
processo, ou uma série de processos, projetado
para se certificar a respeito do código de
computador, além de fazer o que foi designado
a cumprir, e sem realizar nada que não seja
intencional.” (Myers - 2004)
O que são testes automatizados?
O que são testes automatizados?
Qualquer instrução que teste automaticamente.
O que são testes automatizados?
Ferramentas para execução dos testes:
Tipos de testes
Teste de unidade
Teste de integração
Teste de aceitação
Teste de segurança
Teste de performance
Teste de configuração
Teste de regressão
Tipos de testes
Teste de unidade
Teste de integração
Teste de aceitação
Teste de segurança
Teste de performance
Teste de configuração
Teste de regressão
Teste de unidade
É um teste que executa a menor parcela de código de um software.
Na maioria das linguagens atuais, a menor parcela de código é um método.
Teste de unidade
Ajuda na rastreabilidade de bugs no
sistema.
Teste de unidade
Previnem regressão do código
Teste de unidade
Incentivam a refatoração.
Teste de unidade
Servem como documentação.
Teste de integração
É aquele que integra duas ou mais partes do sistema ou com outros sistemas.
Integração com banco de dados ou
um webservice.
Teste de integração
Garantir que as duas partes do
sistema se comuniquem
corretamente.
Teste de integração
São testes de "caixa preta", o
que reduz a rastreabilidade de
problemas com o código (com
relação ao teste unitário).
Teste de aceitação
Garante que o sistema funcione
como um todo.
Teste de aceitação
Simula o teste com o usuário final.
Qual tipo de teste usar?
Qual tipo de teste usar?
Em regras gerais
(isso não é uma estatística,
apenas referência)
O que é TDD?
O que é TDD?
TDD é uma prática de
desenvolvimento de software
onde todo o código do sistema
é escrito depois de escrever
testes automatizados.
"We never have enough time for testing, so let's just write the test first." (Kent Beck)
O que é TDD?
Ciclo do TDD: Vermelho-Verde-Amarelo
O que é TDD?
Só se escreve algum código novo no sistema se houver
algum código de teste quebrando.
O que é TDD?
Muito além de tecnicas de "test-first"
Auxilia na detecção de falhas no design do sistema.
Também deve ter informações sobre o código testado.
Se um teste está ficando muito complicado, é um grande indício que
exista problema com o design.
É hora de refatorar!!
Palestra tdd - rsjug
Palestra tdd - rsjug
Palestra tdd - rsjug
Palestra tdd - rsjug
Palestra tdd - rsjug
Referências
https://github.com/brunomaomeh
http://www.slideshare.net/brunomaomeh
https://www.linkedin.com/in/brunomaomeh
Obrigado e

Mais conteúdo relacionado

Mais procurados

Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDD
Diogo Damiani
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
Luiz Henrique
 
Test driven development
Test driven developmentTest driven development
Test driven development
clauvane1708
 
Teste de software
Teste de softwareTeste de software
Teste de software
Claudio Eckert
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
Paulo Igor Alves Godinho
 
Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de software
Ariane Izac
 
UnP Eng. Software - Aula 26
UnP Eng. Software - Aula 26UnP Eng. Software - Aula 26
UnP Eng. Software - Aula 26
Hélio Medeiros
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
Bárbara Cabral da Conceição, CTFL
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
Marcelo Rodrigues
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
elliando dias
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
Renato Groff
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
Ariane Izac
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Renato Groff
 
Questionário Sobre Teste de Software
Questionário Sobre Teste de SoftwareQuestionário Sobre Teste de Software
Questionário Sobre Teste de Software
Mayara Mônica
 
Testes Automatizados No Cakephp
Testes Automatizados No CakephpTestes Automatizados No Cakephp
Testes Automatizados No Cakephp
João José Pedrini
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
Matheus Fechine de Moura
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
Rafael Fuchs, PMP, MBA
 
Desenvolvedor também testa!
Desenvolvedor também testa!Desenvolvedor também testa!
Desenvolvedor também testa!
EDLA BARBOSA DOS SANTOS
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
Frederico Belisario
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Engenharia de Software Ágil
 

Mais procurados (20)

Teste Unitários e TDD
Teste Unitários e TDDTeste Unitários e TDD
Teste Unitários e TDD
 
Final Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applicationsFinal Project (2013): Test-Driven Development applied on web applications
Final Project (2013): Test-Driven Development applied on web applications
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
 
Panorama geral sobre testes e qualidade de software
Panorama geral sobre testes e qualidade  de softwarePanorama geral sobre testes e qualidade  de software
Panorama geral sobre testes e qualidade de software
 
UnP Eng. Software - Aula 26
UnP Eng. Software - Aula 26UnP Eng. Software - Aula 26
UnP Eng. Software - Aula 26
 
Apresentação testes white box
Apresentação testes white boxApresentação testes white box
Apresentação testes white box
 
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHPPHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
 
Desenvolvimento Guiado por Testes
Desenvolvimento Guiado por TestesDesenvolvimento Guiado por Testes
Desenvolvimento Guiado por Testes
 
Test-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.netTest-Driven Development (TDD) utilizando o framework xUnit.net
Test-Driven Development (TDD) utilizando o framework xUnit.net
 
Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!Estratégias de testes em 10 passos, step by step!
Estratégias de testes em 10 passos, step by step!
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
 
Questionário Sobre Teste de Software
Questionário Sobre Teste de SoftwareQuestionário Sobre Teste de Software
Questionário Sobre Teste de Software
 
Testes Automatizados No Cakephp
Testes Automatizados No CakephpTestes Automatizados No Cakephp
Testes Automatizados No Cakephp
 
Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016Palestra TDD Javou! #08 2016
Palestra TDD Javou! #08 2016
 
TDD na Prática
TDD na PráticaTDD na Prática
TDD na Prática
 
Desenvolvedor também testa!
Desenvolvedor também testa!Desenvolvedor também testa!
Desenvolvedor também testa!
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 

Destaque

Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
Bruno Maomeh
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
Frederico Maia Arantes
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
Elias Nogueira
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Elias Nogueira
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
Bruno Maomeh
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
Elias Nogueira
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing Mindset
Elias Nogueira
 
Testes generativos
Testes generativosTestes generativos
Testes generativos
Luiz Alberto Hespanha
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
Elias Nogueira
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
Elias Nogueira
 
A Importância do Teste Continuo
A Importância do Teste ContinuoA Importância do Teste Continuo
A Importância do Teste Continuo
Elias Nogueira
 
10 coisas que não me contaram sobre Testes
10 coisas que não me contaram sobre Testes10 coisas que não me contaram sobre Testes
10 coisas que não me contaram sobre Testes
Katiana Maia
 
O que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de AceiteO que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de Aceite
Elias Nogueira
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
Elias Nogueira
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
Elias Nogueira
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
Rodrigo Freitas
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!
Elias Nogueira
 

Destaque (17)

Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
Apresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - GoiâniaApresentando meteor! Join Community - Goiânia
Apresentando meteor! Join Community - Goiânia
 
Testes para Android de ponta a ponta
Testes para Android de ponta a pontaTestes para Android de ponta a ponta
Testes para Android de ponta a ponta
 
Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...Tudo o que você precisa saber para começar a automação de testes em dispositi...
Tudo o que você precisa saber para começar a automação de testes em dispositi...
 
Tdd na veia
Tdd na veiaTdd na veia
Tdd na veia
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Workshop Agile Testing Mindset
Workshop Agile Testing MindsetWorkshop Agile Testing Mindset
Workshop Agile Testing Mindset
 
Testes generativos
Testes generativosTestes generativos
Testes generativos
 
Como integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu timeComo integrar um Agile Tester no seu time
Como integrar um Agile Tester no seu time
 
Feedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionaisFeedback mais rápido na sua build dividindo os testes funcionais
Feedback mais rápido na sua build dividindo os testes funcionais
 
A Importância do Teste Continuo
A Importância do Teste ContinuoA Importância do Teste Continuo
A Importância do Teste Continuo
 
10 coisas que não me contaram sobre Testes
10 coisas que não me contaram sobre Testes10 coisas que não me contaram sobre Testes
10 coisas que não me contaram sobre Testes
 
O que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de AceiteO que Evitar na Escrita de Criterios de Aceite
O que Evitar na Escrita de Criterios de Aceite
 
Automatizando uma app Híbrida
Automatizando uma app HíbridaAutomatizando uma app Híbrida
Automatizando uma app Híbrida
 
Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes! Acelerando o feedback e deploy com Automação de Testes!
Acelerando o feedback e deploy com Automação de Testes!
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!
 

Semelhante a Palestra tdd - rsjug

Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
Camilo Ribeiro
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
Aline Ferreira
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
Bruno Eustáquio
 
Teste de software
Teste de softwareTeste de software
Teste de software
Daniel Paulo de Assis
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
Cloves da Rocha
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
RonaldAlves15
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
testedesoftwarepe
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
flavio1110
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
Joberto Diniz
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
Mauricio Cesar Santos da Purificação
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
Rondinelli Mesquita
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
paulo peres
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
Grupo de Testes Carioca
 
O poder do TDD
O poder do TDDO poder do TDD
O poder do TDD
Rafael Queiroz
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
GustavoRondini
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
Camilo Ribeiro
 
TDD
TDDTDD
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
Thiago Faria de Andrade
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
Simone Pittner
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
Eduardo Carvalho
 

Semelhante a Palestra tdd - rsjug (20)

Introdução a Automação de Teste de Software
Introdução a Automação de Teste de SoftwareIntrodução a Automação de Teste de Software
Introdução a Automação de Teste de Software
 
Apresentacao Testes de Unidade
Apresentacao Testes de UnidadeApresentacao Testes de Unidade
Apresentacao Testes de Unidade
 
TDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software ÁgilTDD - Pós Graduação em Engenharia de Software Ágil
TDD - Pós Graduação em Engenharia de Software Ágil
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Introdução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de SoftwareIntrodução à Engenharia de Testes de Software
Introdução à Engenharia de Testes de Software
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Paletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojoPaletra sobre TDD, ocorrida no #DevDojo
Paletra sobre TDD, ocorrida no #DevDojo
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Cloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows AzureCloud Computing e Integração Contínua com o Windows Azure
Cloud Computing e Integração Contínua com o Windows Azure
 
O poder do TDD
O poder do TDDO poder do TDD
O poder do TDD
 
SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
TDD
TDDTDD
TDD
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Tdd x testes unidades
Tdd x testes unidadesTdd x testes unidades
Tdd x testes unidades
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 

Palestra tdd - rsjug

  • 1. TDD Por um mundo com mais testes RSJUG
  • 2. Bruno Maomeh Um grande aficionado pelo conhecimento, admirador do desenvolvimento de software e metodologias ágeis. Trabalhando por mais de 9 anos com o desenvolvimento, eu também sou entusiasta por comunidades de desenvolvimento de sistemas, atuando como coordenador da JavaSF International Group (JavaSF) e membro ativo da Comunidade Java do Ceará (JavaCE).
  • 3. O que são testes?
  • 4. O que são testes? Teste é tudo aquilo que assegura que alguma coisa está funcionado.
  • 5. O que são testes? "Afirma-se que o teste de software é um processo, ou uma série de processos, projetado para se certificar a respeito do código de computador, além de fazer o que foi designado a cumprir, e sem realizar nada que não seja intencional.” (Myers - 2004)
  • 6. O que são testes automatizados?
  • 7. O que são testes automatizados? Qualquer instrução que teste automaticamente.
  • 8. O que são testes automatizados? Ferramentas para execução dos testes:
  • 9. Tipos de testes Teste de unidade Teste de integração Teste de aceitação Teste de segurança Teste de performance Teste de configuração Teste de regressão
  • 10. Tipos de testes Teste de unidade Teste de integração Teste de aceitação Teste de segurança Teste de performance Teste de configuração Teste de regressão
  • 11. Teste de unidade É um teste que executa a menor parcela de código de um software. Na maioria das linguagens atuais, a menor parcela de código é um método.
  • 12. Teste de unidade Ajuda na rastreabilidade de bugs no sistema.
  • 13. Teste de unidade Previnem regressão do código
  • 14. Teste de unidade Incentivam a refatoração.
  • 15. Teste de unidade Servem como documentação.
  • 16. Teste de integração É aquele que integra duas ou mais partes do sistema ou com outros sistemas. Integração com banco de dados ou um webservice.
  • 17. Teste de integração Garantir que as duas partes do sistema se comuniquem corretamente.
  • 18. Teste de integração São testes de "caixa preta", o que reduz a rastreabilidade de problemas com o código (com relação ao teste unitário).
  • 19. Teste de aceitação Garante que o sistema funcione como um todo.
  • 20. Teste de aceitação Simula o teste com o usuário final.
  • 21. Qual tipo de teste usar?
  • 22. Qual tipo de teste usar? Em regras gerais (isso não é uma estatística, apenas referência)
  • 23. O que é TDD?
  • 24. O que é TDD? TDD é uma prática de desenvolvimento de software onde todo o código do sistema é escrito depois de escrever testes automatizados. "We never have enough time for testing, so let's just write the test first." (Kent Beck)
  • 25. O que é TDD? Ciclo do TDD: Vermelho-Verde-Amarelo
  • 26. O que é TDD? Só se escreve algum código novo no sistema se houver algum código de teste quebrando.
  • 27. O que é TDD? Muito além de tecnicas de "test-first" Auxilia na detecção de falhas no design do sistema. Também deve ter informações sobre o código testado. Se um teste está ficando muito complicado, é um grande indício que exista problema com o design. É hora de refatorar!!