Teste de Software Geórgenes Zapalaglio

Slides:



Advertisements
Apresentações semelhantes
Boas Práticas Adotadas em um Projeto de Design de Testes – Um relato de experiência
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Amintas engenharia.
Adélia Barros Testes de Software Adélia Barros
Rational Unified Process
Métodos Computacionais II
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Técnicas de Teste de Software
Teste de Software.
Tipos de sistemas de Lehman
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Testando o sistema Teste funcional: o sistema integrado realiza as funções especificadas nos requisitos? Teste de desempenho: os requisitos não-funcionais.
Por que a engenharia de software?
Prentice Hall Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 8 Defeitos e falhas de software Especificação errada: pode não.
Confiança.
Tópicos Motivação para teste Por que algumas empresas não testam
Professor Sílder Lamas Vecchi
Teste de software Professor: Sílder Lamas Vecchi.
Sistemas Críticos (Confiança)
Reliability verification of Digital Systems Design based on mutation Analysis Samuel S. Marczak.
Revisões de Software Parte 1
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Técnicas de Teste de Software
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Competência: Compreender as métricas de Software
Pontifícia Universidade Católica de Campinas
Introdução aos conceitos de Teste de Software
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
REDUNDÂNCIA POR SOFTWARE
Estudo de Caso: Técnicas de Teste como parte do Ciclo de Desenvolvimento de Software Aline Pacheco Patric Ribeiro Diego Kreutz.
Gerenciamento de Configuração
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Prof. Esp. Fernando Barreto
Ferramentas para Automatização de testes
Prof. Alexandre Vasconcelos
Teste de Sistemas de Software
Confiabilidade de Sistemas Prof. Avelino F. Zorzo PUCRS.
METODOLOGIAS ÁGEIS TESTES UNITÁRIOS.
Etapas do Projeto DC.IC.15 Data Revisão: 07/04/2017 Início Fim
TESTES DE SOFTWARE Qualidade de software Professores: Juliano Bedin Juliano Bedin Sara Priscila Dutkwicz Leandro Bovi.
Engenharia de Software Teste de Software Parte 1 Prof. Luís Fernando Garcia
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Teste de Software Conceitos iniciais.
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Engenharia de Software II
Gestão de defeitos.
Introdução a Teste de Software
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
ANÁLISE ESTATÍSTICA II
EPR16 – Planejamento e Gestão da Qualidade Professora Michelle Luz
Testes Baseados Em Riscos: Uma revisão do Estado-da- Arte Nielson Pontes Outubro, 2010.
Profª Claudia Pedro Corrêa
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Testes de SW Aula 24.
Engenharia de Software
Qualidade de Produtos de Software
Testes (verificação e validação)
Engenharia de Sistemas Embarcados Aula 7: Testando o Sistema Embarcado.
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
Teste de Software Equipe: Camila Debora Elis. Definição "Teste é um processo de executar um programa ou sistema com a finalidade de encontrar erros.“
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

Teste de Software Geórgenes Zapalaglio Seminário da disciplina de Confiabilidade de Sistemas 10/11/2008 Teste de Software Geórgenes Zapalaglio

