Tópicos Motivação para teste Por que algumas empresas não testam

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Análise e Projeto de Sistemas I
Análise e Projeto de Sistemas III
Os projetos.
Qualidade de Software Aula 4
Gerenciamento do escopo
Adélia Barros Testes de Software Adélia Barros
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Participantes do Processo de Desenvolvimento de Software
Teste de Software.
Professor Sílder Lamas Vecchi
Teste de software Professor: Sílder Lamas Vecchi.
Revisões de Software Parte 1
Técnicas de 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.
Gestão de Defeitos Vanilson Burégio.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Metodologia Versão 2 FSRS.
Gerenciamento de Requisitos com Casos de Uso
Qualidade de Software Aula /1
Introdução aos conceitos de Teste de Software
RUPinho Qualidade de Software
Engenharia de Software
Visão Geral PRO.NET.
Fundamentos de Engenharia de SW
Introdução a Computação Trabalho Final PUC Minas – São gabriel
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Processos de Desenvolvimento de Software – Parte 2
Gerenciamento da Integração
Análise e Projeto de Sistemas
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Engenharia de Software com o RUP - Workflow de Testes Parte I
Teste de Sistemas de Software
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.
Gerência de Configuração - GC
ANÁLISE E DESENVOLVIMENTO
Fase de Concepção (Início, Planejamento)
Etapas do Projeto DC.IC.15 Data Revisão: 07/04/2017 Início Fim
O Processo de desenvolvimento de software
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Gerenciamento da Qualidade
Teste de Software Conceitos iniciais.
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
Automação de Testes de Software
Hukarz Open Source Process D01 Alan Kelon, Silvio Meira Recife, 01/12/2006.
Teste de Sistemas de Software
Base de Conhecimento em Teste de Software Gestão de Defeitos
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Desenvolvimento de Sistemas - Fluxo de Testes
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
Gerenciamento de Qualidade
Qualidade de Produtos de Software
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
RESPOSTAS A INCIDENTES E PLANO DE CONTINUIDADE DE NEGÓCIOS
1 YPM – Easy Project Management. 2 Complemento Francisco Eriko Barreto Brito Project Management Professional (PMP®) MBA em TI PMP Number: PMI.
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Estimativa, Teste e Inspeção de Software
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Gerência de Sub-Contratação - SAM
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
CMMI Capability Maturity Model Integration
Sistemas de Informações Sistemas Informações Empresariais 11. Administração de Sistemas Márcio Aurélio Ribeiro Moreira
Transcrição da apresentação:

Tópicos Motivação para teste Por que algumas empresas não testam Finalidades dos Testes Formando a Equipe de Testes Usando a Equipe de Desenvolvimento Usando uma Equipe independente Usando uma Equipe de não-especialistas em TI Relacionando as atividades de Testes com as de Desenvolvimento Processo de Teste Planejar Testes Especificar Testes Executar Testes Reportar Testes Gerenciamento de Bugs Ferramentas de Teste Mantis

Motivação para Teste

Motivação para Teste As falhas causam prejuízos financeiros As falhas causam a perda de confiança do cliente

Por que algumas empresas não testam? Dificuldade em implantar um processo de teste Teste é um processo caro Desconhecem técnicas de teste adequadas Desconhecem a relação custo/benefício Só se preocupam com teste na fase final do projeto

Motivação para Teste Segundo pesquisas do SEI ( Software Engineering Institute): 30% dos projetos são cancelados antes de serem finalizados 70% dos projetos falham nas entregas das funcionalidades esperadas; Os custos dos projetos extrapolam mais de 180% dos valores previstos;

Motivação para Teste Prazos excedem mais de 220% Empresas de nível 1 dedicam cerca de 55% dos esforços para corrigir defeitos Esses índices vão sendo gradativamente reduzidos à medida que elas adotam um modelo de qualidade

Finalidade dos Testes Verificar se todos os requisitos do sistema foram corretamente implementados Assegurar a satisfação do cliente com o produto desenvolvido Assegurar, na medida do possível, a qualidade e a corretude do software produzido Reduzir custos de manutenção corretiva e retrabalho

Finalidade dos Testes “Teste é o processo de demonstrar que erros não estão presentes” “O objetivo do teste é demonstrar que um programa executa suas funções corretamente” “Teste é o processo de criação de confiança de que o programa faz o que ele tem que fazer” Teste é o processo de executar um programa com a intenção de encontrar defeitos

Formando a Equipe de Testes Usando a Equipe de Desenvolvimento: - O Líder do Projeto de Desenvolvimento será também o Líder do Projeto de Testes; - A Equipe de Teste é a mesma Equipe de Desenvolvimento; - Os Testes serão executados através de rodízios, onde nunca a pessoa que desenvolveu o módulo executará testes no próprio modulo.

Formando a Equipe de Testes Desvantagens: - Diminuição da qualidade do produto final; - Tendência a não visualizar certos defeitos do projeto (testes de sucesso); - Tendência a informalidade na execução dos testes; - Dificuldade de conciliar os cronogramas das equipes de desenvolvimento; - Falta de conhecimento do negócio da equipe que for executar os testes.

