A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Teste de Software Geórgenes Zapalaglio

Apresentações semelhantes


Apresentação em tema: "Teste de Software Geórgenes Zapalaglio"— Transcrição da apresentação:

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

2 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

3 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

4 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

5 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

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

7 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

8 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

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

10 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

11 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

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

13 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

14 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

15 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

16 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

17 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

18 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 : 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 - bugse.html FIM! 13/4/2005 Seminário da disciplina de PPD – PPGCC - PUCRS


Carregar ppt "Teste de Software Geórgenes Zapalaglio"

Apresentações semelhantes


Anúncios Google