Você está na página 1de 20

Teste de Software

Professor: Aldo Rocha

Agenda

Verificao e Validao
Teste de Software: Definio e Conceitos
Tcnicas de Teste
Fases de Teste
Processo de Teste

Verificao e Validao

O desenvolvimento de software est sujeito a


diversos tipos de problemas, os quais acabam
resultando na obteno de um produto diferente
daquele que se esperava.
Muitos fatores podem ser identificados como
causas de tais problemas, mas a maioria deles
tem uma nica origem: erro humano (Delamaro
et al., 2007).
As atividades de Verificao e Validao (V&V)
visam garantir, respectivamente, que:

o software est sendo desenvolvido corretamente,


o software que est sendo desenvolvido o software
correto.

V&V: Esttica x Dinmica

As atividades de V&V costumam ser divididas em


estticas e dinmicas.
As estticas no requerem a execuo ou
mesmo a existncia de um programa ou modelo
executvel para serem realizadas.
As dinmicas se baseiam na execuo de um
programa ou modelo (Delamaro et al., 2007).

Teste de Software

o processo de executar um programa com o


objetivo de encontrar defeitos (Myers, 1979).
, portanto, uma atividade de V&V dinmica.
Do ponto de vista psicolgico, o teste de
software uma atividade com um certo vis
destrutivo, ao contrrio de outras atividades do
processo de software.

Perspectiva de Teste

Bons testadores necessitam de um conjunto


especial de habilidades. Um testador deve
abordar um software com a atitude de
questionar tudo sobre ele (McGregor e Sykes,
2001).
A perspectiva de teste , um modo de olhar
qualquer produto de desenvolvimento e
questionar a sua validade.
Habilidades requeridas na perspectiva de teste:

Querer prova de qualidade,


No fazer suposies,
No deixar passar reas importantes,
Procurar ser reproduzvel.

Perspectiva de Teste

A perspectiva de teste requer que um fragmento


de software demonstre no apenas que ele
executa de acordo com o especificado, mas que
executa apenas o especificado (McGregor e
Sykes, 2001).
O software faz o que deveria fazer e somente
isso?

Teste de Software
COMO RESPONDER A PERGUNTA ACIMA?
Executa-se um programa ou modelo utilizando
algumas entradas em particular e verificar-se se
seu comportamento est de acordo com o
esperado.
Caso a execuo apresente algum resultado no
especificado, um defeito foi identificado.
Os dados da execuo podem servir como fonte
para a localizao e correo de defeitos, mas
teste no depurao (Delamaro et al., 2007).

Teste de Software

TIPOS DE TESTES

Teste Funcional ou Caixa-Preta

Tcnica de projeto de casos de teste na qual o


programa ou sistema considerado uma caixapreta.
Para test-lo, so fornecidas entradas e
avaliadas as sadas geradas para verificar se
esto em conformidade com os objetivos
especificados.
Os detalhes de implementao no so
considerados.
O software avaliado segundo o ponto de vista
do usurio (Delamaro et al., 2007).
10

Teste Estrutural ou Caixa Branca

Estabelece os requisitos de teste com base em uma dada


implementao, requerendo a execuo de partes ou
componentes elementares de um programa.
Baseia-se no conhecimento da estrutura interna do
programa.
Caminhos lgicos so testados, estabelecendo casos de
teste que pem prova condies, laos, definies e usos
de variveis.

Exemplo: Se o programa aceita um valor inteiro de entre 1 e 100,


um teste de caixa branca testa ento o programa com todos os 100
valores para assegurar que todos esto corretos para cada um e para
testar outros valores possveis.

11

Teste Baseado em Modelos

Trata-se de uma tcnica onde os casos de teste so


baseados em modelos que trazem informaes das
funcionalidades do sistema a ser testado;
A abstrao est intimamente ligada ao apresentado
no modelo;
visto como uma forma de teste caixa-preta porqu
no est ligado diretamente ao cdigo fonte.

12

Fases de Teste

A atividade de teste dividida em fases com


objetivos distintos. De uma forma geral, pode-se
estabelecer como fases (Delamaro et al., 2007):

Teste de Unidade
Teste de Integrao
Teste de Sistema

13

Teste de Unidade

Tem como foco as menores unidades de um


programa.

Nesta fase esperam-se encontrar defeitos


relacionados a algoritmos incorretos ou mal
implementados, estruturas de dados incorretas
ou simples erros de programao.

Pode ser aplicado medida que ocorre a


implementao das unidades e pode ser
realizado pelo prprio desenvolvedor.
14

Teste de Integrao

Deve ser realizado aps serem testadas as


unidades individualmente.

A nfase colocada na construo da estrutura


do sistema.

Deve-se verificar se as partes, quando colocadas


para trabalhar juntas, no conduzem a erros.

Requer grande conhecimento das estruturas


internas do sistema e, por isso, geralmente
executado pela prpria equipe de
desenvolvimento (Delamaro et al., 2007).
15

Teste de Sistema

Uma vez integradas todas as partes, inicia-se o


teste de sistema.

Quando realizado por uma equipe de teste, o


objetivo verificar se as funcionalidades
especificadas na especificao de requisitos
foram corretamente implementadas.

Quando realizado por usurios, o objetivo


validar o sistema (Teste de Aceitao).

16

Teste de Regresso

A cada novo mdulo adicionado ou alterao, o


software se modifica. Essas modificaes podem
introduzir novos defeitos, inclusive em funes
que previamente funcionavam corretamente.

Assim, necessrio verificar se as alteraes


efetuadas esto corretas e, portanto, deve-se
reexecutar algum subconjunto de testes que j
foi conduzido para garantir que as modificaes
no esto propagando efeitos colaterais
indesejados (Pressman, 2006).
17

Processo de Teste

O processo de teste pode ser definido como um processo


separado, mas intimamente ligado, ao processo de
desenvolvimento. Isso porque eles tm metas e medidas
de sucesso diferentes.

Por exemplo, quanto menor a taxa de defeitos (razo


entre o no de casos de teste que falham pelo total de casos
de teste), mais bem sucedido considerado o processo de
desenvolvimento. Por outro lado, quanto maior a taxa de
defeitos, considera-se mais bem sucedido o processo de
teste (McGregor e Sykes, 2001).

18

Processo de Teste

Independentemente da fase de teste, o processo


de teste inclui as seguintes atividades:

Planejamento
Anlise de Requisitos de Teste
Projeto de Casos de Teste
Implementao de Casos de Teste
Execuo
Anlise

19

Referncias

Delamaro, M.E., Maldonado, J.C., Jino, M.,


Introduo ao Teste de Software, Srie Campus
SBC, Editora Campus, 2007.
Koscianski, A., Soares, M.S., Qualidade de
Software, Editora Novatec, 2006.
Myers, G.J., The Art of Software Testing, 2nd
edition, John Wiley & Sons, 2004.
McGregor, J.D., Sykes, D.A., A Practical Guide to
Testing Object-Oriented Software, AddisonWesley, 2001.
Pressman, R.S., Engenharia de Software. 6a
edio, McGrawHill, 2006.
20

Você também pode gostar