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

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

Testes de Software - CCT0103

Apresentações semelhantes


Apresentação em tema: "Testes de Software - CCT0103"— Transcrição da apresentação:

1 Testes de Software - CCT0103
Prof. Me. Ronnison Reges Vidal

2 Quem sou? Graduação e Mestrado em Ciência da Computação – UERN/UFERSA
Professor e Pesquisador LES/UERN (Laboratório de Engenharia de Software) Linhas de Pesquisa Redes em Chip Sistemas de Tempo Real Sistemas Embarcados Engenharia de Software Lattes -

3 A Disciplina Contextualização, Ementa, Objetivos e Conteúdos

4 Contextualização A Área de Sistemas de Informação é de vital importância no mundo moderno, uma vez que as empresas utilizam sistemas informatizados para a gestão de seus negócios. A construção e a manutenção desses sistemas devem obedecer procedimentos técnicos adequados e dentre eles, destaca-se o teste do software. A atividade de teste de software é complemento indispensável à atividade de construir e manter sistema. A aplicação de teste de software deve ser planejada, supervisionada, executada e avaliada.

5 Ementa A importância do teste de software;
Teste no projeto de sistema; Teste no programa; Teste na implantação do sistema; Teste de software em sistema em produção; Ferramentas de teste de software.

6 Objetivos Conhecer as técnicas de teste de software para aplicação no ambiente de desenvolvimento e produção de sistemas.

7 Objetivos Identificar necessidade de uso de teste de software nas diversas fases de vida e de construção do software. Selecionar os testes adequados para cada situação; Criar e escolher estratégias de teste de software; Aplicar e analisar teste de software.

8 Conteúdos UNIDADE 1- Importância do teste de software
UNIDADE 2 - Teste no projeto de sistema UNIDADE 3 - Teste no programa UNIDADE 4 - Teste na implantação do sistema UNIDADE 5 - Teste de software em sistema em produção

9 Bibliografia Básica PRESSMAN, R. S.. Engenharia de software. 6. ed. São Paulo: McGraw-Hill, 2006. DELAMARO, M.; MALDONADO, J. C.; JINO, M.. Introdução ao Teste de Software. 1. ed. Rio de Janeiro: Elsevier, 2007. PEZZÉ, M.; YOUNG, M.. Teste e análise de software: Processos, princípios e técnicas. 1. ed. Porto Alegre: Bookman, 2008.

10 Bibliografia Complementar
MOLINARI, L.. Inovação e automação de testes de software. 1. ed. São Paulo: Editora Érica, 2010. RIOS, E.. Análise de riscos e projetos de teste de software. 1. ed. Rio de Janeiro: Alta Books, 2005. BARTIÉ, A.. Garantia da qualidade de software: adquirindo maturidade organizacional. 8. ed. Rio de Janeiro: Elsevier, 2002. RIOS, E.; MOREIRA FILHO, T. R.. Teste de software. 2. ed. Rio de Janeiro: Alta Books, 2006. MOLINARI, L.. Testes de software: produzindo sistemas melhores e mais confiáveis. 1. ed. São Paulo: Editora Érica, 2003.

11 Detalhes Importantes Avaliação, Presenças e Faltas, Celulares e Conversas, e Ferramentas

12 Avaliação AF - Atividade de Fixação TE - Trabalho Escrito
Instrumento de Avaliação Data AV1 20/04 AV2 01/06 AV3 22/06 AF - Atividade de Fixação TE - Trabalho Escrito PE - Prova Escrita

13 Presenças e Faltas

14 Conversas e Celulares

15 Ferramentas

16 Estratégias de Testes de Software
Terminologia, Tipos, Estratégia de Testes

17 A IMPORTÂNCIA DO TESTE O desenvolvimento de sistemas envolve uma série de atividades em que as oportunidades de injeção de falhas são muito grandes. Estes erros podem começar a aparecer logo no início do processo, onde os objetivos podem estar erroneamente especificados, além de erros que venham a ocorrer em fases de projeto e desenvolvimento posteriores.

