por que não (não testar)? - dtsato.com · por que não testar? • “É muito difícil” /...

42
Por que não (não testar)? Danilo Sato www.dtsato.com

Upload: vuongque

Post on 09-Dec-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Por que não (não testar)?

Danilo Satowww.dtsato.com

Quem sou eu?

• Graduação/Mestrado no IME-USP

• AgilCoop

• ThoughtWorks UK

• Fundador do Dojo@SP

Por que não testar?

Por que não testar?

• “É muito difícil” / “Eu não sei como”

Por que não testar?

• “É muito difícil” / “Eu não sei como”

• “Preciso terminar isso agora!”

Por que não testar?

• “É muito difícil” / “Eu não sei como”

• “Preciso terminar isso agora!”

• “Meu código funciona!”

Por que não testar?

• “É muito difícil” / “Eu não sei como”

• “Preciso terminar isso agora!”

• “Meu código funciona!”

• “Tenho que programar o dobro”

Por que não testar?

• “É muito difícil” / “Eu não sei como”

• “Preciso terminar isso agora!”

• “Meu código funciona!”

• “Tenho que programar o dobro”

• “Não é problema meu...”

E se eu não testar?

E se eu não testar?

• Trabalho manual

E se eu não testar?

• Trabalho manual

• Como o sistema funciona?

E se eu não testar?

• Trabalho manual

• Como o sistema funciona?

• Refatorar? Migrar?

E se eu não testar?

• Trabalho manual

• Como o sistema funciona?

• Refatorar? Migrar?

• Problemas de regressão / manutenção

E se eu não testar?

• Trabalho manual

• Como o sistema funciona?

• Refatorar? Migrar?

• Problemas de regressão / manutenção

• Big Ball of Mud

E se eu não testar?

• Trabalho manual

• Como o sistema funciona?

• Refatorar? Migrar?

• Problemas de regressão / manutenção

• Big Ball of Mud

• Debug

Qualidade

Qualidade

“Work smarter, not harder”

Qualidade

“Inspecionar para previnir defeitos é bom; Inspecionar para encontrar defeitos é desperdício”

-- Shigeo Shingo, “The Toyota Production System”

“Work smarter, not harder”

Qualidade

“Inspecionar para previnir defeitos é bom; Inspecionar para encontrar defeitos é desperdício”

-- Shigeo Shingo, “The Toyota Production System”

“Work smarter, not harder”

Auto-inspeção (mistake-proof)

Diferentes SaboresSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Diferentes Sabores

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Diferentes Sabores

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

script.aculo.us

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

Selenium

WatirSahi

FITFitnesse

script.aculo.us

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

Selenium

WatirSahi

RSpec JBehave

FITFitnesse

script.aculo.us

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

Selenium

WatirSahi

RSpec JBehave

FITFitnesse

script.aculo.us

HTML Validator

CSS Validator

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

Selenium

WatirSahi

RSpec JBehave

FITFitnesse

script.aculo.us

HTML Validator

CSS Validator

httperfSiege

JMeter

Nikto/WiktoNessus

Ferramentas

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

JUnit Test::Unit

PyUnitxUnit

Selenium

WatirSahi

RSpec JBehave

FITFitnesse

script.aculo.us

HTML Validator

CSS Validator

httperfSiege

JMeter

Nikto/WiktoNessus

http://www.softwareqatest.com/qatweb1.html

Um caminho a trilhar...

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Um caminho a trilhar...

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Um caminho a trilhar...

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Um caminho a trilhar...

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

Um caminho a trilhar...

Teste de HistóriaTeste de Aceitação

(Design do Produto)

Teste de UsabilidadeTeste Exploratório

Teste de UnidadeTeste Funcional/Integração

(Design do Código)

Teste de CargaTeste de SegurançaTeste CombinatórioSu

port

e à

prog

ram

ação C

rítica ao Produto

Perspectiva da Tecnologia

Perspectiva do Negócio

DEMO(Selenium)

Dojo de Programação

Dojo@SP

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp

Dojo de Programação

Dojo@SP

http://groups.google.com/group/dojo_sp