SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
#1 - Introdução: O que é Teste Unitário?
Software Developer: Maycon Pires
O que é Teste Unitário?
• Teste Unitário de Software é a criação de um código
que testa o funcionamento do código que é utilizado
pelo usuário do sistema.
• Em outras palavras, é a criação de um pequeno
programa que usa uma pequena parte do seu sistema
para garantir o correto funcionamento.
Metáfora
• É criar um pequeno bloco que usa o
bloco “oficial”. Caso o encaixe seja
perfeito, o bloco passou no teste,
caso não, falhou.
• Responde a pergunta:
A fôrma do bloco está correta?
Como Fazer?
As duas principais formas são:
1. TDD - Test Driven Development (Desenvolvimento Guiado Por Teste Unitário)
2. TLD - Test Last Development (Teste Unitário Feito Depois do Desenvolvimento)
TDD - Desenvolvimento Guiado Por Teste Unitário
O TDD em síntese segue 3 passos em ciclos:
1. Codifique um Método que Testa o Retorno de uma Pequena parte do Programa
que ainda NÃO Existe. Isso gera um ERRO no software.
2. Codifique a Parte que Não Existe, e Execute o 1º Passo. O retorno deve ser
SUCESSO.
3. Refatore (Melhore) o Código que Foi Criado no 2º Passo, e Execute o 1º Passo
Novamente. O retorno deve ser SUCESSO.
TLD - Teste Depois do Desenvolvimento
O TLD em síntese segue 3 passos:
1. Codifique uma Parte do Programa ou Toda a Funcionalidade.
2. Codifique o Teste Unitário para Cada Pequena Parte do Seu Programa. Execute o
Teste. O retorno deve ser SUCESSO.
3. Refatore (Melhore) o Código que Foi Criado no 1º Passo, e Execute o 2º Passo
Novamente. O retorno deve ser SUCESSO.
Benefícios Gerados
1. Defende a Imagem da Empresa no Mercado
2. Diminui a Possibilidade Perda Financeira
3. Predestina o Software a Seguir as Boas Práticas de Desenvolvimento
4. Aumenta a Manutenibilidade do Software,
o que Diminui o Custo
5. Gera Teste de Regressão, garante que o novo
não gerou bugs colaterais
Bibliografia
• Livro: Código Limpo - Robert Martin
• https://pt.wikipedia.org/wiki/Teste_de_regress%C3%A3o
• https://pt.wikipedia.org/wiki/Manutenibilidade
• https://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o
Crédito pelas Imagens CC
lbinic
https://www.flickr.com/photos/69709362@N00/
Lego
https://www.flickr.com/photos/69709362@N00/14214084564/in/photolist-nE3U8w-bBm9i
D-pNnrD6-rck99y-rpBi65-by9tdr-djfw7W-9r4B2z-hYJs6J-efDuts-94W26Q-qAhpy2-rcTY6S
-63Zt74-bwJ6Dd-qA9KE3-hYJWTx-c5su43-qAhpox-r2AoWu-ocFKSi-9471aV-bssgzt-qKo
eU2-dMMcYr-rnRhP4-cj8PRJ-dxRZXT-7L26jY-6fK3XX-ddhpDe-b7ak8e-nKm56R-bmXJV
u-7DTmZt-aDDUEt-e2W2WG-99KvXz-pr2sNF-7Gd52g-fHSiNE-rDT7c1-8VHUxN-a9FhU
m-dbeqrg-ou9MUY-jfQ5Ng-9r7z7q-capKLJ-oZ4sYa
Pictures Money
https://www.flickr.com/photos/pictures-of-money/
https://www.flickr.com/photos/pictures-of-money/17123240849/
Obrigado
Muito obrigado pelo seu tempo e te convido a praticar o teste
unitário para aumentar a qualidade dos softwares da nossa
indústria.
Autor
Maycon Pires - Software Developer
”Trabalho com desenvolvimento há 12 anos em
projetos Web e Business Intelligence. Ensinar e
aprender são meu combustível nessa jornada de
criação de soluções com software.”

Mais conteúdo relacionado

Mais procurados

TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeRafaela Prado
 
A importância de utilizar testes automatizados
A  importância   de utilizar  testes automatizadosA  importância   de utilizar  testes automatizados
A importância de utilizar testes automatizadosDiego Allan Oliveira
 