Seminário da disciplina de PPD – PPGCC - PUCRS Motivação Errar é inerente a natureza humana. Precaver-se contra os erros é uma atitude inteligente. O processo de desenvolvimento de software é sujeito a defeitos. Sendo assim, a atividade de teste é fundamental para se obter produtos de software com garantia de qualidade. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Defeitos, Erros e Falhas Antes de iniciarmos uma discussão sobre teste de software precisamos esclarecer alguns conceitos relacionados a essa atividade. Inicialmente, precisamos conhecer a diferença entre Defeitos, Erros e Falhas. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Testes devem começar o mais cedo possível Introdução Teste de software é o processo de execução de um produto para determinar se ele atingiu suas especificações e funcionou corretamente no ambiente para o qual foi projetado. O seu objetivo é revelar falhas em um produto, para que as causas dessas falhas sejam identificadas e possam ser corrigidas pela equipe de desenvolvimento antes da entrega final. Testes devem começar o mais cedo possível  Custo para se Corrigir um problema $ 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Objetivos Objetivos da atividade de teste: Revelar a existência de falhas. Avaliar a qualidade do produto. “Teste de software é a atividade de executar um programa com o objetivo de revelar a existência de falhas e avaliar sua qualidade” Não é possível eliminar todos os problemas de um sistema apenas com testes, mas pode-se reduzir significativamente sua ocorrência. Um bom caso de teste é aquele que tem uma elevada probabilidade de revelar um problema. O teste bem sucedido é o que revela a existência de uma falha ainda não descoberta. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Desenvolvimento de Software Modelo de desenvolvimento de software tradicional. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Defeitos no Desenvolvimento de Software Os defeitos normalmente são introduzidos na transformação de informações entre as diferentes fases do ciclo de desenvolvimento de um software, por exemplo: Essa série de transformações mostrou a necessidade de realizar testes em diferentes níveis, visando avaliar o software em diferentes perspectivas de acordo com o produto gerado em cada fase do ciclo de vida de desenvolvimento de um software. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Níveis de Teste de Software O planejamento dos testes deve ocorrer em diferentes níveis e em paralelo ao desenvolvimento do software, os principais níveis de teste de software são: Teste de Unidade: também conhecido como Teste Unitário. o objetivo é o de encontrar falhas de funcionamento dentro de uma pequena parte do sistema funcionando independentemente do todo. Teste de Integração: o objetivo é encontrar falhas provenientes da integração interna dos componentes de um sistema. Teste de Sistema: avalia o software em busca de falhas por meio da utilização do mesmo, como se fosse um usuário final. Teste de Aceitação: são realizados geralmente por um restrito grupo de usuários finais do sistema. Teste de Regressão: consiste em se aplicar, a cada nova versão do software ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Níveis de Teste de Software 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Técnicas de Teste de Software Atualmente existem muitas maneiras de se testar um software. O objetivo principal destas técnicas continua a ser o mesmo: encontrar falhas no software. Abaixo estão descritas as três técnicas mais conhecidas. Técnica Estrutural (Caixa-Branca) : Técnica de teste que avalia o com-portamento interno do componente de software. Essa técnica trabalha diretamente sobre o código fonte do componente de software para avaliar aspectos tais como: teste de condição, teste de fluxo de dados, teste de ciclos e teste de caminhos lógicos. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Técnicas de Teste de Software Técnica Funcional (Caixa-Preta) : Técnica de teste em que o componente de software a ser testado é abordado como se fosse uma caixa-preta, ou seja, não se considera o comportamento interno do mesmo. Dados de entrada são fornecidos, o teste é executado e o resultado obtido é comparado a um resultado esperado previamente conhecido. Haverá sucesso no teste se o resultado obtido for igual ao resultado esperado. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Técnicas de Teste de Software 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Testando Software Embarcado O que separa o software embarcado de software comum: Software embarcado deve executar de maneira confiável por longos períodos de tempo; Software embarcado é utilizado com freqüência em aplicações onde a vida humana está em risco; Software embarcado são muitas vezes tão sensíveis ao custo que não há margem para ineficiências; Software embarcado deve com freqüência compensar falhas no hardware embarcado; Eventos no mundo real são normalmente assíncronos e não determinísticos, fazendo com que testes de simulação sejam difíceis e não confiáveis; Sua empresa pode ser processada se o seu código falhar. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Limitação na representação numérica Acidentes e Erros Ariane 5 O Ariane 5 era um foguete espacial utilizado para levar satélites até suas órbitas, além de transportar outros tipos de cargas. Em Junho de 1996, a aeronave se auto destruiu um minuto após seu lançamento. O prejuízo foi de U$$ 7.5 bilhões de dólares. Limitação na representação numérica (64 bits/ 16 bits) Erro de trajetória 36,7 s após o lançamento 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Seminário da disciplina de PPD – PPGCC - PUCRS Acidentes e Erros Intel Em 1994, ouve um erro de vírgula flutuante no Pentium. A correção custou à empresa 475 milhões de dólares. O erro teria um custo insignificante se descoberto na fase de especificação. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Limitação na representação numérica Erro de 0,34 s no cálculo do tempo Acidentes e Erros Míssil Patriot O Patriot é um sistema de defesa Terra-Ar que pretende interceptar e destruir objetos voadores inimigos. Limitação na representação numérica (24 bits) Erro de 0,34 s no cálculo do tempo de lançamento 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Seminário da disciplina de PPD – PPGCC - PUCRS Conclusão O teste de software é uma das atividades mais custosas do processo de desenvolvimento de software. O rigor e o custo associado a esta atividade dependem principalmente da criticalidade da aplicação a ser desenvolvida. Porém, quanto mais eficazes forem os testes e o quanto antes as falhas forem descobertas, maior será a confiabilidade do sistema e menor será o seu custo. 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS

Seminário da disciplina de PPD – PPGCC - PUCRS Referências CRAIG, R.D., JASKIEL, S. P., “Systematic Software Testing”, Artech House Publishers, Boston, 2002.  IEEE Standard 610-1990: IEEE Standard Glossary of Software Engineering Terminology, IEEE Press. PFLEEGER, S. L., “Engenharia de Software: Teoria e Prática”, Prentice Hall- Cap. 08, 2004. ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C. et al., “Qualidade de software – Teoria e prática”, Prentice Hall, São Paulo, 2001. Software Bugs - http://www5.informatik.tu-muenchen.de/~huckle/ bugse.html FIM! 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS