SlideShare uma empresa Scribd logo
Testes de Software

Conceitos, Benefícios e Aplicabilidade
Diogo Damiani

Desenvolvedor de Software

Estudante compulsivo de Arquitetura de Software e
Boas Práticas de Desenvolvimento.
Tipos de Testes
Unitários
Integrados
Regressão
Funcionais
  Stress
    ...
Unitários
Integrados
Regressão
Funcionais
  Stress
    ...
Teste Unitário


“É um código executável que testa uma
   unidade funcional do software”

    Geralmente uma classe, um método.
Por que testes?
“Testes são documentação executável”
“Testes garantem a mudança sem medo”
Desculpas para não escrever testes...
Não tenho tempo para isso!
                             Pode piorar!
Vou demorar muito mais!
                          Depende!
Código legado é impossível de testar!
                                    Mito!
Isso é responsabilidade do testador!
                               Nem sempre!
Compila! Logo, funciona!
      O compilador é só mais um teste, quando existe!
Consequências da Falta de Testes
“Desenvolvedor que não faz testes é como
   um cirurgião que não lava as mãos”




                          Uncle Bob (Robert C. Martin)
“Software sem testes dá medo!”




                           Giovanni Bassi
Teste Unitários e TDD
Teste Unitários e TDD
Teste Unitários e TDD
Teste Unitários e TDD
Para testar, o software tem que ser
              testável!


SRP
Separação de Reponsabilidades
Coesão
Inversão de Controle
Injeção de Dependência
...
TDD

Test Driven Development
TDD

“É uma técnica para desenvolvimento
de software cujo processo é formado
por pequenas iterações e os testes são
         escritos primeiro”

Não é um método para testar software, mas
       para (re)construir software!
Teste Unitários e TDD
Teste Unitários e TDD
Teste Unitários e TDD
Benefícios dos Testes
TDD: garante a existência de testes
            unitários
                  Oba! Ganhei um conjunto de testes!
Diminui a quantidade de erros
                    Mais qualidade de código!
Testes servem como especificação
                  Agora eu sei como isso funciona!
Melhora a arquitetura do software
                   Mais desacoplamento e coesão!
Princípios
Testes devem ser isolados
     Um teste não deve depender do sucesso do outro!
Testes devem ser limpos
    Legibilidade = clareza + simplicidade + consistência
Um conceito e uma confirmação por teste
                        Uma análise, uma conclusão
Ferramentas
Teste Unitários e TDD
Teste Unitários e TDD

Mais conteúdo relacionado

PPTX
Testes de Software - Fundamentos
PPTX
XP Programming
PPTX
TDD (Test-Driven Development)
PDF
Meus 50 Cents sobre Teste de Software
PPTX
Teste de software
PPT
O que é Teste de Software?
PDF
Desenvolvimento orientado a testes
Testes de Software - Fundamentos
XP Programming
TDD (Test-Driven Development)
Meus 50 Cents sobre Teste de Software
Teste de software
O que é Teste de Software?
Desenvolvimento orientado a testes

Mais procurados (20)

PPTX
Testes de Caixa Branca e Métricas de Código
PPT
TDD - Test Driven Development com JAVA
PPTX
Teste de Software
PDF
Boas práticas no desenvolvimento de software
PPT
Testes De Software - Uma Visão Geral
PDF
Test-Driven Develpment - TDD
PDF
Test driven development teste e design no mundo real by mauricio aniche (z-li...
PPTX
Palestra Teste de Software: princípios, ferramentas e carreira
PPTX
TDD - Test Driven Development
PPT
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
PPT
Teste de software
PPTX
Palestra tdd - rsjug
PPTX
TDD Desenvolvimento orientado ao teste
PPT
Final Project (2013): Test-Driven Development applied on web applications
PDF
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
PDF
Introdução a Testes de Software - Unidade I
PPT
Engenharia de Testes
PDF
TDD - Pós Graduação em Engenharia de Software Ágil
PPTX
Test Driven Development
Testes de Caixa Branca e Métricas de Código
TDD - Test Driven Development com JAVA
Teste de Software
Boas práticas no desenvolvimento de software
Testes De Software - Uma Visão Geral
Test-Driven Develpment - TDD
Test driven development teste e design no mundo real by mauricio aniche (z-li...
Palestra Teste de Software: princípios, ferramentas e carreira
TDD - Test Driven Development
PHPHEDERAL - Desenvolvimento Orientado a Testes com PHP
Teste de software
Palestra tdd - rsjug
TDD Desenvolvimento orientado ao teste
Final Project (2013): Test-Driven Development applied on web applications
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Introdução a Testes de Software - Unidade I
Engenharia de Testes
TDD - Pós Graduação em Engenharia de Software Ágil
Test Driven Development
Anúncio

Semelhante a Teste Unitários e TDD (20)

PPT
Desenvolvimento Guiado Por Testes
KEY
Qualidade no desenvolvimento de Software com TDD e PHPUnit
PPTX
Paletra sobre TDD, ocorrida no #DevDojo
PPTX
Introdução a TDD
PDF
Desenvolvimento Guiado por Testes
PDF
Tdd na veia
PPT
Test driven development
PPTX
Apresentacao Testes de Unidade
PPTX
TDD (Resumo)
PPTX
Test-Driven Development
PPT
Tdd e projeto_comperio
KEY
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
PDF
Desenvolvimento em .Net - Testes Unitários
PPTX
Teste de software
PDF
Introdução ao TDD
PPTX
Desenvolvimento orientado a testes - TDD
PPTX
Teste Driven Development
PPTX
Desenvolvimento Dirigido por Testes
PDF
Boas práticas no desenvolvimento de software através do uso de TDD
Desenvolvimento Guiado Por Testes
Qualidade no desenvolvimento de Software com TDD e PHPUnit
Paletra sobre TDD, ocorrida no #DevDojo
Introdução a TDD
Desenvolvimento Guiado por Testes
Tdd na veia
Test driven development
Apresentacao Testes de Unidade
TDD (Resumo)
Test-Driven Development
Tdd e projeto_comperio
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento em .Net - Testes Unitários
Teste de software
Introdução ao TDD
Desenvolvimento orientado a testes - TDD
Teste Driven Development
Desenvolvimento Dirigido por Testes
Boas práticas no desenvolvimento de software através do uso de TDD
Anúncio

Último (11)

PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Jira Software projetos completos com scrum
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Utilizando code blockes por andre backes
PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Eng. Software - pontos essenciais para o início
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Jira Software projetos completos com scrum
Manejo integrado de pragas na cultura do algodão
Utilizando code blockes por andre backes
Conceitos básicos de Redes Neurais Artificiais
Viasol Energia Solar -Soluções para geração e economia de energia

Teste Unitários e TDD