18 A IMPORTÂNCIA DO TESTE Por causa da inabilidade humana de realizar e de se comunicar com perfeição, o desenvolvimento é acompanhado de garantia de qualidade. A atividade de teste de software é um elemento crítico da garantia de qualidade de software e representa a última revisão de especificação, projeto e codificação.

19 Custo Estágio de desenvolvimento Requisitos Codificação Entrega
CUSTO DO REPARO Estágio de desenvolvimento Requisitos Codificação Entrega

20 A IMPORTÂNCIA DO TESTE curva real mudança índice de falhas
curva idealizada tempo 20

21 DEFININDO O TESTE DE SOFTWARE
Avaliar se o software está fazendo o que deveria fazer, de acordo com os seu requisitos, e não está fazendo o que não deveria fazer; Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema, seja possível determinar se ele alcança os resultados desejados. (Bill Hetzel – 1988). Processo de executar um programa ou sistema com a intenção de encontrar defeitos (Glen Myers – 1979);

22 DEFININDO O TESTE DE SOFTWARE
Segundo Pressman, o teste de software é um conjunto de atividades que podem ser planejadas com antecedência e executadas sistematicamente. Uma estratégia de teste de software deve acomodar testes de baixo nível, necessários para verificar se um pequeno segmento de código fonte foi implementado corretamente, bem como testes de alto nível, que validam as funções principais do sistema de acordo com os requisitos do cliente.

23 DEFININDO O TESTE DE SOFTWARE
A atividade de teste é um passo do processo de Engenharia de Software que visa encontrar/corrigir erros ao longo do software que foi construído. Testes podem ser usados para descobrir a presença de erros, mas não para mostrar a sua ausência. Testes de software é o processo de executar o software de uma maneira controlada com o objetivo de descobrir dife-renças entre o comportamento previsto e o comportamento observado.

24 ESTRATÉGIAS DE TESTE Todas estratégias fornecem um modelo para o teste e têm basicamente as seguintes características:  Para executar um teste eficaz, proceder a revisões técnicas eficazes. Fazendo isso, muitos erros serão eliminados antes do começo do teste. O teste começa no nível do componente e progride em direção à integração do sistema computacional como um todo.

25 ESTRATÉGIAS DE TESTE Todas estratégias fornecem um modelo para o teste e têm basicamente as seguintes características:  Diferentes técnicas de teste são apropriadas para diferentes abordagens de engenharia de software e em diferentes momentos  O teste é feito pelo desenvolvedor do software e (para grandes projetos) por um grupo independente de teste.  O teste e a depuração são atividades diferentes, mas a depuração ocorre em consequência de um teste.

26 ESTRATÉGIAS DE TESTE A atividade de teste é o processo de executar um programa com a intenção de descobrir um erro. Um bom caso de teste é aquele que possui uma elevada probabilidade de revelar um erro ainda não descoberto. Um teste bem-sucedido é aquele que revela um erro ainda não descoberto.

27 DIRETRIZES PARA O TESTE
Determinar quando o teste deve ser interrompido. Atribuir a responsabilidade do teste a um testador. Descrever os resultados esperados para cada caso de teste. Escrever casos de teste para condições de entrada válidas e inválidas. Inspecionar o resultado de cada teste por completo. Alocar os programadores mais criativos para teste.

28 O PROCESSO DE TESTE O processo de teste de software deve basear-se em uma metodologia aderente ao processo de desenvolvimento, com pessoal técnico qualificado, ambiente e ferramentas adequadas. Esta metodologia de teste deve ser o documento básico para organizar a atividade de testar aplicações no contexto da empresa. Assim como o processo de desenvolvimento de software, teste de software também possui um ciclo de vida:

29 Planejamento Preparação O PROCESSO DE TESTE Procedimentos Iniciais
Especificação Execução Entrega Preparação

30 O PROCESSO DE TESTE Planejamento: Elaboração e revisão da Estratégia de teste e do plano de teste; Preparação: Preparação do ambiente de teste, incluindo equipamentos, rede, pessoal, software e ferramentas.

