SlideShare uma empresa Scribd logo
1 de 32
TDD, vamos
conversar um
pouco sobre
isso???
Por Jeremias Araújo
Testes também
são feitos por
Desenvolvedores
Agenda
Sobre mim
O que é Teste de Software?
Test Drive Development
Junit
Vamos Praticar?
Agradecimentos
Sobre mim
Jeremias Araújo
Analista de Testes Sr.
https://www.facebook.com/jeremia
s.queiroga
https://www.linkedin.com/in/je
remias-araujo-32417539
@Jeremias_Araujo
O que é Teste
de Software?
Teste de Software
O teste consiste em executar
o programa com a intenção
de encontrar erros (bugs).
[The Art of Software Testing – Glendford Myers, John Wiley & Son, 1979]
Teste de Software
Testamos todos os Dias...
Teste de Software
Porque Continuamos Testandor?
Teste de Software
Conceitos Básicos de Testes de
Software
Teste de Software
Equação Geral de Teste
Teste de Software
Regra de Myers
Teste de Software
Tipos de Testes
Teste de Software
MODELO V
Teste de Software
Teste no Modelo Cascata
Teste de Software
Teste no Modelo Espiral
Teste de Software
Teste em Processos Ágeis
Teste de Software
Manifesto de Testes Ágeis
Teste de Software
TDD – Test Drive Development
Test Drive Development
Porque Usar o TDD ?
Test Drive Development
TDD deve ser
Automatizado?
Test Drive Development
Pirâmide de Teste
Testes Automáticos
Mas como Ocorre...
Testes Automáticos
Testes Automáticos
Quadrante de Testes
JUnit
Testes Unitários
Asserções
 assertEquals (objetivoEsperado,
objetivoRevebido)
 assertTrue (valorBooleano)
 assertFalse (valorBooleano)
 assertNotNull (objeto)
 assertSame(objetoUm, objetoDois)
 Fail ()
Testes Unitários
SetUp() / tearDown()
Testes Unitários
Pré-Condições
Pós-Condições
Parte Prática
Parte Prática
Regras de Negócios
Parte Prática
1) Os números romanos são identificados por 5
algarismos ("I", 1) ("V", 5) ("X", 10) put("L", 50);
("C", 100); ("D", 500); ("M", 1000);
2) Os números romanos não se repetem mais de 3
vezes consecutivamente Exemplo ("II", 2) ("III",3)
3) Os algarismos romanos maiores ou iguais ao
algarismos da direita, serão somados ao algoritmo
que se encontrar a sua direita imediata.
4) Os algarismos romanos menores que o
algarismo imediatamente a direito, serão
subtraídos ao que se encontrar imediatamente a
sua direita.
Mãos na Massa....
Parte Prática
https://github.com/jqueiroga
Código
Apresentação
https://pt.slideshare.net/jeremiasqueiroga
https://www.facebook.com/jeremias.queiroga
https://www.linkedin.com/in/jeremias-araujo-32417539
@Jeremias_Araujo
Muito Obrigado!!!

Mais conteúdo relacionado

Mais procurados

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentOtavio Augusto
 
Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com  RobotiumQualidade em Aplicações Android - Automação de Testes Funcionais com  Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com RobotiumElvírio Junior
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDWillians De Paula Pereira
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnitJugVale
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterElias Nogueira
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...Rafael Chiavegatto
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Igor Abade
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoraçãoguest23778e
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para AndroidElias Nogueira
 
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?tdc-globalcode
 
Fábrica de Teste de Software - Palestrante: Marcus Dratovsky
Fábrica de Teste de Software - Palestrante: Marcus DratovskyFábrica de Teste de Software - Palestrante: Marcus Dratovsky
Fábrica de Teste de Software - Palestrante: Marcus DratovskyRio Info
 
Processo de Teste de Software
Processo de Teste de SoftwareProcesso de Teste de Software
Processo de Teste de Softwarewtmrio
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDJony Ferreira dos Santos
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustStefan Teixeira
 
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 timeElias Nogueira
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingPedro Pereira Martins
 
Teste de Software em Ti Interna
Teste de Software em Ti InternaTeste de Software em Ti Interna
Teste de Software em Ti InternaRoger Ritter
 

Mais procurados (20)

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com  RobotiumQualidade em Aplicações Android - Automação de Testes Funcionais com  Robotium
Qualidade em Aplicações Android - Automação de Testes Funcionais com Robotium
 
Lightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDDLightning talk Test-Driven Development - TDD
Lightning talk Test-Driven Development - TDD
 
Testes com JUnit
Testes com JUnitTestes com JUnit
Testes com JUnit
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Testes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e BlazemeterTestes de Performance na Nuvem com JMeter e Blazemeter
Testes de Performance na Nuvem com JMeter e Blazemeter
 
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...Testes de aceitação automatizados com robotium utilizando a técnica bdd   TDC...
Testes de aceitação automatizados com robotium utilizando a técnica bdd TDC...
 
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
Testes exploratórios não são sinônimo de bagunça! (TDC 2016 SP)
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoração
 
Automação em Wearables para Android
Automação em Wearables para AndroidAutomação em Wearables para Android
Automação em Wearables para Android
 
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
 
Fábrica de Teste de Software - Palestrante: Marcus Dratovsky
Fábrica de Teste de Software - Palestrante: Marcus DratovskyFábrica de Teste de Software - Palestrante: Marcus Dratovsky
Fábrica de Teste de Software - Palestrante: Marcus Dratovsky
 