Aula 01 engenharia de software
Aula 01   engenharia de softwareAula 01   engenharia de software
Aula 01 engenharia de softwareelisanesteilmann
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDDKleber Bernardo
 
Tech talk clean architecture and_pyramid_test
Tech talk clean architecture and_pyramid_testTech talk clean architecture and_pyramid_test
Tech talk clean architecture and_pyramid_testVictor Yuri Alves Tripeno
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Bruno Maomeh
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareConviso Application Security
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Danilo Pinotti
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDDDiana Ungaro Arnos
 
Testando para continuous delivery com visual studio 2012
Testando para continuous delivery com visual studio 2012Testando para continuous delivery com visual studio 2012
Testando para continuous delivery com visual studio 2012Alan Correa Morais
 
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 softwareAriane Izac
 
TDD - Desenvolvendo softwares orientado à testes
TDD - Desenvolvendo softwares orientado à testesTDD - Desenvolvendo softwares orientado à testes
TDD - Desenvolvendo softwares orientado à testesThiago Lunardi
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesDiana Ungaro Arnos
 

Mais procurados (20)

TDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao testeTDD Desenvolvimento orientado ao teste
TDD Desenvolvimento orientado ao teste
 
Automação de Testes
Automação de TestesAutomação de Testes
Automação de Testes
 
A importância de utilizar testes automatizados
A  importância   de utilizar  testes automatizadosA  importância   de utilizar  testes automatizados
A importância de utilizar testes automatizados
 
Aula 01 engenharia de software
Aula 01   engenharia de softwareAula 01   engenharia de software
Aula 01 engenharia de software
 
Test-Driven Develpment - TDD
Test-Driven Develpment - TDDTest-Driven Develpment - TDD
Test-Driven Develpment - TDD
 
Tech talk clean architecture and_pyramid_test
Tech talk clean architecture and_pyramid_testTech talk clean architecture and_pyramid_test
Tech talk clean architecture and_pyramid_test
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016Palestra TDD - TDC - 2016
Palestra TDD - TDC - 2016
 
Desenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por TestesDesenvolvimento Guiado Por Testes
Desenvolvimento Guiado Por Testes
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
 
Integrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de softwareIntegrando testes de segurança ao processo de desenvolvimento de software
Integrando testes de segurança ao processo de desenvolvimento de software
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2
 
Testes: existe vida antes do TDD
Testes: existe vida antes do TDDTestes: existe vida antes do TDD
Testes: existe vida antes do TDD
 
Testando para continuous delivery com visual studio 2012
Testando para continuous delivery com visual studio 2012Testando para continuous delivery com visual studio 2012
Testando para continuous delivery com visual studio 2012
 
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
 
SAPO Session: Continuous Integration
SAPO Session: Continuous IntegrationSAPO Session: Continuous Integration
SAPO Session: Continuous Integration
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
TDD - Desenvolvendo softwares orientado à testes
TDD - Desenvolvendo softwares orientado à testesTDD - Desenvolvendo softwares orientado à testes
TDD - Desenvolvendo softwares orientado à testes
 
PHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de TestesPHPExperience 2016 - Pirâmide de Testes
PHPExperience 2016 - Pirâmide de Testes
 

Semelhante a #1 - O que é Teste Unitário

Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágilGilberto Gampert
 
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 Geralpaulo peres
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de TestesUFPA
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Fernando Palma
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninDevInPF
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 
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.pdfRonaldAlves15
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtareFernando Palma
 

Semelhante a #1 - O que é Teste Unitário (20)

SLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptxSLIDEPRELIMINAR.pptx
SLIDEPRELIMINAR.pptx
 
Verificação, validação e teste de software ágil
Verificação, validação e teste de software ágilVerificação, validação e teste de software ágil
Verificação, validação e teste de software ágil
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste 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
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Engenharia de Testes
Engenharia de TestesEngenharia de Testes
Engenharia de Testes
 
Teste de Software - Introdução
Teste de Software - IntroduçãoTeste de Software - Introdução
Teste de Software - Introdução
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1Validação e Testes de Software - MOD1
Validação e Testes de Software - MOD1
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline ZaninFundamentos de Teste de Software - Dev in PF. por Aline Zanin
Fundamentos de Teste de Software - Dev in PF. por Aline Zanin
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
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
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Introdução a testes de sofwtare
Introdução a testes de sofwtareIntrodução a testes de sofwtare
Introdução a testes de sofwtare
 