31 O PROCESSO DE TESTE Procedimentos iniciais: Consiste na elaboração de documento com o estabelecimento de um acordo entre as partes envolvidas no projeto de teste (usuários e técnicos):   Objetivo do projeto de teste, Pessoal a ser envolvido, As responsabilidades de cada um; O plano preliminar de trabalho; Avaliação dos riscos; Os níveis de serviços acordados e etc.

32 O PROCESSO DE TESTE Especificação: Elaboração e revisão dos casos de teste , “scripts” ( no caso de ferramentas de automação de testes) e dos roteiros de Teste e execução dos testes de verificação da documentação do sistema (testes estáticos).  Execução: Execução dos testes planejados conforme os Casos de Teste, “scripts” e dos roteiros de Teste com os correspondentes registros dos resultados obtidos.  Entrega: conclusão do processo de testes com a entrega do sistema para o ambiente de produção.

33 INTERAÇÃO ENTRE OS CICLOS DE VIDA

34 O PROCESSO DE TESTE Há muitas estratégias que podem ser utilizadas para testar um software. Uma das estratégias de teste que é preferida pela maioria das equipes é a visão incremental do teste, começando com o teste das unidades individuais de programa, passando para os testes destinados a facilitar a integração de unidades e culminando com testes que usam o sistema concluído. Verificação: Nesta etapa são realizadas inspeções/revisões sobre os produtos gerados.

35 O PROCESSO DE TESTE Testes Unitários: São realizados no estágio mais baixo da escala de testes e são aplicados nas menores componentes de códigos criados, visando garantir que estes atendem as especificações, em termos de garantia e de funcionalidade. Verificam o funcionamento de um pedaço do sistema ou software isoladamente ou que possam ser testado separadamente. Normalmente é feito pelos desenvolvedores.

36 O PROCESSO DE TESTE Testes de integração: São executados em uma combinação de componentes para verificar se ele funcionam corretamente juntos, conforme as especificações. Componentes podem ser pedaços de código, módulos, aplicações distintas, clientes servidores. Normalmente é feito pelos desenvolvedores.

37 O PROCESSO DE TESTE Teste de sistema: São realizados pela equipe de testes, visando a execução do sistema como um todo ou um subsistema (parte de um sistema), dentro de um ambiente operacional controlado, para validar a exatidão e perfeição na execução de suas funções. Neste estágio de teste deve ser simulada a operação normal do sistema, sendo testadas todas as suas funções de forma mais próxima possível do que irá ocorrer no ambiente de produção. Esses testes são feitos pela equipe de teste de software.

38 O PROCESSO DE TESTE Teste de aceitação: São os testes finais de execução do sistema, realizados pelos usuários, visando verificar se a solução atende aos objetivos do negócio e aos seus requisitos, no que diz respeito À funcionalidade e usabilidade, antes da sua utilização no ambinete de produção.

39 O PROCESSO DE TESTE Ao tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de desenvolvimento, os custos de manutenção serão reduzidos. Segundo Myers, o custo de correção de defeitos tende a aumentar quanto mais tarde o defeito é detectado. Defeitos encontrados durante a produção tendem a custar muito mais que defeitos encontrados em modelos de dados e em outros documentos do projeto do software.

40 O PROCESSO DE TESTE Os testes unitários podem remover entre 30% e 50 % dos defeitos dos programas;  Os testes de sistemas podem remover entre 30% e 50% dos defeitos remanescentes.  Desse modo, os sistemas podem ir para produção ainda com aproximadamente 49% de defeitos.  Por últimos, as revisões de códigos podem reduzir entre 20% e 30% desses defeitos.

41 O PROCESSO DE TESTE Os testes unitários podem remover entre 30% e 50 % dos defeitos dos programas;  Os testes de sistemas podem remover entre 30% e 50% dos defeitos remanescentes.  Desse modo, os sistemas podem ir para produção ainda com aproximadamente 49% de defeitos.  Por últimos, as revisões de códigos podem reduzir entre 20% e 30% desses defeitos.


Carregar ppt "Testes de Software - CCT0103"

Apresentações semelhantes


Anúncios Google