Вы находитесь на странице: 1из 27

Testes de Software

Andrew Diniz da Costa


andrew@les.inf.puc-rio.br

Agenda
Conceitos gerais
Principais Tipos de Teste
Testes Unitrios
Testes Funcionais

O que so testes de
software?
Atividades realizadas ao longo do desenvolvimento,que
verificam se o software e seus componentes
atendem s suas especificaes.

Testes de Software garantem que o sistema foi


desenvolvido corretamente e o mesmo possui as
caractersticas de qualidade esperadas.

O que so testes de
software?
Atividades controladas visando
identificar problemas
Envolve aes que vo do levantamento
de requisitos at a execuo dos testes
propriamente ditos
Verifica resultados encontrados X
resultados esperados
Prevenir, localizar e documentar
defeitos
Minimizar o impacto potencial de
defeitos, detectando-os antes da
entrega do produto ao cliente

Por que testar?


Aumentar a Qualidade dos produtos gerados,
atravs da preveno de defeitos, realizao de
testes e validaes no desenvolvimento de
software.
Garantir que o produto gerado atenda s expectativas do
cliente.
Garantir que o produto gerado atende s especificaes
(requisitos funcionais e no funcionais) do sistema.
Garantir que o produto gerado funciona corretamente no
ambiente de produo.
Garantir que alteraes realizadas no sistema e em seus
componentes gerem os resultados esperados e no
comprometam a integridade do sistema.
Reduzir ao mximo a incidncia de defeitos nos produtos
entregues, bem como a sua severidade.

Custo de Correo
O custo de 1 problema 200 vezes maior
se for reparado aps a implantao
Estgio

1a2

Requisitos

Projeto

10

Codificao

20

Teste de Unidade

50

Teste de Aceitao

200

Custo Relativo de Reparo

Manuteno

Tipos de Testes

Teste de Unidade
Teste de Integrao
Teste de Regresso
Teste de Sistema
Teste de Aceitao
Teste de Integridade de Dados e de Banco de Dados
Teste Funcional
Diferenas
Teste de Interface com o usurio
Diferenasentre
entrealguns
algunstipos
tiposde
de
testes
Teste de desempenho
testesno
noso
somuito
muitoclaras
claras
Teste de Carga
Ex.:
Ex.:Teste
TesteFuncional
FuncionalXXTeste
Teste
de
Teste de Stress
deSistema
SistemaXXTeste
Testede
de
Aceitao
Aceitao
Teste de Segurana
Voc
Teste de Tolerncia a Falhas
Vocprovavelmente
provavelmentedeve
deveter
terem
em
mente
Teste de Recuperao
mentealgum
algumtipo
tipode
deteste
testeque
que
no
noest
estnessa
nessalista
lista

Teste de Configurao
...

Boa Prtica
importante fazer um bom levantamento de
Requisitos
Identificar os cenrios
O que obrigatrio
Fazer prottipo de tela
Tirar ambigidades

Bons casos de uso facilitam o trabalho dos


testes
Caso contrrio, o trabalho que deveria ser
realizado no levantamento de requisitos vai ser
realizado no levantamento dos casos de testes.

Boas Prticas
Os testes devem ser repetveis
Deve-se prevenir a propagao de defeitos entre as
fases do desenvolvimento
Testes de sistemas ou funcionais devem ser
executados por uma equipe preparada e independente
da equipe de desenvolvimento.
Devem existir ambientes isolados para a realizao
dos diversos tipos de teste
Implementar testes automatizados
Focar os testes na parte crtica do sistema

Testes Unitrios

Introduo
Teste Unitrio
O teste unitrio implementado com base no
menor elemento testvel (unidades) do
software.
Implica em testar a estrutura interna (como
fluxo lgico e de dados), a funo da unidade e
os comportamentos observveis.

O que unidade?
Componente, classe, mtodo, etc.

Caixa Branca

Tecnologias
JUnit e DBUnit
JUnit
Realiza testes unitrios
Ex: Verifica se algum mtodo realiza o clculo
esperado.
API - http://www.junit.org/

Demonstrao

E o DBUnit?

Motivao
CPF

Nome

Endereo

11111111

Joo

Rua da Passagem
122

22222222

Maria

Rua Candido Mendes


22

33333333

Ana

Av. Ns. Copacabana


131

CPF

Nome

Endereo

11111111

Joo

Rua da Passagem
122

22222222

Maria

Rua Candido Mendes


22

33333345

Ana

Av. Ns. Copacabana


131

Motivao

...

...

Motivao
Modelo Relacional

Procedure (.....)

Resultados Esperados

Tabela Temporria
Coluna1

Coluna2

Coluna3

Coluna1

Coluna2

Coluna3

xxxxxx

xxxxx

xxxxx

xxxxxx

xxxxx

xxxxx

xxxxx

xxx

xx

xxxxx

xxx

xx

xxx

xx

xx

xxx

DBUnit
Extenso dos casos de teste do JUnit
Consistncia do modelo de dados
Oferece mecanismos de exportao
Carga do banco de dados antes dos
testes
Mtodos de comparao

Demonstrao

Concluso
DBUnit uma extenso do JUnit
DBUnit realiza testes unitrios voltados
para banco de dados
DBUnit uma API gratuita.

Testes Funcionais

Testes Funcionais
Teste caixa preta que simula a interao
do usurio com o sistema
Geralmente baseado em cenrios de
testes extrados dos casos de uso ou de
descries das funcionalidades
Representam um dos testes de maior nvel
de granularidade
Utilizado em fases mais avanadas do
ciclo de desenvolvimento

Teste Funcional

Documentao de Testes

Qual a importncia de
documentar casos de teste?
Descrever o passo a passo de cada caso de teste.
Importante para permitir a disseminao do
conhecimento e para ajudar na manuteno.
Existem diversas ferramentas no mercado que
auxiliam nesse processo de documentao,
como:
Rational Test Manager
Rational Quality Manager
...

Demonstrao do Rational
Test Manager

Fim!!
Perguntas?

1/8/2011

@LES/PUC-Rio

27

Оценить