TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Introdução a Algoritmos
Metodologia de testes Nome: Gustavo G. Quintão
ENGENHARIA DE SOFTWARE Garantia de Qualidade de Software
Adélia Barros Testes de Software Adélia Barros
Estratégias de Teste de Software
ISO Processos do Ciclo de Vida do Software
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Engenharia de Software
Teste de Software.
Tópicos Motivação para teste Por que algumas empresas não testam
Rational Unified Process(RUP)
Professor Sílder Lamas Vecchi
INTRODUÇÃO A INFORMÁTICA
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.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Introdução aos conceitos de Teste de Software
Estudo de Caso: Técnicas de Teste como parte do Ciclo de Desenvolvimento de Software Aline Pacheco Patric Ribeiro Diego Kreutz.
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Processos de Desenvolvimento de Software – Parte 2
Projeto: Capacitação em GP
Análise e Projeto de Sistemas
Engenharia de Software com o RUP - Workflow de Testes Parte I
Qualidade Qualidade é um dos principais objetivos da Engenharia de Software. Muitos métodos, técnicas e ferramentas são desenvolvidas para apoiar a produção.
Otimizando sua TI, maximizando seus negócios
Introdução e Fundamentos Engenharia de Requisitos
ANÁLISE E DESENVOLVIMENTO
Engenharia de Software
Qualidade de Software Eduardo Nicácio Guilherme Milreu Igor Furlan Jonas Frei Renata Policarpo Wesley Villar.
CURSO TÉCNICO EM SEGURANÇA DO TRABALHO
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
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.
O Processo de desenvolvimento de software
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.
Engenharia de Software
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.
Gestão de defeitos.
Introdução a Teste de Software
Processos de Software.
Processos de Software.
Técnicas e Projeto de Sistemas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Desenvolvimento de Sistemas - Fluxo de Testes
Engenharia de Software
Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro.
Engenharia de Software
Qualidade de Produtos de Software
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Introdução – ISO Conceitos relacionados a Norma NBR ISO/IEC 12207; Procedimentos de ciclo de vida e desenvolvimento de software; Objetivos e a estrutura.
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
Estimativa, Teste e Inspeção de Software
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.
GUTS-RS TESTES EM PROJETO DE IMPLANTAÇÃO ERP.
CMMI Capability Maturity Model Integration
O Processo Unificado (PU). 2 O que é o Processo Unificado (PU)? É um modelo de processo de software baseado no modelo incremental, visando a construção.
Sistemas de Informações Sistemas Informações Empresariais 11. Administração de Sistemas Márcio Aurélio Ribeiro Moreira
Transcrição da apresentação:

TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal Revisão/2016 1

CONTEÚDO Unidade 1 – Importância do teste de software O teste nas fases de desenvolvimento de um software. O teste na engenharia de sistemas e de programas Unidade 2 - Teste no projeto de sistema Revisões Técnicas Formais Validação pelo usuário 2

CONTEÚDO Unidade 3 – Teste no programa Depuração Teste de caixa branca Teste de caixa preta Teste de ambiente Web 3

CONTEÚDO Unidade 4 – Teste na implantação do sistema Teste de Unidade Teste de Integração Teste de Validação Teste de Sistema Teste na Migração 4

CONTEÚDO Unidade 5 – Teste de software em sistema em produção Teste de software nos diversos tipos de manutenção Confiabilidade Disponibilidade Unidade 6 – Ferramentas de teste de software Ferramentas de teste no desenvolvimento de sistema Ferramentas de teste para o programa Ferramentas de teste para o ambiente Web Ferramentas de teste para sistemas em produção 5

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. 6

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. 7

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

A IMPORTÂNCIA DO TESTE Não é raro gastarmos entre 30 e 40% do esforço total do projeto no Teste de Software. O Teste de Software para ambientes críticos (ex.: controle de voo, monitoramento de reatores nucleares e etc.) pode custar de três a cinco vezes mais do que todos os outros passos de engenharia de software combinados. 9

índice de falhas curva real curva idealizada tempo mudança 10

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); 11

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. 12

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. 13

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. 14

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. 15

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. 16

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. 17

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: 18

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

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. 20

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. 21

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. 22

INTERAÇÃO ENTRE OS CICLOS DE VIDA 23

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. 24

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. 25

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. 26

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. 27

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. 28

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. 29

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. 30