WebCamps Software Testing

32

Transcript of WebCamps Software Testing

Page 1: WebCamps Software Testing
Page 2: WebCamps Software Testing
Page 3: WebCamps Software Testing

Rodrigo Vidal

Twitter: @rodrigovidal

www.rodrigovidal.net

Foco em Arquitetura de Software, Boas Práticas, TDD, DDD

Evangelista de Linguagem F#

Professional Scrum Developer

Microsoft Student Partner

Quem sou eu?

Page 4: WebCamps Software Testing

Você escreve testes?

Page 5: WebCamps Software Testing

Codifica

ErraDebuga

Como escrevemos software?

Page 6: WebCamps Software Testing

Primeiro implementamos

Page 7: WebCamps Software Testing

Classes altamente acopladas

Page 8: WebCamps Software Testing

Código Confuso

Page 9: WebCamps Software Testing

Código que precisa de comentários

Page 10: WebCamps Software Testing

Código que precisa de documentação

Page 11: WebCamps Software Testing

Código que precisa de explicação

Page 12: WebCamps Software Testing

Isso gera... Bugs.. Muitos Bugs

Page 13: WebCamps Software Testing

Isso gera... Medo.. Muito medo

Page 14: WebCamps Software Testing

Fator Motivação

Page 15: WebCamps Software Testing

Tem como ser produtivo assim?

Page 16: WebCamps Software Testing

Maneira de garantir que o software realiza o esperado E

Está de acordo com os requisitos

O que são testes?

Page 17: WebCamps Software Testing

Para ter certeza de que funciona.

Porque testar?

Page 18: WebCamps Software Testing

Porque não testar?

Page 19: WebCamps Software Testing

Eu sou Jedi! Eu sou Sênior!

Page 20: WebCamps Software Testing

Não temos TEMPO!

Page 21: WebCamps Software Testing

Você NÃO é bom o suficiente!

Acredite..

Page 22: WebCamps Software Testing

“Escrever testes demora muito, eu poderia ja ter implementado direto.”

Sobrinho

Mito..

Não escrever testes te dá uma falsa sensação de velocidade

Verdade..

Page 23: WebCamps Software Testing

“Escrever código sem testes é como um cirurgião que não lava aos mãos antes de uma operação”

Robert “UncleBob” Martin

Testar é necessário

Page 24: WebCamps Software Testing

“Não escrever testes é anti-ético”Autor desconhecido

Testar é necessário

Page 25: WebCamps Software Testing

É um trecho de codigo que executa outro.

Verifica a exatidão de pressupostos

Caso os pressuspostos estejam errados o teste falha, caso contrário o teste passa.

Testes de Unidade

Page 26: WebCamps Software Testing

Fast

Independent

Repeatable

Self-Validating

Timely

Principios F.I.R.S.T

Page 27: WebCamps Software Testing

Provém feedback real-time

Tendem a melhorar o design da aplicação

Contribuem para refatorações

Servem como exemplos de utilização da sua API

Se está dificil testar, pode melhorar.

Vantagens

Page 28: WebCamps Software Testing

Desvantagens

Page 29: WebCamps Software Testing

DEMO

Page 30: WebCamps Software Testing

Unidade X Integração

Page 31: WebCamps Software Testing

Test Driven Development

Red

GreenRefactor

Page 32: WebCamps Software Testing