O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Próximos SlideShares
Entendendo Xamarin.Forms V2
Avançar
Transfira para ler offline e ver em ecrã inteiro.

Compartilhar

Testes com xUnit + Coding Dojo

Baixar para ler offline

Palestra realizada sobre a importância dos testes, testes unitários e TDD.

Testes com xUnit + Coding Dojo

  1. 1. Testes com xUnit------------------------------------------------------ Letticia Nicoli Paula Santos
  2. 2. Letticia Nicoli ● Desenvolvedora na Lambda3 ● letticia.nicoli@gmail.com ● @LetticiaNicoli Quem somos Paula Santos ● Desenvolvedora na Cubo Tecnologia ● paulacs21@hotmail.com ● https://www.linkedin.com/in/pcrissantos/
  3. 3. MAIS SÉRIO DO QUE PARECE ...
  4. 4. 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
  5. 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
  6. 6. ➔ Tempo ➔ Planejamento ➔ Hábito ➔ Trabalhoso ➔ Conflito com a área de negócios Por que deixamos os testes para depois/nunca ?
  7. 7. ➔ Retrabalho ➔ Virar a noite codando ➔ Alterar código antes da review ➔ Encontrar bug minutos antes do deploy ➔ Cobrir apenas o happy path Impactos
  8. 8. ENTÃO …. COMECE A TESTAR
  9. 9. 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:
  10. 10. UNIDADE INTEGRAÇÃO UI TESTES MANUAIS
  11. 11. 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.
  12. 12. 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.
  13. 13. 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).
  14. 14. 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
  15. 15. 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.
  16. 16. 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 !
  17. 17. CODING DOJO
  18. 18. DESENVOLVEDORES REUNIDOS PARA RESOLVER UM DESAFIO
  19. 19. NÃO É UMA COMPETIÇÃO ! EXPERIMENTAR e TESTAR TODOS PARTICIPAM
  20. 20. Piloto e Co-Piloto Todos podem participar 5 minutos Randori Kata
  21. 21. PLATÉIA FICA EM SILÊNCIO ENQUANTO ALGUM DOS TESTES NÃO ESTIVER PASSANDO
  22. 22. RETROSPECTIVA AVALIAÇÃO PONTOS POSITIVOS E NEGATIVOS
  23. 23. Desafio Ano Bissexto Um 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.
  24. 24. Sugestões tdd.caelum.com.br
  25. 25. 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/
  26. 26. Obrigada !------------------------------------------------------ Letticia Nicoli Paula Santos
  • TalitaCypriano1

    Mar. 7, 2017

Palestra realizada sobre a importância dos testes, testes unitários e TDD.

Vistos

Vistos totais

646

No Slideshare

0

De incorporações

0

Número de incorporações

3

Ações

Baixados

6

Compartilhados

0

Comentários

0

Curtir

1

×