1° Madrugada de Testes
Upcoming SlideShare
Loading in...5
×
 

1° Madrugada de Testes

on

  • 6,858 views

 

Statistics

Views

Total Views
6,858
Slideshare-icon Views on SlideShare
6,775
Embed Views
83

Actions

Likes
1
Downloads
15
Comments
0

2 Embeds 83

http://dev.mayogax.me 66
http://localhost 17

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  •  

1° Madrugada de Testes 1° Madrugada de Testes Presentation Transcript

  • 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 testes devem ser realizados em todos os sistemas, independente da plataforma, ambiente, tecnologia ou linguagem de programação
  • 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
  • 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çõ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
  • 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
  • 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
  • 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
  • Resumo e apelidos carinhosos TEST SUITE SYSTEM UNDER TEST SUT PROJETO DE SISTEMA TESTE
  • 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
  • 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 !!!
  • 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)
  • 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)
  • 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
  • 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 !!!
  • 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"); }
  • 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 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
  • 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
  • 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