estratégias e técnicas de testes - parte1
DESCRIPTION
Slides da da palestra sobre Estratégias e Técnicas de Testes, apresentada por mim, na data de 19/11/2013 aos formandos do curso de Análise de Sistemas da instiutição IBESTRANSCRIPT
Estratégias e Técnicas de Teste
de Software Lorena Caldas – 19/11/2013
Currículo
• Analista de Testes – CPM Braxis / Capgemini • Curso Técnico – Desenvolvimento Software –
SENAI
• Graduação - Análise e Desen. de Sistemas – IFBA
• Pós-Graduação – GSORT – IFBA
• Certificada ISTQB
• Publicações – USP / Capgemini
Referências
• Livro - Engenharia de Software, Roger Pressman • Livro – Base de Conhecimento em Teste de Software -
Certificação CBTS / ALATS – Anderson Bastos, Emerson Rios, et. Al.
• Artigos – Rex Black
• Syllabus – CTFL / ISTQB
• Comunidade de Testes – Site Elias Nogueira
• Slides da Qualidade BR – Fabrício de Campos
Resumo da Apresentação
• Parte 1 – Introdução ao Teste de Software
▫ Principais Conceitos
▫ Estratégias de Teste
• Parte 2 – Técnicas de Teste de Software
▫ Técnicas, Situações e Ferramentas
Principais Conceitos
Estratégias de Testes
O que é bug?
• Tradução = Percevejo, besouro
E bug no software?
Tipos de Bug
Existe bug zero?
• A atividade de teste não pode mostrar a ausência de bugs; ela só pode mostrar se defeitos de software estão presentes. - Pressman
Qual a necessidade de testar?
• Garantir que o sistema faz o que deveria fazer
• Garantir que o sistema não faz o que não deveria fazer
Quais são os objetivos em testar?
• Descobrir erros;
• Exercitar o sistema;
• Analisar a capacidade e ambiente de operação do software.
Ciclo do bug
Principais Conceitos
Qualidade do Software X Teste de
Software • Conceito de Qualidade
▫ Atender aos requisitos do cliente – ISO
• Qualidade do Software
▫ Conduzir as variáveis do produto – ISTQB
• Teste de Software
▫ É uma forma de controlar a qualidade do software - ALATS
O que é?
• Atividade da Qualidade do Software
• Etapa do processo de Desenvolvimento do software
• Processo da Gestão de Sistemas
▫ Planejamento
▫ Modelagem
▫ Execução
▫ Revisão
▫ Acompanhamento
Teste é uma atividade isolada?
Como medir a qualidade do produto?
Erros Moderados
Erros Graves
Erro Zero Erros Fáceis
Baixa Confiabilidade
Baixa
Qu
an
tid
ad
e d
e er
ros
Quantidade de funcionalidades
Como medir a qualidade do produto?
• Erros Graves => a qualidade e a confiabilidade de software são suspeitas
• Erros Fáceis de corrigir => a qualidade e a
confiabilidade do software estão aceitáveis ou os testes são inadequados para revelar erros graves
• Se não for encontrado erro => a configuração de
teste não foi suficientemente elaborada e erros estão escondidos no software
Processo de Teste de Software
• Planejamento e Acompanhamento ▫ Define a Abordagem, Estratégia, Técnicas, Abrangência dos testes
e Critérios de Parada para as atividades. • Modelagem
▫ Documentação dos testes, com a criação dos roteiros, checklists, manuais de uso do sistema e relatórios de entrega.
• Execução ▫ Envolve preparação do ambiente, criação das massas de entrada e
a execução dos roteiros. • Revisão
▫ Avaliação dos produtos de trabalho e resultados das atividades (qualitativos e quantitativos)
• Acompanhamento ▫ Mede os escopos das atividades de teste e os ajusta.
Etapas Ver & Val
• Verificação – revisão do projeto
• Validação – revisão do produto
Erro, Defeito e Falha
• Erro:
▫ Ação humana
• Defeito
▫ Introdução do erro no projeto do sistema
• Falha
▫ Exibição do defeito no sistema
Estratégias de Teste
Quais aspectos devem ser observados?
• Que:
▫ O software faz o que deveria fazer
▫ Que não faz o que não deveria fazer
▫ Que ele é compatível com o ambiente
▫ Que ele é confiável
▫ Que ele é seguro
▫ Que ele é íntegro
▫ Que ele tem bom desempenho
Como testar o software? • Depende ▫ Tipo de software Desktop, Web, Mobile e Híbrido
▫ Arquitetura do sistema Bottom up Top down
▫ Abrangência Sistema Unidade Integração
▫ Fase Confirmação Aceite Manutenção
Por Tipo de Software
• Desktop ▫ Interface, base de dados e compatibilidade
• Web ▫ Interface, lado cliente, lado servidor e base de
dados
• Mobile ▫ Interface, lado cliente, lado servidor, base de
dados, compatibilidade e comunicação
• Híbrido ▫ Todas as camadas resultantes da combinação
Por Arquitetura do Sistema
• Top-down
▫ Primeiro módulo da hierarquia até o último
• Bottom-up
▫ Último módulo da hierarquia até o primeiro
Por Abrangência
• Sistema:
▫ Todos os módulos do sistema
• Unidade:
▫ Somente um módulo do sistema
• Integração:
▫ Interação entre os módulos
Por Fase
• Confirmação: antes de ser entregue ao cliente
• Aceite: quando está sendo entregue ao cliente
• Manutenção: após ser entregue ao cliente
▫ Pode ser: regressão total ou básica (fumaça)
Quais métodos podem ser utilizados?
• Segue Modelo de Gerência:
▫ Cascata
Ao término da construção do software
(projeto + programação)
▫ Incremental
Ao final de cada fase de desenvolvimento
(requisitos -> projeto ->programação)
▫ RUP
Cumprindo as fases paralelas desse processo
(iniciação -> elaboração -> construção -> transição)
▫ Cascata
▫ Incremental
▫ RUP
Quais métodos podem ser utilizados?
• Modelo V – Método tradicional
Quais métodos podem ser utilizados?
• Testes Ágeis ▫ SCRUM Sprints
▫ Kanban Linhas de Produção Pacotes e feedbacks
▫ XP Requisitos vagos Fases curtas Mudanças incrementais
▫ TDD e BDD Testes unitários
Dúvidas???