Post on 07-Apr-2016
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Prof. MARCELO VASQUESmvasqueso@gmail.com
1
Conhecer as atividades de Testes do
processo de desenvolvimento
Entender as necessidades da etapa de teste
na melhoria da qualidade do sistema
Analisar os diversos tipos de testes
OBJETIVOS DA AULA
2
3
AS FASES DO PROCESSO
Requisitos
Testes Desenho
Implementação
Análise
Manutenção
Implantação
Concepção
4
O CICLO DE VIDA
Requisitos
Testes
Desenho
Implementação
Análise
Concepção
• Onde estão os erros?
Manutenção
Implantação
• A fase de teste tem como objetivo detectar possíveis defeitos ou erros que possam surgir NA da fase de implementação. • Nessa fase, DE TESTES deve-se coletar
os resultados e analisá-los E CONSERTÁ-LOS antes de sua implantação.
• Fase fundamental, muitas vezes rel2gada a segundo plano ou mesmo esquecida Incremento na QUALIDADE, na medida em que avaliamos sob várias óticas.
5
1ª. DEFINIÇÃO DE TESTE
6
1ª. DEFINIÇÃO DE TESTE
FASE: TESTES• Objetivo: encontrar erros não descobertos
– Bem sucedido: Acha erro não previsto – É preciso usar o produto
• Análise e verificação de todos os componentes do sistema. – Validar se estão em conformidade com os
requisitos anteriormente definidos. – Para uma melhor analise, o teste deve ser feito
por uma equipe independente, diferente da equipe desenvolvedora.
7
MODALIDADES DE TESTES• Classificação quanto ao uso do código
– Testes estáticos ou Verificações• ANTES da implementação• Inspeções, revisões, auditorias• Testes nas fases iniciais – qualidade• Qualidade no processo
– Testes dinâmicos ou Validações• DURANTE OU APÓS a implementação• Precisa de parte ou todo sistema encarnado• Qualidade no produto
8
MODALIDADES DE TESTES
9
Requisitos
Testes
Desenho
Implementação
Análise
Concepção
• Onde estão os erros?
Manutenção Implantação
TESTES ESTÁTICOS•REVISÕES•AUDITORIAS
TESTES ESTÁTICOS•REVISÃO DE CÓDIGOTESTES DINÂMICOS
•EXECUÇÃO
MODALIDADES DE TESTES• Classificação quanto objetivo
– Teste de Unidade (programação)• Em Unidades de programas.• Busca de Erros nos programas individuais
– Teste de Integração (prog / testes)• Identificar erros na integração dos diversos
módulos, já testados individualmente– Teste de Validação (testes)
• Realizado após a integração de TODOS os módulos
• Antes de IMPLANTAR10
ESTRATÉGIAS DE TESTES• TESTE DA CAIXA PRETA (+ simples)
– Não considera a forma como esta implementado – detalhes internos
– Objetivo: • o sw produz os resultados esperados? • Os requisitos estão sendo atendidos?
– Vantagem: não requer conhecimento técnico da tecnologia empregada ou da implementação aplicada requer profissional menos capacitado.
11
• TESTE DA CAIXA BRANCA (+ Complexos)– Baseados na arquitetura interna do software.
• Verificação de código – Objetivo: identificar defeitos nas estruturas
internas do sw, através da simulação que “testem” toda a estrutura usada na codificação
– Desvantagem: requer conhecimento técnico da tecnologia empregada pelo software e arquitetura interna da solução requer profissional BEM capacitado. Difíceis de serem implementados.
– Vantagem: eficientes na detecção de erros.• Casos de testes que cubram TODAS possibilidades
12
ESTRATÉGIAS DE TESTES
TESTE DE UNIDADE
1ª. Etapa do processo de validação.Testa UMA unidade: modulo/classeObjetivo: garantir a qualidade dos
componentes do software, individualmente, avaliando:
Estrutura interna usar estratégia de caixa branca
Se a unidade atende aos requisitos – usar testes da caixa preta
13
TESTE DE INTEGRAÇÃO Natural continuidade dos testes de
Integração Verificar a compatibilidade da nova
unidade com as demais, já prontas. Verificar se Juntas e integradas, as
unidades funcionam e realizam o trabalho que o sistema precisa.
Cuidado: alteração de componentes. Geralmente aplica-se estratégia da
caixa preta, testando as interfaces entre as unidades, que se integram
14
TESTES DE SISTEMAS (VALIDAÇÃO)
Estágio mais complexo da validaçãoValidam a solução como um todo.Aqui: as falhas individuais já estão sanadas
(espera-se).Ambiente (Hw, SO, rede e etc) bem próximo
da realidade da operação).Testar: integração com sistemas externos,
dispositivos físicos (hw)Dificuldade: vislumbrar os vários cenários de
uso.Várias tipos: stress, volume, performance
15
TESTES DE ACEITEHomologação: interna e externaÚltimo estágio do processo de
validação último processo formal de detecção de erros no sistema.
Uso por clientes e usuários validarem as funcionalidades
Usuários interagem com sistema completo.
Reduz o risco da entrega
16
IMPORTANTE
Planejar os testesDocumentar os testesValidar ao longo do processo.Não “queimar” etapas de testesEquipe especializada:
Preferencialmente: não ser equipe de desenvolvimento
17