Introdução a testes de software

596 visualizações

Publicada em

Aula de introdução a disciplina de testes de software ministrada no IFPE - Campus Garanhuns. Professor Leonardo Soares

Publicada em: Educação, Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
596
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
22
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Softwaresestãopresentesnosmaisdiversosobjetos de nossavida, incluindoaquelesondeumafalhaseriainaceitávelporhaver a possibilidade de causar a morte de pessoas.
  • Em outros casos, apesar de nãocausar a mortediretamentehá o risco do software causarprejuízosfinanceiroscasoapresentefalhas.
  • A necessidadeemtestarobjetosnãoéexclusividade da área de testes de software,pelocontrário, estápresenteemquasetodas as áreascomo forma de garantirqueprodutossãoconfiáveis e paraencontrarosseuslimites.
  • Apesar da aparência, temosquegarantirconsistência e qualidadeemnossosprodutos…. De nada adianta um bolo bonito seeleestiver com um saborazedo.
  • Quando a genteexperimentopercebequenão era aquiloqueesperávamos
  • Nossoclientetambémestarámuitoinsatisfeitoconoscocasonosso software apresenteproblemasinesperados.
  • Testamosnosso software paraverificar se eleestáconformecombinado (cumprir o acordo comnossocliente)Verificamosse asfuncionalidadesestãoimplementadascorretamenteou se o sistema se comporta de forma correta
  • Testamosnosso software paraverificar se eleestáconformecombinado (cumprir o acordo comnossocliente)Verificamosse asfuncionalidadesestãoimplementadascorretamenteou se o sistema se comporta de forma correta
  • Testamosnosso software paraverificar se eleestáconformecombinado (cumprir o acordo comnossocliente)Verificamosse asfuncionalidadesestãoimplementadascorretamenteou se o sistema se comporta de forma correta
  • Apesar de todosos testes possíveisnuncaeliminamostodososerros de nosso software, e emgeral o clienteéquemencontraráestesproblemas… manteruma boa relação com elenestesmomentoséalgobastantedifícil
  • RetrabalhoComprometer a imagem da empresaDesmotivar a equipe
  • RetrabalhoComprometer a imagem da empresaDesmotivar a equipe
  • Grace Hopper encontrouinsetosquecausavamo maufuncionamento de equipamentoselétricos. Estes insetosque do inglêsvem da palavra bug équedanificavam o equipamento, a palavraatualmente serve comoreferênciaparaproblemasemnosso software
  • Semáforos: demorardemaisemuma das lâmapdas, abrirtodosaomesmo tempo, fechartodosaomesmo tempo
  • Software éincertoClienteéimpaciente e nãosabe o quequerVáriaspessoastrabalhandoSeráquefizemos da forma correta?
  • Software éincertoClienteéimpaciente e nãosabe o quequerVáriaspessoastrabalhandoSeráquefizemos da forma correta?
  • Software éincertoClienteéimpaciente e nãosabeexatamene o quequer, tãopouco se expressarparapedirVáriaspessoastrabalhandoSeráquefizemos da forma correta?
  • Software éincertoClienteéimpaciente e nãosabe o quequerVáriaspessoastrabalhandoSeráquefizemos da forma correta?
  • Software éincertoClienteéimpaciente e nãosabe o quequerVáriaspessoastrabalhandoSeráquefizemos da forma correta?
  • Documentarnosso softwareValidarnosso softwareUsarpadrões de codificaçãoEncontrarerrosemnosso software
  • Documentarnosso softwareValidarnosso softwareUsarpadrões de codificaçãoEncontrarerrosemnosso software
  • Documentarnosso softwareValidarnosso softwareUsarpadrões de codificaçãoEncontrarerrosemnosso software
  • Documentarnosso softwareValidarnosso softwareUsarpadrões de codificaçãoEncontrarerrosemnosso software
  • Documentarnosso softwareValidarnosso softwareUsarpadrões de codificaçãoEncontrarerrosemnosso software
  • Seráquenossascondicionais e loops estãocorretos?Seráque as funcionalidadesatendemaosrequisitos do nossocliente?Seráquenãoquebramosnossocódigo?
  • Defeito faz parte do produto, é algo que esta implementada no código de maneira errada.Erro pode ser um resultado de um defeito ou uma falha, como um retorno esperado, que por causa de uma falha teve um valor diferente do que esperado.Esta mais ligada ao hardware, como uma rede inacessível, queda de energia. Uma falha pode ocorrer por causa de um erro, por exemplo, houve um retorno de um valor não esperado
  • FalhahumanaProblemas de comunicação e transformação da informaçãoNuncairemosencontrartodas as falhas, mas nossoclienteirá
  • FalhahumanaProblemas de comunicação e transformação da informaçãoNuncairemosencontrartodas as falhas, mas nossoclienteirá
  • FalhahumanaProblemas de comunicação e transformação da informaçãoNuncairemosencontrartodas as falhas, mas nossoclienteirá
  • Introdução a testes de software

    1. 1. Introdução aos testes de software Prof. Leonardo Soares
    2. 2. Sobre a disciplina Compentências: Entender conceitos sobre a área; Compreender por que através de testes garatimos a qualidade de nosso software; Identificar a necessidade no uso de testes e como utilizálo; Conhecer as ferramentas necessárias à aplicação de testes.
    3. 3. Sobre a disciplina Avaliações Primeira (07/04) Exercícios passados em sala de aula; Avaliação escrita; Segunda (16/06) Avaliação escrita;
    4. 4. Por que testamos?
    5. 5. Por que testamos?
    6. 6. Por que testamos?
    7. 7. Softwares podem matar! Em 1983 uma terceira guerra mundial quase foi deflagrada por uma falha no software de alerta de radares soviéticos. A falha fez com que o software mostrasse que os E.U.A. tinham lançado cinco mísseis. A guerra não aconteceu, pois o Tenente Coronel Stanislav Petrov considerou que a informação estava errada e não ordenou o contra-ataque, evitando assim o início da III guerra mundial.
    8. 8. Softwares causam prejuízos! Por uma falha em um sistema de software para controle de ações em uma bolsa de valor, a empresa americana Knight sofreu perdas de $ 460 milhões de doláres em apenas 45 minutos.
    9. 9. O Que pode acontecer quando a gente não testa nosso software? Bancos perderem milhões Telefones pararem de funcionar Aviões terem suas rotas desviadas Sistemas clínicos causarem problemas a pacientes
    10. 10. Importância em garantir a qualidade
    11. 11. Importância em garantir a qualidade
    12. 12. O Que achamos disto?
    13. 13. Importância do teste de software para os negócios
    14. 14. Estabelecemos um contrato com nosso cliente
    15. 15. Falhas geram frustração
    16. 16. Sempre o cliente encontrará o erro
    17. 17. O Que pode acontecer para a empresa que desenvolve o software?
    18. 18. O Que pode acontecer para a empresa?
    19. 19. Vamos parar de gambiarra!
    20. 20. Como vocês testam seu software?
    21. 21. Teste de software “Teste de software é o processo de executar o programa com a intenção de encontrar bugs” Glendford Myers, 1979
    22. 22. Curiosidade
    23. 23. Quais problemas podem ocorrer nestes softwares? Formem grupos e encontrem os problemas: Em um software para controle da energia; Em um software para controle de semáforos; Em um software de registro acadêmico;
    24. 24. O Que teste de software não é?! Testes ajudam a encontrar erros, mas não corrigí-los. Cabe aos desenvolvedores fazerem a correção
    25. 25. Dificuldades na criação de softwares
    26. 26. Softwares são complexos
    27. 27. Satisfazer o cliente é difícil…
    28. 28. Levam vários meses/anos para serem desenvolvidos
    29. 29. Várias pessoas trabalhando no mesmo produto
    30. 30. A comunicação é um problema…
    31. 31. Software muda
    32. 32. Prazos e recursos são limitados
    33. 33. Como minimizar os problemas Atender as necessidades do cliente Testes contínuos no software Documentação do sistema Adoção de boas práticas de desenvolvimento Construir software com qualidade!
    34. 34. Qualidade na computação Conformidade com requisitos funcionais e não funcionais, padrões de desenvolvimento documentados e características implícitas esperadas de todo software profissionalmente desenvolvido
    35. 35. Como garantimos a qualidade de nosso software?
    36. 36. Criando uma documentação consistente
    37. 37. Validação e verificação
    38. 38. Adotar padrões de projeto
    39. 39. Admitir que há erros e tentar encontrá-los
    40. 40. Como encontrar erros no software Inspecionar nosso código Avaliar se o software atende aos requisitos do usuário Pedir para o cliente verificar
    41. 41. Qualidade e teste de software Descobrir falhas Corrigir falhas Qualidade Validar requisitos
    42. 42. Alguns termos importantes Defeito Erro Falha
    43. 43. VV&T • Validação: assegurar que o produto final corresponda aos requisitos do usuário • Estamos construindo o produto certo? • Verificação: Assegurar consistência, completitude e corretitude do produto em cada fase e entre fases consecutivas do ciclo de vida do software • Estamos construindo corretamente o produto? • Teste: Examina o comportamento do produto por meio de sua execução
    44. 44. Como correm os defeitos no processo de software
    45. 45. Falha humana
    46. 46. Problema de comunicação
    47. 47. Por que estudamos teste? • 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] • Segundo uma pesquisa do Departamento de rcio dos EUA, publicada em 2002, falhas de software o o comuns e o danosas que se estima que causem um zo anual de mais de 60 es de lares para a economia americana. [1], [2]
    48. 48. Por que estudamos testes?
    49. 49. O Que percebemos? • Falhas de software causam grandes prejuízos • A prática de testes ainda é pouco utilizada • Quanto antes a presença do defeito for revelada, menor o custo da correção e maior a probabilidade de corrigí-lo • Testes não encontram todas as falhas, mas ajudam a minimizar os erros
    50. 50. Quando utilizar testes? • Desejamos oferecer uma melhor qualidade ao código • Garantir que os requisitos estão implementados e estão corretos • Fornecem segurança para realizar alterações no código
    51. 51. O Que é teste de software? • Analisar documentos e verificar se foi produzido corretamente • Testar funções e verificar se as entradas produzidas resultam nas saídas esperadas • Fazer uso do software desenvolvido e verificar se está conforme os requisitos
    52. 52. O Que são testes de software? • • • • São previsíveis São finitos São (ou deveriam ser) simples Não são perfeitos, mas uma das melhores alternativas para validação
    53. 53. Quando testes não são adequados? • Falta de conhecimento • Prazo • Situação

    ×