Formando a Equipe de Testes Usando Equipe Independente: - Esta é uma prática que está sendo cada vez mais usada no mercado; - Equipes especializadas em teste produzem resultados, em termos de qualidade do software, muito melhores; - Essas equipes possuem um treinamento adequado para executar com qualidade os testes e estão bastante familiarizadas com as suas ferramentas e metodologias.

Formando a Equipe de Testes Desvantagens: - Custos maiores; - Aumento no tempo de liberação do software; - Tendência da equipe de desenvolvimento em relaxar na parte que lhe cabe (teste unitário e de integração); - Divergências entre as duas equipes.

Formando a Equipe de Testes Usando Equipes de não-especialistas em TI - Muitas empresas usam grupos de usuários para fazer o chamado trabalho de homologação do software ou o seu teste de aceitação; - A perspectiva é sempre a do negócio, ou seja, garantir que o software foi desenvolvido de acordo com os requisitos que foram estabelecidos pelo negócio.

Formando a Equipe de Testes Desvantagens: - Custos maiores; - Falta de familiarização com ferramentas; - Abordagens exclusivas do negócio, esquecendo aspectos técnicos do teste.

Estágios de Teste Entrega Testes de Aceitação Testes de Sistema Testes de Integração Testes de unidade

Ciclo de Vida Requisitos de usuário Testes de Aceitação Requisitos do sw/hw Testes de Sistema Design da arquitetura Testes de Integração Design detalhado Testes de unidade Implementação

Tipos de Teste Estáticos ou revisões: Revisão técnica: Consiste na apresentação do material para uma equipe de revisão onde será feita a análise do produto de trabalho; Inspeção: Consiste na verificação dos produtos do software e processo estão de acordo com os padrões, especificações e procedimentos;

Tipos de Teste Teste Funcional Teste de Recuperação de Falhas Teste de segurança e controle de acesso Teste de performance Teste de estresse Teste de configuração ou portabilidade Teste de interface com o usuário Teste de regressão

Abordagens de Teste Abordagem funcional(“caixa-preta”) Os testes são gerados a partir de uma análise dos relacionamentos entre os dados de entrada e de saída Abordagem estrutural(“caixa-branca”) Os testes são executados a partir de uma análise dos caminhos lógicos possíveis de serem executados.

Abordagem Funcional (Caixa Preta) Software visualizado como uma “caixa preta” Considera os dados de entrada e observa se a saída está de acordo com o esperado

Abordagem Estrutural (Caixa Branca) Interesse no que acontece “dentro da caixa” Avalia as funcionalidades internas dos componentes do software

Relacionando as atividades de Testes com as de Desenvolvimento Quando começar a testar? Planejamento de Projeto Captura de Requisitos Análise e Projeto Implementação Build Build Planejar Testes Projetar Testes Implementar Testes Executar Testes Avaliar Testes Gerenciar Defeitos

Processo de Teste - Planejar Testes - Especificar Testes - Executar Testes - Reportar Testes

Planejar Testes Entradas Documento de Requisitos Plano de Projeto Modelos de Caso de Uso Saídas Plano de Testes

Plano de Testes Histórico de Revisões 1.Objetivo 2.Requisitos a serem testados 3.Estágios de Teste 4.Tipos de Teste 5.Abordagens de Teste 6.Critérios de parada/aceitação 7.Recursos 8.Matriz de Responsabilidade 9.Cronograma

Projetar Testes Entradas Documento de Requisitos Plano de Testes Modelo de Caso de Uso Saídas Projeto de Testes(casos e procedimentos) Planilha de Teste

Projeto de Testes Histórico de Revisões 1. Requisitos a serem testados(prioridade) 2. Identificador do caso de Teste 3.Requisitos Associados 3.Casos de Teste 3.Tipo de Teste 4. Pré-condição 4.Dados de entrada 5.Procedimento 6.Resultado esperado 7.Status do teste

Execução de Testes Entradas Projeto de Testes Código executável do sistema Saídas Planilha de Teste

Relatório de Testes - Registrar resultados - Avaliar resultados - Encaminhar ao desenvolvedor responsável

Gerenciamento de bugs Classificação de defeitos: Faltante: O defeito ocorre em virtude da falta parcial ou total de um requisito; Errado: O defeito ocorre porque o requisito foi implementado corretamente; Acréscimo:O defeito ocorre em virtude de um comportamento ou elemento que foi implementado mas não foi especificado no requisito.

Gerenciamento de bugs Ciclo de vida de um defeito

Ferramentas de Teste - Automatizam atividades do processo de teste - Podem nos auxiliar em todas as atividades do processo de teste Ferramentas de planejamento e projeto de testes: Elaborar plano de testes. Ex: Project Projetar testes:Excel, TestManager Executar testes:Excel, TestManager Avaliar testes:Excel, TestManager Implementação: Junit(unidade), Jtest e C++Test (Análise estática de código) Gerência de defeitos: Bugzilla, Mantis

Ferramentas de Teste O Mantis é uma ferramenta Open Source automatizada escrita em PHP cujo principal objetivo é dar suporte ao processo de gestão de defeitos. Website do Mantis http://www.mantisbt.org

Página inicial

Relatar caso

Reconhecimento de um defeito

E-mail enviado ao desenvolvedor

Visão por desenvolvedor

Report da correção

Fechamento de um defeito

Perguntas e Dúvidas ?