Eng de testes
Eng de testesEng de testes
Eng de testes
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 

#1 - O que é Teste Unitário

  • 1. #1 - Introdução: O que é Teste Unitário? Software Developer: Maycon Pires
  • 2. O que é Teste Unitário? • Teste Unitário de Software é a criação de um código que testa o funcionamento do código que é utilizado pelo usuário do sistema. • Em outras palavras, é a criação de um pequeno programa que usa uma pequena parte do seu sistema para garantir o correto funcionamento.
  • 3. Metáfora • É criar um pequeno bloco que usa o bloco “oficial”. Caso o encaixe seja perfeito, o bloco passou no teste, caso não, falhou. • Responde a pergunta: A fôrma do bloco está correta?
  • 4. Como Fazer? As duas principais formas são: 1. TDD - Test Driven Development (Desenvolvimento Guiado Por Teste Unitário) 2. TLD - Test Last Development (Teste Unitário Feito Depois do Desenvolvimento)
  • 5. TDD - Desenvolvimento Guiado Por Teste Unitário O TDD em síntese segue 3 passos em ciclos: 1. Codifique um Método que Testa o Retorno de uma Pequena parte do Programa que ainda NÃO Existe. Isso gera um ERRO no software. 2. Codifique a Parte que Não Existe, e Execute o 1º Passo. O retorno deve ser SUCESSO. 3. Refatore (Melhore) o Código que Foi Criado no 2º Passo, e Execute o 1º Passo Novamente. O retorno deve ser SUCESSO.
  • 6. TLD - Teste Depois do Desenvolvimento O TLD em síntese segue 3 passos: 1. Codifique uma Parte do Programa ou Toda a Funcionalidade. 2. Codifique o Teste Unitário para Cada Pequena Parte do Seu Programa. Execute o Teste. O retorno deve ser SUCESSO. 3. Refatore (Melhore) o Código que Foi Criado no 1º Passo, e Execute o 2º Passo Novamente. O retorno deve ser SUCESSO.
  • 7. Benefícios Gerados 1. Defende a Imagem da Empresa no Mercado 2. Diminui a Possibilidade Perda Financeira 3. Predestina o Software a Seguir as Boas Práticas de Desenvolvimento 4. Aumenta a Manutenibilidade do Software, o que Diminui o Custo 5. Gera Teste de Regressão, garante que o novo não gerou bugs colaterais
  • 8. Bibliografia • Livro: Código Limpo - Robert Martin • https://pt.wikipedia.org/wiki/Teste_de_regress%C3%A3o • https://pt.wikipedia.org/wiki/Manutenibilidade • https://pt.wikipedia.org/wiki/Refatora%C3%A7%C3%A3o
  • 9. Crédito pelas Imagens CC lbinic https://www.flickr.com/photos/69709362@N00/ Lego https://www.flickr.com/photos/69709362@N00/14214084564/in/photolist-nE3U8w-bBm9i D-pNnrD6-rck99y-rpBi65-by9tdr-djfw7W-9r4B2z-hYJs6J-efDuts-94W26Q-qAhpy2-rcTY6S -63Zt74-bwJ6Dd-qA9KE3-hYJWTx-c5su43-qAhpox-r2AoWu-ocFKSi-9471aV-bssgzt-qKo eU2-dMMcYr-rnRhP4-cj8PRJ-dxRZXT-7L26jY-6fK3XX-ddhpDe-b7ak8e-nKm56R-bmXJV u-7DTmZt-aDDUEt-e2W2WG-99KvXz-pr2sNF-7Gd52g-fHSiNE-rDT7c1-8VHUxN-a9FhU m-dbeqrg-ou9MUY-jfQ5Ng-9r7z7q-capKLJ-oZ4sYa Pictures Money https://www.flickr.com/photos/pictures-of-money/ https://www.flickr.com/photos/pictures-of-money/17123240849/
  • 10. Obrigado Muito obrigado pelo seu tempo e te convido a praticar o teste unitário para aumentar a qualidade dos softwares da nossa indústria.
  • 11. Autor Maycon Pires - Software Developer ”Trabalho com desenvolvimento há 12 anos em projetos Web e Business Intelligence. Ensinar e aprender são meu combustível nessa jornada de criação de soluções com software.”