WebCamps Software Testing

Preview:

Citation preview

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?

Você escreve testes?

Codifica

ErraDebuga

Como escrevemos software?

Primeiro implementamos

Classes altamente acopladas

Código Confuso

Código que precisa de comentários

Código que precisa de documentação

Código que precisa de explicação

Isso gera... Bugs.. Muitos Bugs

Isso gera... Medo.. Muito medo

Fator Motivação

Tem como ser produtivo assim?

Maneira de garantir que o software realiza o esperado E

Está de acordo com os requisitos

O que são testes?

Para ter certeza de que funciona.

Porque testar?

Porque não testar?

Eu sou Jedi! Eu sou Sênior!

Não temos TEMPO!

Você NÃO é bom o suficiente!

Acredite..

“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..

“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

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

Testar é necessário

É 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

Fast

Independent

Repeatable

Self-Validating

Timely

Principios F.I.R.S.T

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

Desvantagens

DEMO

Unidade X Integração

Test Driven Development

Red

GreenRefactor

Recommended