• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Aula - Teste de Software
 

Aula - Teste de Software

on

  • 602 views

 

Statistics

Views

Total Views
602
Views on SlideShare
602
Embed Views
0

Actions

Likes
1
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

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

    Aula - Teste de Software Aula - Teste de Software Presentation Transcript

    • Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Disciplina: MATA62 – Engenharia de Software I Cliquez pour modifier le style du titre Teste de Software Mauricio C. Santos CPD-UFBASalvador, Março/2010
    • O Que Veremos? Conceitos BásicosTeste de Software Teste de Software • Teste de Unidade • Teste Funcional • Teste de Integração Estratégia de Testes em XP Test-Driven Development • TDD com Ruby Teste de Unidade com Ruby 2
    • Referências Bibliográficashttps://disciplinas.dcc.ufba.br/pub/MATB15/SemestreCorrente/Aula1.pdfhttp://disciplinas.dcc.ufba.br/MATA62/TesteDeSoftwarehttp://disciplinas.dcc.ufba.br/MATA62/TestesDeUnidadehttp://www.disciplinas.dcc.ufba.br/MATA63/DesenvolvimentoDirigidoPorTesteshttp://disciplinas.dcc.ufba.br/MATA62/TDDComRubyhttp://pt.wikipedia.org/wiki/Test_Driven_Development 3
    • Cliquez pour modifier le style du titre Conceitos Básicos
    • Defeitos e FalhasDefeito• um problema nos requisitos, no projeto, no código, na documentação ou nos casos de teste.Falha• um problema no funcionamento do sistema. Falha: conseqüência de um defeito 5
    • Defeitos e Falhas: Uma Visão Mais Completa 6
    • Principais Artefatos de Software: Uma VisãoSimplificada 7
    • Defeitos Introduzidos ao Longo do Processo de DesenvolvimentoA maior parte é de origem humana.São gerados na comunicação e na transformaçãode informações.Permanecem presentes nos diversos produtos desoftware produzidos e liberados.A maioria encontra-se em partes do produto desoftware raramente utilizadas e/ou executadas. 8
    • Alguns Tipos de Defeitos Introduzidos 9
    • Defeitos Introduzidos ao Longo do Processo de DesenvolvimentoPrincipal causa:• Tradução incorreta de informações.Quanto antes a presença do defeito for revelada,menor o custo de correção do defeito e maior aprobabilidade de corrigi-lo corretamente.Solução:• Introduzir atividades de V V & T ao longo de todo o ciclo de desenvolvimento. 10
    • Verificação e Validação V & VAs atividades de avaliação de produtos são partedo tema chamado Verificação e Validação (V&V).A definição de V&V abrange muitas das atividadesàs quais nos referimos como Garantia daQualidade de Software (SQA). 11
    • VerificaçãoRefere-se ao conjunto de atividades que garanteque o software implementa corretamente umafunção específica. “Estamos construindo certo o produto?” 12
    • ValidaçãoRefere-se ao conjunto de atividades que garanteque o software que foi construído é “rastreável” àsexigências do cliente. “Estamos construindo o produto certo?” 13
    • Garantia da Qualidade de SoftwareMétodos de Engenharia de Software: proporcionama base a partir da qual a qualidade é construída.Revisões Técnicas Formais: ajudam a garantir aqualidade do produto produzido como umaconseqüência de cada passo da engenharia desoftware.Medição: ajudam a controlar cada elemento daconfiguração de software. 14
    • Garantia da Qualidade de SoftwarePadrões e Procedimentos: ajudam a garantir auniformidade.Garantia de Qualidade de Software (SQA): põe emprática uma filosofia de qualidade total.Teste: a qualidade pode ser avaliada. 15
    • Garantia da Qualidade de Software 16
    • Cliquez pour modifier le style du titre Teste de Software
    • O Que É ?A atividade de teste é o processo de executar umprograma com a intenção de descobrir um erroUm bom caso de teste é aquele que tem umaelevada probabilidade de revelar um erro ainda nãodescobertoUm teste bem-sucedido é aquele que revela umerro ainda não descoberto. 18
    • Objetivos da Atividade de TesteObjetivo: projetar testes que descubramsistematicamente diferentes classes de erros comuma quantidade de tempo e esforço razoáveis.Se a atividade de teste for conduzida com sucesso,ela descobrirá erros no software. A atividade de teste não pode mostrar a ausência de bugs. Ela só pode mostrar se defeitos de software estão presentes. 19
    • Erros e as Atividades de TesteSe erros graves forem encontrados comregularidade, isto implica que a qualidade e aconfiabilidade de software são suspeitas.Se erros facilmente corrigíveis foremencontrados, isto implica que a qualidade e aconfiabilidade do software estão aceitáveis ou ostestes são inadequados para revelar erros gravesSe não for encontrado erro isto implica que aconfiguração de teste não foi suficientementeelaborada e erros estão escondidos no software 20
    • Processo Tradicional de Testes 21
    • Abordagens para TestesAbordagem funcional• AKA "teste caixa preta"• são testadas as funcionalidades do software, emitindo entradas pré-definidas e testando pelas saídas esperadas. 22
    • Abordagens para TestesAbordagem estrutural• AKA "teste caixa branca"• são testados aspectos de implementação das unidades de modularização (e.g. classes): algoritmos utilizados resultados esperados de métodos em função de seus parâmetros 23
    • Teste Automatizado de SoftwareProgramas que testam programas.• oráculoUso de frameworks de teste. 24
    • Etapas do Teste de SoftwareTestes de Unidade: cada módulo é testadoindividualmente garantindo que ele funcioneadequadamente.Utiliza as técnicas de teste de caixa branca. 25
    • Etapas do Teste de SoftwareTestes de Integração: os módulos são montadosou integrados para formarem um pacote desoftware.Utiliza principalmente as técnicas de teste de caixapreta. 26
    • Etapas do Teste de SoftwareTestes de Alto Nível (validação e sistema): Oscritérios de validação estabelecidos durante aanálise de requisitos são testados.Verifica também se todos os elementos combinam-se adequadamente e se a função/ desempenhoglobal do sistema é conseguida.Utiliza as técnicas de caixa preta. 27
    • Etapas do Teste de Software 28
    • Cliquez pour modifier le style du titre Estratégia de Teste em XP
    • Estratégia de Teste em XP"O que não pode ser mensurado não existe." [KentBeck]"Não confio em nada que escrevi até que eu tenhatestes para isso." [Kent Beck]"Tests are both resource and responsibility.""Work with human nature, not against it."• Testar é importante mas pensamos mais no código do que nos testes 30
    • Estratégia de Teste em XPTestes com XP são isolados e automáticos• Testes isolados: não há efeito "cascata" pois testes não interagem entre si• Testes automáticos: indicam apenas se os testes passaram ou não 31
    • Cliquez pour modifier le style du titre Test Driven Development - TDD
    • O Que É ? 33
    • Por Quê Usar ?Ênfase na interfaceExpressão dos requisitosProjeto bottom-upTodo código desenvolvido é coberto por testesDesign do programaRedução do tempo de depuraçãoCódigo modularizado, flexível e extensível 34
    • RefatoraçãoModificar o design de um código sem alterar o seucomportamentoEm TDD, isso significa alterar o código de formaque os testes continuem passando.Para saber mais: Refactoring: Improving the Designof Existing Code (The Addison-Wesley ObjectTechnology Series): Martin Fowler,Kent Beck,JohnBrant,William Opdyke,Don Roberts 35
    • BeneficiosAlguns estudos mostram impacto positivo de TDD:Redução de número de defeitos• Um estudo sobre o impacto do uso de desenvolvimento orientado por testes na melhoria da qualidade de software. Projeto de conclusão de curso de Daniela Feitosa, 2007.2.Aumento da produtividadeAumento da qualidade 36
    • LimitaçõesMudança de pensamentoSuporte gerencialDependência de testes funcionais parasucesso/falha (interfaces de usuários, interaçãocom bases de dados, sistemas que dependam deconfigurações específicas da rede) 37