Desenvolvimento em .Net




         Testes
Objectivos
    identificar diferentes tipos de testes
●


    descrever conceito de teste unitário
●


    perceber vantag...
Objectivos
    saber criar testes em .net
●


    saber criar testes em progress
●
Tipos de testes
    Teste de Caixa Branca (qualidade do código)
●


    Teste de Caixa Preta (entradas e saídas)
●


    T...
A Abordagem Clássica
    A forma mais tradicional de teste consiste em
●

    adoptar um revisor (par ou especialista em
 ...
A Abordagem Clássica
    O Revisor normalmente é alguém com maior
●

    experiência e conhecimento do produto, capaz
    ...
Nova perspectiva
    Testes Unitários
●


        servem para validar um pedaço de código
    –
        (tipicamente um mo...
Comparação
    Testes funcionais / de aceitação / integação /
●

    homologação
        preparados por alguém fora da equ...
Quando é a fase de testes?
    Durante o desenvolvimento e não após o
●

    desenvolvimento!
        algumas metodologias...
Porquê Testar durante o
             Desenvolvimento?
    reduz o tempo que se irá gastar com
●

    ferramentas de debug
...
Desculpas habituais para não criar
             testes
    Demora muito tempo
●


        é evidente que fazer um teste, o...
Desculpas habituais para não criar
             testes
    Não é trabalho do programador criar testes, ou,
●


    o progr...
Desculpas habituais para não criar
             testes
    Não posso testar porque ainda não tenho os
●

    requisitos to...
Testes Unitários
    formalizam os testes
●


    numa linguagem que o programador domina
●


        porque são feitos na...
Testes Unitários com .Net
    http://www.nunit.org/
●


        vitorsilvadownloadsprogramasNUnit-2.2.0.msi
    –

    htt...
Testes Unitários com .Net
    criar nova solução
●


    criar projecto do tipo class library chamado
●

    testes unitar...
Testes Unitários com .Net
    criar projecto do tipo class library chamado
●

    testeprojecto
    adicionar referencia a...
Testes Unitários com .Net
    acrescentar nova classe
●
Testes Unitários com .Net
    correr esse teste
●
Testes Unitários com .Net
    erro na inicialização da variável max
●


        vamos mudar para max as integer = 0
    –
Testes Unitários com .Net
    voltar a correr teste
●
Testes Unitários com .Net
    vamos acrescentar mais uma condição que
●

    sabemos que é verdadeira e testar essa
    co...
Testes Unitários com .Net
    depois de olhar atentamente para o código...
●
Revisão – Testes Unitários
    formalizam os testes
●


    numa linguagem que o
●

    programador domina
        porque ...
Testes Unitários com .Net
    já agora experimentem inicializar o array com
●

    -1, -2 e -3 e vejam se continua a funci...
Testes Unitários em Progress
    ProUnit
●


        vitorsilvadownloadslibsprounit
    –

    Punit
●


        vitorsilv...
Testes Unitários em Progress
    desenvolver o mesmo teste com uma das
●

    frameworks indicada
Objectivos
    identificar diferentes tipos de testes
●


    descrever conceito de teste unitário
●


    perceber vantag...
Objectivos
    saber criar testes em .net
●


    saber criar testes em progress
●
Upcoming SlideShare
Loading in …5
×

Desenvolvimento em .Net - Testes Unitários

5,774 views
5,646 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,774
On SlideShare
0
From Embeds
0
Number of Embeds
58
Actions
Shares
0
Downloads
98
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Desenvolvimento em .Net - Testes Unitários

  1. 1. Desenvolvimento em .Net Testes
  2. 2. Objectivos identificar diferentes tipos de testes ● descrever conceito de teste unitário ● perceber vantagens de utilização de testes ● unitários conhecer estrutura de testes (test-fixtures ou ● test-suites) conhecer ferramentas disponiveis para .net e ● progress
  3. 3. Objectivos saber criar testes em .net ● saber criar testes em progress ●
  4. 4. Tipos de testes Teste de Caixa Branca (qualidade do código) ● Teste de Caixa Preta (entradas e saídas) ● Teste de Interface (funcional e usabilidade) ● Teste de Integração (inter-componentes) ● Teste de Sistema (inter-sistemas) ●
  5. 5. A Abordagem Clássica A forma mais tradicional de teste consiste em ● adoptar um revisor (par ou especialista em teste) após cada atividade => Auditoria Nono nonono nono No nonono nono no No nono nono no Nono nono no Nono nonono nono Artefato Desenvolvedor Revisor Nono nonono nono No nonono nono no No nono nono no Nono nono no Nono nonono nono Log Erros
  6. 6. A Abordagem Clássica O Revisor normalmente é alguém com maior ● experiência e conhecimento do produto, capaz de identificar erros mais complexos O Revisor é, normalmente, mais caro para a ● empresa Desenvolvedores menos experientes geram ● mais erros Mais erros exigem mais horas de revisão e ● setup (além do custo do retrabalho) Desenvolvedores Inexperientes => $$$$$$$$$ ●
  7. 7. Nova perspectiva Testes Unitários ● servem para validar um pedaço de código – (tipicamente um modulo caixa preta). devem ser possiveis de correr automaticamente – devem ser executados muito rapidamente – (centenas ou milhares de testes em poucos segundos) ● são sempre preparados pelo programador. – garantem que um bocado de codigo criado é válido. – Exemplo: teste que verifica se a execução de um procedimento que soma dois números funciona
  8. 8. Comparação Testes funcionais / de aceitação / integação / ● homologação preparados por alguém fora da equipa de – desenvolvimento. garantem que a execução do código produzido – para resolver a tarefa faz sentido, ou seja traduz completamente para software o requisito que foi definido pelo cliente. Exemplo: na aplicação é necessário existir alguma função que some dois números?
  9. 9. Quando é a fase de testes? Durante o desenvolvimento e não após o ● desenvolvimento! algumas metodologias advogam até a criação dos – testes antes do desenvolvimento (Test-Driven Development)
  10. 10. Porquê Testar durante o Desenvolvimento? reduz o tempo que se irá gastar com ● ferramentas de debug esforço de correcção de um defeito cresce ● exponencialmente ao longo do tempo cria confiança ● sabemos que estamos a construir pedaços de – código em que podemos confiar
  11. 11. Desculpas habituais para não criar testes Demora muito tempo ● é evidente que fazer um teste, ou seja ter mais uma – tarefa, vai gastar mais tempo do que só fizesse o programa no entanto se essa tarefa for sendo feita durante o – periodo de desenvolvimento a produtividade global será superior
  12. 12. Desculpas habituais para não criar testes Não é trabalho do programador criar testes, ou, ● o programador é pago para programar e não ● para escrever testes concordamos que: – o programador deve criar código ● mas código que funcione ● se não o testou como sabe que funciona? ● será que é mais rentável passar n horas à caça de – bugs do que n horas a criar os testes que os evitem?
  13. 13. Desculpas habituais para não criar testes Não posso testar porque ainda não tenho os ● requisitos todos então também não pode criar o código – correspondente a esse pedido...
  14. 14. Testes Unitários formalizam os testes ● numa linguagem que o programador domina ● porque são feitos na mesma linguagem de – programação que o programa a testar e auto documentam o código ● mostram programaticamente exemplos concretos – da utilização dos módulos a testar
  15. 15. Testes Unitários com .Net http://www.nunit.org/ ● vitorsilvadownloadsprogramasNUnit-2.2.0.msi – http://www.testdriven.net/ ● vitorsilvadownloadsprogramasTestDriven.NET-1.0.9 –
  16. 16. Testes Unitários com .Net criar nova solução ● criar projecto do tipo class library chamado ● testes unitarios acrescentar classe chamada Helper ●
  17. 17. Testes Unitários com .Net criar projecto do tipo class library chamado ● testeprojecto adicionar referencia a nunit.framework.dll ● adicionar referencia ao projecto testesunitarios ●
  18. 18. Testes Unitários com .Net acrescentar nova classe ●
  19. 19. Testes Unitários com .Net correr esse teste ●
  20. 20. Testes Unitários com .Net erro na inicialização da variável max ● vamos mudar para max as integer = 0 –
  21. 21. Testes Unitários com .Net voltar a correr teste ●
  22. 22. Testes Unitários com .Net vamos acrescentar mais uma condição que ● sabemos que é verdadeira e testar essa condição
  23. 23. Testes Unitários com .Net depois de olhar atentamente para o código... ●
  24. 24. Revisão – Testes Unitários formalizam os testes ● numa linguagem que o ● programador domina porque são feitos na mesma – linguagem de programação que o programa a testar e auto documentam o código ● mostram programaticamente – exemplos concretos da utilização dos módulos a testar
  25. 25. Testes Unitários com .Net já agora experimentem inicializar o array com ● -1, -2 e -3 e vejam se continua a funcionar...
  26. 26. Testes Unitários em Progress ProUnit ● vitorsilvadownloadslibsprounit – Punit ● vitorsilvadownloadslibspunit –
  27. 27. Testes Unitários em Progress desenvolver o mesmo teste com uma das ● frameworks indicada
  28. 28. Objectivos identificar diferentes tipos de testes ● descrever conceito de teste unitário ● perceber vantagens de utilização de testes ● unitários conhecer estrutura de testes (test-fixtures ou ● test-suites) conhecer ferramentas disponiveis para .net e ● progress
  29. 29. Objectivos saber criar testes em .net ● saber criar testes em progress ●

×