Você está na página 1de 20

Teste de Software

Engenharia de Software
Fernando Cesar Miranda
verso 1.2 - 01/05/2013

Teste de Software
A atividade de teste de software um

elemento crtico para a garantia da qualidade


de software e representa a ltima reviso da
especificao, projeto e codificao.
40% do esforo de projeto total em teste.
3x a 5x em softwares crticos (controle de

vo, monitorao de reatores nucleares, etc).

Fundamentos do Teste de
Software
Construo x Demolio.
Texto do Pressman 787.
A atitude de teste deve promover a culpa?
A atitude de teste realmente destrutiva?

Objetivos da Atividade de Teste


de Software
A atividade de teste de software o

processo de executar o sistema com a


inteno de descobrir um erro.
Um bom caso de teste aquele que tem
uma alta possibilidade de revelar um erro
que ainda no havia sido descoberto.
Um teste bem sucedido aquele que
revela um erro ainda no descoberto.
A atividade de teste no pode mostrar a
ausncia de erros, ela s pode mostrar se
os defeitos de software esto presentes.

Fluxo da Informao de Teste


Depurao

Atividade de
Teste

Resultado do
Teste

Correes

Avaliao

Modelo de
Confiabilidade
Confiabilidade
Prevista

Fluxo da Informao de Teste


Configurao de software:
Requisitos de software.
Especificao de projeto.
Cdigo fonte.

Configurao de teste:
Plano e procedimento de teste.
Casos de teste.
Ferramentas de teste.

Projeto de Casos de Teste


Abordagens:
Conhecendo-se a funo especfica que o

produto projetado deve executar, testes


podem ser realizados para demonstrar que a
funo totalmente operacional.
Conhecendo-se o funcionamento interno do
produto testes podem ser projetados para
garantir que a operao interna do produto
tem desempenho de acordo com as
especificaes e que os componentes internos
foram adequadamente postos prova.

Teste da Caixa Branca (White


Box)
Garantam que todos os caminhos

independentes dentro de um mdulo


tenham sido exercitado ao menos uma
vez.
Exercitam todas as decises lgicas para
os valores falso e verdadeiro.
Executam todos os laos em suas
fronteiras e dentro de seus limites
operacionais.
Exercitam as estruturas de dados
internas para garantir a sua validade.

Teste da Caixa Branca (White


Box)
Teste do caminho bsico:

Complexidade ciclomtica e alcanabilidade.

Teste de estruturas de controle:


Teste de condio.
Teste de laos.

Teste de Condio
Teste de ramo.
Teste de domnio.
Teste de ramos e de operadores relacionais
(Branch Relacional Operator Testing BRO).

Teste de Estruturas de
Controle
Teste de laos:

Laos simples.
Laos aninhados.
Laos encadeados.
Laos no estruturados.

Teste da Caixa Preta (Black


Box)
Funes incorretas ou ausentes;
Erros de interface;
Erros nas estruturas de dados ou no acesso

a banco de dados externos;


Erros de desempenho;
Erros de inicializao e trmino.

Particionamento de
Equivalncia.

Divide o domnio de entrada em classe de

dados a partir dos quais os casos de testes so


derivados.
Classificao:
Intervalo.
Valor especfico.
Conjunto.
Booleana.

Anlise do valor limite (Boundary Value

Analisys BVA).
If (x > y) then S1 else S2.

Estratgia de Teste de
Software.

Caractersticas genricas da abordagem

para teste de software:

A atividade de teste inicia-se no mdulo e

prossegue no sentido da integrao.


Diferentes tcnicas so utilizadas em
diferentes perodos.
A atividade de teste pode ser desenvolvida
internamente ou no.
Teste e depurao so atividades distintas.

Verificao e Validao
Verificao: Estamos construindo certo o

produto?
Validao: Estamos construindo o produto

certo?

Estratgia de Teste
Engenharia de Sistemas

Requisitos

Projeto

Cdigo

Teste de Unidade

Teste de Integrao

Teste de Validao

Teste de Sistema

Estratgia de Teste
Critrios de concluso.
Etapas:
Teste de unidades.
Teste de integrao:
Teste de validao.
Teste de sistema.
Teste alfa e beta.

Teste Alfa e Beta


Alfa: levado a efeito por um cliente nas

instalaes do desenvolvedor.
Beta: realizado em uma ou mais

instalaes do cliente por um usurio final.

Teste de Sistema
Teste de recuperao.
Teste de segurana.
Teste de estresse.
Teste de desempenho.

Debugging (Depurao)

Execuo dos Casos


de Teste

Casos de
Teste

Resultados

Testes
Adicionais

Causas
Suspeitas
Depurao

Testes de
Regresso
Correes

Causas
Identificadas