1° Madrugada de Testes  Dormir é para os FRACOS !!!
O que é Teste de Software ?Processo de verificação do software onde a principalfinalidade é detectar problemas •   Os test...
Benefícios do Teste de Software  • Garantir que o sistema funciona  • Garantir que está fazendo tudo que deveria fazer  • ...
Se o software falhar…
Eles também erram…       Herar é umano !!!Faça testes e erre menos
O que Testar ?  TUDO… independente da  (complexidade, quantidade de linhas ou cenário)    • Telas    • Camadas    • Valida...
Modelos de Teste    •   Manual         Uma pessoa vai testar o software          Conferência do Código (Pessoa Técnica)  ...
Ferramentas de TesteExistem frameworks de teste que nos ajudam a testaros nossos sistemas de forma automatizada • INTERFAC...
Visual Studio Unit Test Framework• Framework de testes da Microsoft• Disponível desde o Visual Studio 2005• Os testes cria...
Resumo e apelidos carinhosos         TEST SUITE            SYSTEM UNDER TEST                                      SUT     ...
Demonstração1   Visualizando os 3 Modelos de Projetos de Teste (Coded, Web and Load, Unit)2   Criando um Projeto de Teste ...
ABC dos Testes1.   Analise o SUT e verifique quais unidades você quer testar2.   No TEST SUITE crie classes e métodos de t...
Demonstração1   Conhecendo a Classe Assert (AreEqual, AreNotEqual……..)2   Criando um Método para Testar o Nome, Email e Id...
Divisão do TesteTodo teste é dividido em 3 etapas •   Arrange - Preparação do Teste      •   Instância as classe que vai u...
Demonstração1   Criando um Componente Matemático2   Criando as Classes (Calculadora e Numeros)3   Calculadora=> Codificand...
Triangulação  Técnica de gerar vários testes para testar o mesmo  comportamento de uma classe    • Redundante… e isso é mu...
Exemplo de Triangulação    [TestMethod]    public void TESTAR_SOMA()    {        Calculadora classe = new Calculadora();  ...
Demonstração1   Triangulando as Operações Aritméticas2   Triangulando as Operações Matemáticas
Cobertura de Código        (Code Coverage)  Técnica que identifica quais linhas de código                NÃO FORAM TESTADA...
Demonstração    Alterando as Operações Aritméticas para Retornar ZERO, caso algum1   Parâmetro de Entrada seja Igual a ZER...
LaboratórioCodificar o projeto de clientes e colocar em práticatudo que você aprendeu até agora… 1. Crie um projeto utiliz...
Upcoming SlideShare
Loading in...5
×

1° Madrugada de Testes

6,657

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,657
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  •  
  • Transcript of "1° Madrugada de Testes"

    1. 1. 1° Madrugada de Testes Dormir é para os FRACOS !!!
    2. 2. O que é Teste de Software ?Processo de verificação do software onde a principalfinalidade é detectar problemas • Os testes devem ser realizados em todos os sistemas, independente da plataforma, ambiente, tecnologia ou linguagem de programação
    3. 3. Benefícios do Teste de Software • Garantir que o sistema funciona • Garantir que está fazendo tudo que deveria fazer • Detectar problemas • Melhorar performance • Melhorar qualidade do código • Melhorar a usabilidade do sistemaTestes fazem parte do ciclo do desenvolvimento de software
    4. 4. Se o software falhar…
    5. 5. Eles também erram… Herar é umano !!!Faça testes e erre menos
    6. 6. O que Testar ? TUDO… independente da (complexidade, quantidade de linhas ou cenário) • Telas • Camadas • Validações e Consistências • Regras de Negócio • Arquivos, Banco de Dados (Abertura, Pedido, Resposta)O que você NÃO testar PODERÁ ocasionar um erro no FUTURO
    7. 7. Modelos de Teste • Manual Uma pessoa vai testar o software  Conferência do Código (Pessoa Técnica)  Depuração (BreakPoints)  Evidência (PrintScreen) • Automático Um programa de computador vai testar o software  Código que Testa Código (Robo de Testes)  Próprio Desenvolvedor pode criar o Robo Testes Manuais são demorados (Conferência do Código) e mais caros R$ R$ (Precisa de uma Pessoa Técnica pra Conferir)Existem muitas empresas que AINDA utilizam testes Manuais
    8. 8. Ferramentas de TesteExistem frameworks de teste que nos ajudam a testaros nossos sistemas de forma automatizada • INTERFACE VISUAL - SELENIUM, WATIN • CÓDIGO - NUNIT VISUAL STUDIO UNIT TEST FRAMEWORK
    9. 9. Visual Studio Unit Test Framework• Framework de testes da Microsoft• Disponível desde o Visual Studio 2005• Os testes criados rodam de 2 formas • Gráfica (IDE Visual Studio) • Código (MSTest.exe)• Atributos que decoram as classes e métodos• Definido no assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework
    10. 10. Resumo e apelidos carinhosos TEST SUITE SYSTEM UNDER TEST SUT PROJETO DE SISTEMA TESTE
    11. 11. Demonstração1 Visualizando os 3 Modelos de Projetos de Teste (Coded, Web and Load, Unit)2 Criando um Projeto de Teste (Unit Test)3 Visualizando a Referência e Namespace do Projeto4 Conhecendo a Classe de Teste UNITTEST15 Conhecendo o Método de Teste TESTMETHOD16 Conhecendo a Janela Test Explorer
    12. 12. ABC dos Testes1. Analise o SUT e verifique quais unidades você quer testar2. No TEST SUITE crie classes e métodos de teste3. Execute os testes até que todos fiquem VERDESOBS: Caso o teste fique vermelho (FALHOU) foi retornadaalguma informação que você não estava esperando,modificar o código ATÉ QUE O TESTE FIQUE VERDEDE QUANTO EM QUANTO TEMPO IREMOS EXECUTAR ASUITE DE TESTES ????Sempre que algum desenvolvedor alterar o SUT !!!
    13. 13. Demonstração1 Conhecendo a Classe Assert (AreEqual, AreNotEqual……..)2 Criando um Método para Testar o Nome, Email e Idade3 Fazer os Testes Falharem (VERMELHO)4 Fazer os Testes Falharem (VERMELHO) COM MENSAGEM DESCRITIVA5 Fazer os Testes Passarem (VERDE)6 Fazer um Teste ficar Inconclusivo (INCONCLUSIVE)7 Fazer um Teste Falhar de Propósito (FAIL)
    14. 14. Divisão do TesteTodo teste é dividido em 3 etapas • Arrange - Preparação do Teste • Instância as classe que vai usar no teste • Prepara a massa de dados • Act - Unidade que vai ser Testada • Execução das funcionalidades do SUT • Assert - Verificação de Resultados • Conferência de resultados (se o que foi retornado do SUT era o que você estava esperando que retornasse)
    15. 15. Demonstração1 Criando um Componente Matemático2 Criando as Classes (Calculadora e Numeros)3 Calculadora=> Codificando as Operações Aritméticas Básicas4 Numeros=> Codificando as Operações Matemáticas5 Visualizando os 3 Modelos de Projetos de Teste (Coded, Unit, Web and Load)6 Criando um Projeto de Teste (Unit Test)7 Criando Métodos de Teste para Testar as Operações Aritméticas8 Criando a Classe de Teste NumerosTST9 Criando Métodos de Teste para Testar as Operações Matemáticas
    16. 16. Triangulação Técnica de gerar vários testes para testar o mesmo comportamento de uma classe • Redundante… e isso é muito bom !!! • Testar ao máximo todas as possibilidades de entradaQuanto MAIS você Triangular MELHOR !!!
    17. 17. Exemplo de Triangulação [TestMethod] public void TESTAR_SOMA() { Calculadora classe = new Calculadora(); Int32 resultado = classe.Somar(1, 1); Assert.AreEqual(2, resultado, "O resultado deveria ser 2"); } [TestMethod] public void TESTAR_SOMA_NUMEROS_ALTOS() { Calculadora classe = new Calculadora(); Int32 resultado = classe.Somar(3000, 9000); Assert.AreEqual(12000, resultado, "O resultado deveria ser 12000"); } [TestMethod] public void TESTAR_SOMA_NUMEROS_NEGATIVOS() { Calculadora classe = new Calculadora(); Int32 resultado = classe.Somar(-250, 500); Assert.AreEqual(250, resultado, "O resultado deveria ser 250"); }
    18. 18. Demonstração1 Triangulando as Operações Aritméticas2 Triangulando as Operações Matemáticas
    19. 19. Cobertura de Código (Code Coverage) Técnica que identifica quais linhas de código NÃO FORAM TESTADAS • Mostra para o desenvolvedor o que falta testar no SUT • As linhas de código que não estiverem cobertas por testes, ficarão na cor VERMELHA, a idéia é testar tudo, o correto seria que todas as linhas ficassem na cor VERDEO que você NÃO testar PODERÁ ocasionar um erro no FUTURO
    20. 20. Demonstração Alterando as Operações Aritméticas para Retornar ZERO, caso algum1 Parâmetro de Entrada seja Igual a ZERO2 Aplicando a Cobertura de Código nos Testes Aritméticos
    21. 21. LaboratórioCodificar o projeto de clientes e colocar em práticatudo que você aprendeu até agora… 1. Crie um projeto utilizando Repository e DTO 2. Simule os registros com NBUILDER 3. Crie o projeto de teste 4. Crie as classes e métodos de teste 5. Faça as triangulações 6. Aplique a cobertura de código OS MÉTODOS DA SUITE DE TESTE DEVEM FICAR VERDES
    1. Gostou de algum slide específico?

      Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

    ×