Testes de Software & Ferramentas de Testes

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Testes de Software & Ferramentas de Testes - Presentation Transcript

    1. Testes de Software & Ferramentas para Testes
    2. Testes de Software & Ferramentas para Testes por Paulo César M. Jeveaux 30/11/2007
    3. Paulo César M. Jeveaux (Jevô) • Consultor e Arquiteto de soluções Java na Inflor; • Mantenedor responsável do PortalJava.com e ESJUG; • Palestrante-Entusiasta-Evangelista Java;
    4. Agenda Introdução • O que são testes? • Cobertura de testes • Você confia no que você faz? • Desenvolvendo orientado a testes • Ferramentas e técnicas de testes •
    5. Introdução Desenvolvimento de software
    6. Introdução Desenvolvimento de software Falhas de Software
    7. Falhas de Software • Mais de 1/3 das falhas poderiam ser evitadas com testes; [1] • Cerca de 50% das falhas só são descobertas em produção; [1]
    8. Introdução Desenvolvimento de software Falhas de Software Falhas custam caro
    9. Falhas custam $$$ Segundo uma pesquisa do Departamento de Comércio dos EUA, publicada em 2002, falhas de software são tão comuns e tão danosas que se estima que causem um prejuízo anual de mais de 60 bilhões de dólares para a economia americana. [1], [2]
    10. Introdução Desenvolvimento de software Falhas de Software Falhas custam caro Testes não evitam falhas
    11. Introdução Desenvolvimento de software Falhas de Software Falhas custam caro Testes não evitam falhas Testes identificam as falhas antes delas acontecerem
    12. O que são testes?
    13. O que são testes? • Um teste é uma verificação feita sobre um código ou fragmento de código para garantir que uma determinada entrada produza, sempre, uma saída esperada;
    14. O que são testes? • São pontuais; • São previsíveis; • São finitos; • São (ou deveriam ser) simples;
    15. O que são testes? • Testes não verificam completamente a saída de um programa pois as entradas são finitas; • Testes não são perfeitos para validação, mas são a melhor opção para isso;
    16. O que são testes? White Box
    17. Caixa branca • Testes de unidade de código; • Testam parte da solução; • São escritos e mantidos pelo programador e devem estar sempre atualizados;
    18. Caixa branca • Quando construímos um teste de unidade, o principal desafio é isolar a classe ou trecho de código que está sendo testado, para que nenhuma outra classe do sistema seja envolvida no teste e influencie no resultado esperado.
    19. O que são testes? White Box Black Box
    20. Caixa preta • Testes funcionais e de aceitação; • Testes de integração; • Testam a solução completa;
    21. Cobertura de testes
    22. Cobertura dos testes Resultado esperado Trecho alterado com alteração: OK Reflexo da alteração Erro #1 Reflexo da alteração Erro #2 Reflexo da alteração BUG Reflexo da alteração Inesperado
    23. Cobertura dos testes Sem cobertura Com cobertura • Novo release = códigos sem testes; • Não há segurança de que as alterações não irão impactar em outros pontos da aplicação; • Problemas, muitos problemas;
    24. Cobertura dos testes • Dificilmente consegue-se 100% de cobertura de testes, contete-se com 99%; • Quanto maior a cobertura dos testes na aplicação maior a confiabilidade nas alterações e novos recursos;
    25. Cobertura dos testes • Aplicações cobertas por bons testes propiciam: – Facilidade de manutenção; – Facilidade para inclusão de novos membros no time de desenvolvimento; – Menos problemas e redução de custos em manutenções; – Telefone silencioso nas madrugadas!
    26. Testes são necessários • Você precisa verificar o código, sempre; • Você precisa garantir que os requisitos estão implementados (e corretos); • Você precisa ter segurança para realizar alterações;
    27. Testes são necessários • Você precisa testar rápido para entregar rápido; • Você aumenta e garante a qualidade da sua solução com testes; • Você precisa ser criativo para explorar o máximo possível com seus testes, não use testes mentirosos;
    28. Você confia no que faz?
    29. Garanta o que você faz • Cliente: – Isso aqui não está funcionando! • Programador: – Mas como!? Na minha máquina estava funcionando até ontem.
    30. Garanta o seu trabalho, seja profissional Errado! Realidade! • Num mundo • O cliente não quer capitalizado não há saber se X virou Y. Ele tempo para testes; quer que o problema não aconteça e se acontecer que seja • O cliente não quer corrigido rapidamente; saber como é feito, ele quer que funcione • Não se consegue qualidade e confiabilidade sem testes; [4]
    31. Test-Driven Development
    32. TDD refatore Escreva código Escreva um que passe Teste no teste
    33. Ferramentas Ferramentas de teste de software
    34. JUnit • É um framework altamente eficaz e largamente utilizado na criação e execução de testes unitários de códigos;
    35. Um teste com JUnit public class HelloWorldTest { @Test public void testMultiplication() { //Testando se 2*2 = 4 assertEquals (\"Multiplication\", 4, 2*2); } }
    36. Selenium • Ferramenta para realização de testes integrados e de aceitação; • Usado no browser, grava todos os passos executados na aplicação diretamente no browser e os executa de forma automatizada no browser;
    37. Selenium
    38. JMeter • Propósito principal para testes de carga e stress de aplicações; • Pode ser usado para testes integrados e de aceitação;
    39. JMeter
    40. Clover • Ferramenta para análise de cobertura dos testes existem na aplicação; • Integrado a várias IDEs - Eclipse ;-) • Existem diversas opções semelhantes: JCoverage, Cobertura, etc;
    41. Clover
    42. Dúvidas?
    43. Referências • [1] - NIST - http://www.nist.gov/public_affairs/releases/n02- 10.htm • [2] - ImproveIt - http://www.improveit.com.br/xp/praticas/tdd • [3] - Caelum - http://blog.caelum.com.br/2006/09/08/voce- acredita-no-seu-codigo/ • [4] – Fragmental - Shoes - http://blog.fragmental.com.br/2007/10/31/programadores- profissionais-escrevem-testes-ponto-final/ • [5] – Marcos Pereira – http://marcospereira.wordpress.com/2007/11/27/desenvolvedo res-odeiam-testar • [6] – Wikipedia – http://en.wikipedia.org/wiki/Test- driven_development • [7] - TDD - http://www.testdriven.com
    44. Podem acordar, acabou! • Obrigado a todos. • Contatos: – www.portaljava.com | www.jeveaux.com – jeveaux@portaljava.com | paulo@jeveaux.com
    45. Testes de Software & Ferramentas para Testes Esta apresentação usa a licença : Creative Commons : de Atribuição/Uso Não Comercial Compartilhado.

    Paulo césar M. jeveauxPaulo césar M. jeveaux, 2 years ago

    custom

    3070 views, 2 favs, 2 embeds more stats

    More Info

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version
    • Total Views 3070
      • 2882 on SlideShare
      • 188 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 143
    Most viewed embeds
    • 184 views on http://www.jeveaux.com
    • 4 views on http://feeds.feedburner.com

    more

    All embeds
    • 184 views on http://www.jeveaux.com
    • 4 views on http://feeds.feedburner.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as innappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel

    Categories