Processo de Teste de Software
Processo de Teste de SoftwareProcesso de Teste de Software
Processo de Teste de Software
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Cultura de testes
Cultura de testesCultura de testes
Cultura de testes
 
Boas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDDBoas práticas no desenvolvimento de software através do uso de TDD
Boas práticas no desenvolvimento de software através do uso de TDD
 
Minas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com LocustMinas Testing Conference 2016 - Testes de Carga com Locust
Minas Testing Conference 2016 - Testes de Carga com Locust
 
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
 
Introdução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCastingIntrodução ao TDD nas soluções Global AppCasting
Introdução ao TDD nas soluções Global AppCasting
 
Teste de Software em Ti Interna
Teste de Software em Ti InternaTeste de Software em Ti Interna
Teste de Software em Ti Interna
 

Semelhante a TDD conversa

Testes de software para desenvolvedores de software
Testes de software para desenvolvedores de softwareTestes de software para desenvolvedores de software
Testes de software para desenvolvedores de softwareSergio Lima
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingSamanta Cicilia
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaRogerio Fontes
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de TesteElias Nogueira
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
Qualidade de Software, Conceitos Modelos e Situação Atual
Qualidade de Software, Conceitos Modelos e Situação AtualQualidade de Software, Conceitos Modelos e Situação Atual
Qualidade de Software, Conceitos Modelos e Situação AtualSidnei Viana Dos Santos
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de softwareTargettrust
 
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
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesJoaquim Lopes Júnior
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc finalJhool Flores
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 

Semelhante a TDD conversa (20)

Teste de software
Teste de softwareTeste de software
Teste de software
 
Testes de software para desenvolvedores de software
Testes de software para desenvolvedores de softwareTestes de software para desenvolvedores de software
Testes de software para desenvolvedores de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
TesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdfTesteDeSoftware_WorkshopSINFO2014.pdf
TesteDeSoftware_WorkshopSINFO2014.pdf
 
Testes
TestesTestes
Testes
 
Coders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile TestingCoders On Beer + Ministry Of Testing - Agile Testing
Coders On Beer + Ministry Of Testing - Agile Testing
 
O que é Teste de Software?
O que é Teste de Software?O que é Teste de Software?
O que é Teste de Software?
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
BDD - Behaviour Driven Development
BDD - Behaviour Driven DevelopmentBDD - Behaviour Driven Development
BDD - Behaviour Driven Development
 
Automação no Processo de Teste
Automação no Processo de TesteAutomação no Processo de Teste
Automação no Processo de Teste
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
Qualidade de Software, Conceitos Modelos e Situação Atual
Qualidade de Software, Conceitos Modelos e Situação AtualQualidade de Software, Conceitos Modelos e Situação Atual
Qualidade de Software, Conceitos Modelos e Situação Atual
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste de software
 
T@rget trust curso de introdução ao processo de teste de software
T@rget trust   curso de introdução ao processo de teste de softwareT@rget trust   curso de introdução ao processo de teste de software
T@rget trust curso de introdução ao processo de teste 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
 
Qualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testesQualidade de Software - Desenvolvimento dirigido por testes
Qualidade de Software - Desenvolvimento dirigido por testes
 
Apresentação tcc final
Apresentação tcc finalApresentação tcc final
Apresentação tcc final
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 

TDD conversa

Notas do Editor

  1. Perguntar nesse momento: - Quantas pessoas presentes são da área de Testes? Quantas são devs? Dos presensentes tem alguma noção sobre Testes de Software, fora os da área é claro.. Hehehhe?
  2. Testamos receitas Testamos roupas Testamos carro Testamos um brinquedo novo qdo crianças Testamos (ensaios) de orquestra Fazemos Teste de Sangue Para entra na faculdade, testamos nossos conhecimentos
  3. Testes ficava esperando as fases de Analises e Especificação de requisito para iniciar a elaboração do Plano e Criação dos Casosd e Testes. Após a fase de implementação os testes entram em ação. PORÉM isso nunca foi tão simples assim... Caso na fase de desenvolvimento haja um atraso, os testes eram comprometidos, principalmente pelo prazo apertado, não ter mais tempo para prorrogar, logo os testes perdiam dias para execução, não dando tempo para testar tudo. Acarretando que bug fossem entregues ao cliente, comprometendo a qualidade do produto.
  4. No modelo Espiral as coisas começaram a mudar. As fases eram divididas em pequenos ciclos, dai veio as necessidades de repetições de testes, pois a cada ciclo os testes eram reexecutados. Iniciou nesse modelo a necessidade de iniciar a automatiza alguns cenários de testes, principalemente os testes de regressão.
  5. Daí apareceu a era Ágil.... Mais do que nunca quem trabalhava com qualidade/Teste de software sofreu novo impacto em seu modo de trabalho. No ágil acabou-se a documentação em massa. Agora so documento o necessário. As Sprints são curtas, mas ao fim tem que ter algo integrável e com qualidade. Não há mais a separação de papeis da equipe. Agora é equipe SCRUM A automação de testes é peça FUNDAMENTAL para sobrevivência da equipe de Qualidade Àgil
  6. Testar por todas as etapas VERSUS no final Prevenir Bugs VERSUS procurar bugs Testar o entendimento VERSUS checar funcionalidades Construir o melhor sistema VERSUS bloquear o sistema Times responsável pela qualidade VERSUS responsabilidade dos Testador
  7. Feedback mais rápido Melhor organização: Custos reduzidos: Maior eficiência: Maior cobertura geral dos testes: Reaproveitamento de scripts:  Documentação e mensuração da qualidade: Motivação renovada:  Liberação para o mercado mais rápida: Segurança de informação: