Testes com xUnit------------------------------------------------------
Letticia Nicoli Paula Santos
Letticia Nicoli
● Desenvolvedora na Lambda3● [email protected]● @LetticiaNicoli
Quem somos
Paula Santos
● Desenvolvedora na Cubo Tecnologia● [email protected]● https://www.linkedin.com/in/pcrissantos/
MAIS SÉRIO DO QUE PARECE ...
Autodestruição ativada
O primeiro lançamento do foguete Ariane 5 falhou 37 segundos após sair do solo causando sua destruição.
Motivo: mau funcionamento no software de controle.
O valor de ponto flutuante era muito grande para ser representado por um inteiro de 16 bits.
Fonte:en.wikipedia.org/wiki/Ariane_5
Pareceu malware, mas não era
Em 2009, foi adicionada uma barra invertida em todas as URLs que eram direcionadas para o buscador da empresa.
Resultado: o site foi sinalizado como malware no mundo todo por cerca de 1 hora
Gerou prejuízo total de quase US$ 3 milhões
➔ Tempo➔ Planejamento➔ Hábito➔ Trabalhoso➔ Conflito com a área de negócios
Por que deixamos os testes para depois/nunca ?
➔ Retrabalho➔ Virar a noite codando➔ Alterar código antes da review➔ Encontrar bug minutos antes do deploy➔ Cobrir apenas o happy path
Impactos
ENTÃO ….
COMECE A TESTAR
Tipos de Testes
➔ Funcional
Tem o objetivo de validar as funcionalidades descritas na documentação.
➔ Interface
Testa se objetos de tela e a navegabilidade funcionam conforme o especificado.
➔ Regressão
Ocorre quando é feita alguma alteração na aplicação, por exemplo, uma nova funcionalidade. Neste caso a recomendação é executar todos os testes novamente.
Existem diversos tipos de testes de software. Os mais comuns são:
UNIDADE
INTEGRAÇÃO
UI
TESTES MANUAIS
Testes Unitários
➔ Testar a menor unidade de código possível, podendo ser uma classe ou um método.
➔ Mostrar que cada unidade atende corretamente sua especificação.
Testes Unitários
➔ A implementação é de responsabilidade do desenvolvedor, por se tratar de um teste com foco direto no código.
➔ Devem ser formulados para garantir que todos os pontos do fluxo a ser testado sejam verificados ao menos uma vez durante o teste.
Frameworks
Existem hoje no mercado vários frameworks de teste para a plataforma .NET. Podemos citar alguns:
➔ MsTest: É a biblioteca de testes padrão do .NET integrada ao Visual Studio.
➔ NUnit: Projeto open source derivado do JUnit, que é um framework de testes para Java.
➔ xUnit.net: É biblioteca de testes também open source que surgiu como uma evolução do NUnit para testar linguagens da plataforma .NET (C#, VB.NET, F# e outras).
Programação Orientada a Testes
TDD (Test-Driven Development)
➔ Escreva testes antes mesmo de escrever o código de produção
➔ Assegurar que boa parte do seu sistema tenha um teste que garanta o seu funcionamento
Como funciona?
➔ Escreva um teste que falha, faça-o passar da maneira mais simples possível e, por fim, refatore o código.
➔ Esse ciclo é conhecido como Ciclo Vermelho-Verde-Refatora.
O que eu ganho?
➔ Agilidade nos testes automatizados (mais rápido que testes manuais);
➔ Menor quantidade de bugs;
➔ Redução de custos com manutenção;
➔ Segurança ao desenvolvedor na hora de mudanças;
➔ Auxilia na documentação do sistema, pois o teste indica qual deve ser
o comportamento esperado para a unidade a ser testada;
➔ Código de produção de qualidade;
Se está difícil escrever um teste automatizado, é porque provavelmente o código de produção está complicado !
CODING DOJO
DESENVOLVEDORES REUNIDOS PARA RESOLVER
UM DESAFIO
NÃO É UMA COMPETIÇÃO !
EXPERIMENTAR e TESTAR
TODOS PARTICIPAM
Piloto e Co-Piloto
Todos podem participar
5 minutos
Randori Kata
PLATÉIA FICA EM SILÊNCIO ENQUANTO ALGUM DOS TESTES
NÃO ESTIVER PASSANDO
RETROSPECTIVA
AVALIAÇÃO
PONTOS POSITIVOS E NEGATIVOS
Desafio
Ano BissextoUm ano é bissexto se ele for divisível por 400
ou se ele for divisível por 4 e não por 100.
Exemplos de anos Bissexto: 1980, 1984, 1988, 1992, 1996 e 2000.
Sugestões
tdd.caelum.com.br
Referências
➔ http://testesdesoftware.com/tipos-de-teste-de-software/
➔ http://bit.ly/TesteUnitarioTesteIntegrado
➔ http://bit.ly/TestesUnitarios-xUnit
➔ http://bit.ly/TestesUnitarios
➔ http://www.codeatest.com/testes-unitarios-porque-escrever/
Obrigada !------------------------------------------------------
Letticia NicoliPaula Santos
Top Related