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

Introduo a Testes de

Software

Apresentar e discutir os conceitos bsicos


sobre o processo de testes
Entender como criar e utilizar os artefatos
gerados ao longo deste processo
Apresentar de maneira geral, os diferentes
tipos de ferramentas que podem ser
utilizadas no processo de testes
Exercitar os conceitos apresentados

Introduo a testes de software | 2

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivos do curso

Existe grande possibilidade de injeo de


falhas humanas no processo de
desenvolvimento de software
O processo de testes faz parte da garantia
de qualidade de software (SQA)
Os custos associados s falhas de software
justificam um processo de testes cuidadoso e
bem planejado

Introduo a testes de software | 3

Copyright 2002 Qualiti. Todos os direitos reservados.

Motivao

Verificar se todos os requisitos do sistema


foram corretamente implementados
Assegurar, na medida do possvel, a
qualidade e a corretude do software
produzido
Reduzir custos de manuteno corretiva e
retrabalho
Assegurar a satisfao do cliente com o
produto desenvolvido

Introduo a testes de software | 4

Copyright 2002 Qualiti. Todos os direitos reservados.

Finalidade dos testes

Produzir casos de teste que tm elevada


probabilidade de revelar um erro ainda no
descoberto com uma quantidade mnima de
tempo e esforo
Comparar o resultado dos testes com os
resultados esperados a fim de produzir uma
indicao da qualidade e da confiabilidade
do software
Verificar a correta integrao entre todos os
componentes de software
Introduo a testes de software | 5

Copyright 2002 Qualiti. Todos os direitos reservados.

Finalidade dos testes

Mdulos do curso
2. Relao
com fases e
outros fluxos

4. Ferramentas
de testes

5. Referncias

3. Fluxo de
testes
Copyright 2002 Qualiti. Todos os direitos reservados.

1. Conceitos
chave

Introduo a testes de software | 6

Conceitos Chave

Conceitos Chave

Copyright 2002 Qualiti. Todos os direitos reservados.

Processo de Teste
Abordagens de Teste
Estgios de Testes
Tipos de Teste
Teste de Regresso
Casos de Teste
Procedimento de Teste

Introduo a testes de software | 8

Processo de teste
- Um processo de teste define atividades e prticas

usadas para se testar um software, assim como


artefatos usados nas atividades. Considerando que a
qualidade do processo de teste tem relao direta com
a qualidade final do produto desenvolvido.

Objetivo

- Definir como os testes sero planejados e executados


atravs de atividades e passos.

Introduo a testes de software | 9

Copyright 2002 Qualiti. Todos os direitos reservados.

Definio

Processo de teste
- Otimiza o esforo e tem maior eficcia

impossvel provar a ausncia total de erros!

Introduo a testes de software | 10

Copyright 2002 Qualiti. Todos os direitos reservados.

Quando bem planejado e controlado

Processo de teste
Incorpora:

planejamento dos testes


requisitos a serem testados e priorizao
estratgias de testes
cronograma, esforo e recursos exigidos

projeto dos testes


casos e procedimentos de testes

implementao dos testes


scripts e componentes de teste

execuo dos testes


manual e/ou automtica

avaliao dos testes


cobertura
tendncia dos defeitos
critrios de sucesso
Introduo a testes de software | 11

Copyright 2002 Qualiti. Todos os direitos reservados.

Abordagens de teste
-

Os testes so gerados a
partir de uma anlise dos
relacionamentos entre os
dados de entrada e sada,
com base nos requisitos
levantados com os
usurios.
Geralmente aplicado
durante as ltimas etapas
do processo de teste.

Dados de Entrada

Sistema

Dados de Sada
Introduo a testes de software | 12

Copyright 2002 Qualiti. Todos os direitos reservados.

Abordagem funcional
(caixa preta)

Abordagens de teste
Abordagem estrutural
(caixa branca)
Os testes so gerados a
partir de uma anlise
dos caminhos lgicos
possveis de serem
executados, de modo a
conhecer o
funcionamento interno
dos componentes do
software.

Copyright 2002 Qualiti. Todos os direitos reservados.

Introduo a testes de software | 13

Os estgios de teste definem o momento do


ciclo de vida do software em que so
realizados os testes. So eles:

- Teste de Unidade
- Teste de Integrao
- Teste de Sistema
- Teste Aceitao

Introduo a testes de software | 14

Copyright 2002 Qualiti. Todos os direitos reservados.

Estgios de Teste

Estgios de Teste
Testes em quatro estgios

Teste de unidade
Nvel de Subsistema

Teste de integrao
Nvel de Sistema

Teste de sistema
Teste de aceitao
Introduo a testes de software | 15

Copyright 2002 Qualiti. Todos os direitos reservados.

Nvel de Mdulo

Estgios de teste
- Componentes individuais (ex: classes, mtodos) so
testados para assegurar que os mesmos operam de
forma correta

Teste de integrao

- A interface entre as unidades integradas testada

Introduo a testes de software | 16

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de unidade

Estgios de teste
- Os elementos de software integrados com o ambiente
operacional (hardware, pessoas, etc.) so testados
como um todo

Teste de aceitao (homologao)

- O software testado pelo usurio final


- Envolve treinamento, documentao e empacotamento

Introduo a testes de software | 17

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de sistema

Teste de Unidade
- Antecipa a correo de defeitos

Objetivo:

- Testar a estrutura interna (lgica e fluxo de dados)


e comportamento

Introduo a testes de software | 18

Copyright 2002 Qualiti. Todos os direitos reservados.

Reduz o custo dos defeitos encontrados

Teste de Unidade
So testados:
Componentes individuais (ex: classes, mtodos) para
assegurar que os mesmos operam de forma correta
A interface com a unidade para garantir que as informaes
fluem para dentro e para fora da mesma
Manipulao de dados inconsistentes ou imprprios
Condies de limite para garantir que a unidade opera
adequadamente nos limites estabelecidos
Caminhos de controle importantes e de tratamento de erros
dentro das fronteiras da unidade (teste caixa branca)

Este teste geralmente feito pelo prprio


desenvolvedor

Introduo a testes de software | 19

Copyright 2002 Qualiti. Todos os direitos reservados.

Driver

Mdulo a
ser testado

Interface
Estrutura de dados local
Condies limite
Caminhos independentes
Caminhos de tratamento de erros

Casos de teste
Stub1

Stub2

Driver programa principal,


que aceita dados do caso de
teste, passa estes dados
para o mdulo a ser testado
e visualiza os dados
relevantes.
Stubs mdulos que
substituem (dubls) outros
mdulos subordinados.
Utiliza a interface do
mdulo subordinado,
manipula os dados e retorna
um resultado esperado.

Resultados

Futuros mdulos que sero


implementados em prximas iteraes
Introduo a testes de software | 20

Copyright 2002 Qualiti. Todos os direitos reservados.

Estratgia para Teste de Unidade

Unidades ou aplicaes que foram testadas


em separado so testadas de forma
integrada
A interface entre as unidades integradas
testada
O teste de integrao deve ser feito de
forma incremental, ou seja, as unidades
devem ser integradas em pequenos
segmentos
Este teste executado por um testador de
integrao (geralmente o desenvolvedor)
Introduo a testes de software | 21

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Integrao

Teste Unitrio

Teste de
Integrao

CadastroContas

CadastroContas

<<interface>>
RepositorioContas

<<interface>>
RepositorioContas

RepositorioContasStub

RepositorioContasBDR

Introduo a testes de software | 22

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Integrao

A integrao dos mdulos pode ser feitas atravs


das abordagens top-down ou bottom-up:
Top-down Os mdulos so integrados de cima
para baixo. O teste usa driver e stubs.

- O driver utilizado como mdulo de controle principal,

e os mdulos reais so substitudos por stubs.


medida que os testes vo sendo realizados os stubs
so substitudos pelos mdulos reais, um de cada vez.

Introduo a testes de software | 23

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Integrao

Bottom-up a integrao feita a partir do


nvel mais bsico da hierarquia. Os stubs
nem sempre so necessrios.

- Os mdulos do nvel inferior so combinados.


- Para cada combinao criado um driver que
-

coordena a entrada e a sada dos casos de teste.


O mdulo testado.
O driver substitudo pela combinao de
mdulos correspondentes, que passam a interagir
com os mdulos do nvel superior.

Introduo a testes de software | 24

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Integrao

Teste de Integrao
- Vantagem: os testes das funes principais so

realizados no incio.
Desvantagem: criao de stubs complexos.

Bottom-up

- Vantagem: podem no precisar de stubs.


- Desvantagem: o mdulo principal s testado
quando todos os mdulos dos nveis inferiores
estiverem sido testados.

Introduo a testes de software | 25

Copyright 2002 Qualiti. Todos os direitos reservados.

Top-down

Verifica se a aplicao est funcionando como


um todo
A integrao dos componentes de software com
o ambiente operacional similar ao de produo
(hardware, software, pessoas e outros sistemas)
testada
Geralmente um teste caixa-preta, executado
por um testador de sistemas (idealmente
membro de um grupo independente de testes)

Introduo a testes de software | 26

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Sistema

Testes de caixa preta, realizados pelo usurio a fim


de demonstrar a conformidade com os requisitos do
software.
Envolve treinamento, documentao e empacotamento
Podem ser de duas categorias:
Testes alfa

Feitos pelo usurio, geralmente nas instalaes do


desenvolvedor, que observa e registra erros e/ou problemas

- Testes beta

Feitos pelo usurio, geralmente em suas prprias


instalaes, sem a superviso do desenvolvedor. Os
problemas detectados so ento relatados para o
desenvolvedor

- Se possvel, o usurio poder fazer uso da

documentao gerada na disciplina de testes. Ex:


Projeto de Testes
Introduo a testes de software | 27

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de Aceitao

Teste funcional
Teste de recuperao de falha
Teste de segurana e controle de acesso
Teste de integridade de dados
Teste de performance
Teste de volume
Teste de estresse
Teste de configurao
Teste de instalao
Teste de interface
Teste de documentao
Teste de ciclo de negcios

Introduo a testes de software | 28

Copyright 2002 Qualiti. Todos os direitos reservados.

Tipos de testes

Tipos de teste
Teste funcional (regras de negcio)

regras de negcio (fluxo de trabalho) testada


Condies vlidas e invlidas
Exemplo: Realizar Matrcula de Aluno. Na maioria
das vezes testa-se as funcionalidade de forma
isolada.

Introduo a testes de software | 29

Copyright 2002 Qualiti. Todos os direitos reservados.

- A funcionalidade geral do sistema em termos de

Tipos de teste
Teste de recuperao de falhas

maneiras para que seja verificado o seu


comportamento, bem como a adequao dos
procedimentos de recuperao. A recuperao
pode ser automtica ou exigir interveno
humana.
Exemplo: Interrupco de Impresso por falta de
energia. O sistema deve ser capaz de retornar e
informar ao usurio da impresso pendente.

Introduo a testes de software | 30

Copyright 2002 Qualiti. Todos os direitos reservados.

- O software forado a falhar de diversas

Tipos de teste
Teste de segurana e controle de acesso

acesso esto funcionando satisfatoriamente


Exemplo: Logar-se no sistema atravs do teclado
virtual. O sistema dever ser capaz de validar o
usurio se possvel, criptografando os dados e depois
habilitar uma sesso.
No permitir que usurios no autorizados acessem
dados sigilosos.

Introduo a testes de software | 31

Copyright 2002 Qualiti. Todos os direitos reservados.

- Verifica se todos os mecanismos de proteo de

Tipos de teste
Teste de integridade de dados

de dados e a garantia das informaes armazenadas


independente da interface o usurio.
Exemplo: Atualizar informaes cadastrais. Deve-se
validar se as informaes realmente foram
atualizadas.

Introduo a testes de software | 32

Copyright 2002 Qualiti. Todos os direitos reservados.

- Verifica a corretude dos mtodos de acesso base

Tipos de teste
- Verifica tempo de resposta e processamento
-

(para diferentes configuraes, diferentes cargas


de trabalho, nmero de usurios, tamanho do BD,
etc.)
Exemplo
Recuperar uma conta do usurio em x segundos
Processar a transao y em x segundos

Introduo a testes de software | 33

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de performance

Tipos de teste
- Verificar o comportamento do sistema sob

condies de carga de trabalho diferente do


normal.
O teste de volume submete grandes quantidades
de dados ao sistema para determinar se limites
que causam a falha do software so alcanados.

Introduo a testes de software | 34

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de volume (carga)

Tipos de teste
- Verifica a funcionalidade do sistema em

situaes limite ou fora da tolerncia esperada.


Pouca memria ou rea em disco, alta competio por
recursos compartilhados (ex: vrios acessos/transaes
no BD ou rede)
Exemplo: Verificar se o sistema funciona corretamente,
mesmo estando com sua memria cheia.

Introduo a testes de software | 35

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de estresse

Tipos de teste
- Verifica o funcionamento adequado do sistema em

diferentes configuraes de hardware/software


O que testar

Compatibilidade do software/hardware
Configurao do servidor
Tipos de conexes com a Internet
Compatibilidade com o browser

Introduo a testes de software | 36

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de configurao ou portabilidade

Tipos de teste
- Verifica a correta instalao e desinstalao do

sistema para diferentes plataformas de


hardware/software e opes de instalao
O que testar

Compatibilidade do hardware e software


A funcionalidade do instalador/desinstalador sob
mltiplas opes e condies de instalao
A interface do programa instalador/desinstalador

Introduo a testes de software | 37

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de instalao e desinstalao

Tipos de teste
- Aparncia e comportamento da interface
- Navegao
- Consistncia
- Aderncia a padres
- Tempo para aprender como usar o programa
- Funcionalidade

Introduo a testes de software | 38

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de interface com o usurio

Tipos de teste
- Como a informao apresentada ao usurio?
- Quais os controles da UI sero testadas (caixa de
-

dilogo, boto, menus)?


Os nomes dos controles e caixas de dilogo so
intuitivas e consistentes?
Os textos e grficos so carregados como
desejado?
Os comandos de botes executam as aes
corretamente?

Introduo a testes de software | 39

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de interfaces com o usurio

Tipos de teste
Teste de documentao

informao correta e apropriada:


online
escrita
help sensvel ao contexto

Introduo a testes de software | 40

Copyright 2002 Qualiti. Todos os direitos reservados.

- Verifica se a documentao corresponde

Tipos de teste
Teste de ciclo de negcios

durante um ciclo de atividades relativas ao


negcio.

- Exemplo: Realizar Matrcula de Aluno com

pendncias financeiras. Neste exemplo podemos


observar vrias rotinas necessrias para realizar a
matrcula. Uma delas resolver as pendncias
financeiras e depois matricular. Os casos de
testes devem ser bem planejados.
Principalmente porque depende de massas de
dados.
Introduo a testes de software | 41

Copyright 2002 Qualiti. Todos os direitos reservados.

- Garante que o sistema funciona adequadamente

Re-execuo de testes feitos aps uma


manuteno corretiva ou evolutiva.
Em processos de desenvolvimento iterativos,
muitos dos artefatos produzidos nas
primeiras iteraes, como casos e
procedimentos de teste, so usados em
iteraes posteriores nos testes de
regresso.

Introduo a testes de software | 42

Copyright 2002 Qualiti. Todos os direitos reservados.

Teste de regresso

Caso de teste

- Iremos explorar com mais detalhes no mdulo de


Fluxo de Testes.

Introduo a testes de software | 43

Copyright 2002 Qualiti. Todos os direitos reservados.

Cenrio de teste associado a um requisito.

Conjunto de passos detalhados que descrevem


como o caso de teste ser executado.
Condies/instrues de setup
Estado inicial da aplicao
Como (ex: atravs de ferramentas de
automao de testes, scripts, etc.) e quando
fornecer os dados de entrada e obter os
resultados da sada
Passos para execuo dos testes
Forma de avaliao dos resultados
Introduo a testes de software | 44

Copyright 2002 Qualiti. Todos os direitos reservados.

Procedimento de teste

Identifique as abordagens, estgios e tipos


de testes realizados nas aplicaes
desenvolvidas por sua empresa, citando
exemplos.

Introduo a testes de software | 45

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 1

Relao com as Fases e


Outros Fluxos

Comea nas fases iniciais de desenvolvimento


um processo contnuo

- Aumento de qualidade
- Diminuio de risco

Testes de regresso so necessrios


Qtde Bugs

Builds

Introduo a testes de software | 47

Copyright 2002 Qualiti. Todos os direitos reservados.

Testes - desenvolvimento
iterativo

Ciclo de vida do teste

Planejamento
de Projeto

Captura de
Requisitos

Anlise e
Projeto

Implementao

Build

Build

Ciclo de vida de teste


Planejar Testes

Projetar Testes

Implementar
Testes

Executar Testes
Avaliar Testes

Gerenciar Defeitos

Introduo a testes de software | 48

Copyright 2002 Qualiti. Todos os direitos reservados.

Ciclo de vida de desenvolvimento

Fases, iteraes e fluxos de


atividades
Fases
Concepo

Elaborao

Iterao
Preliminar

Iter.
#1

Construo

Transio

Requisitos.......................................
Anlise e Projeto............................
Implementao...............................
Testes.............................................
Implantao...................................

Fluxos de Suporte
Planejamento e Gerenciamento.....
Gerncia de Configurao e Mudanas

Iter.
#2

Iter.
#i

Iter.
#i+1

Iter.
#i+2

Iter.
#n

Iter.
#n+1

Iteraes

Introduo a testes de software | 49

Copyright 2002 Qualiti. Todos os direitos reservados.

Fluxos de Atividades

O planejamento inicial dos testes ocorre na


fase de Concepo, durante o planejamento
do projeto
O foco principal na fase de Elaborao o
projeto e execuo de testes de integrao,
de forma a validar e estabelecer uma
arquitetura estvel para o sistema
Na fase de Construo, o foco principal das
atividades de teste o projeto e execuo
de testes de sistema dos diversos requisitos
implementados
Introduo a testes de software | 50

Copyright 2002 Qualiti. Todos os direitos reservados.

Relao com as fases de


desenvolvimento

Durante a fase de Transio, o foco dos


testes muda para a homologao e avaliao
de corretude das mudanas efetuadas devido
a defeitos encontrados
Apesar de existirem focos localizados de
testes de determinados estgios (integrao,
sistema, homologao) em cada uma das
fases de desenvolvimento, possvel a
ocorrncia de qualquer um deles em cada
uma das fases
Introduo a testes de software | 51

Copyright 2002 Qualiti. Todos os direitos reservados.

Relao com as fases de


desenvolvimento

Relao com as fases de


desenvolvimento
Marcos
principais

Elaborao

escopo

arquitetura

Testes de
Integrao

Planejamento
Inicial de Testes

Construo

Transio

operao

lanamento

Testes de Sistema

Testes de
Homologao

Introduo a testes de software | 52

Copyright 2002 Qualiti. Todos os direitos reservados.

Concepo

O fluxo de requisitos produz o primeiro subsdio


para a identificao dos testes de sistemas que
sero executados
O fluxo de anlise e projeto descreve como
desenvolver um projeto e isto um subsdio para a
definio dos testes de integrao
No fluxo de planejamento e gerenciamento, os
testes para cada iterao so planejados e
documentados no Plano da iterao
Finalmente, os cdigos produzidos no fluxo de
implementao so testados no fluxo de testes
Introduo a testes de software | 53

Copyright 2002 Qualiti. Todos os direitos reservados.

Relao com outros fluxos de


atividades

Relao com outros fluxos de


atividades
Requisitos Anl. & Proj. Implementao

Elaborao de Casos de
Teste de Integrao

Elaborao de Casos de
Teste de Sistema

Testes

Implantao

Execuo de Testes de
Integrao e Sistemas

Elaborao e Execuo
de Testes de Unidade

Testes de
Homologao

Introduo a testes de software | 54

Copyright 2002 Qualiti. Todos os direitos reservados.

A cada iterao ...

Atividades, Artefatos e
Responsabilidades do
Fluxo de Testes

Apresentar atividades do Fluxo de Testes


Discutir os artefatos e responsveis
envolvidos na realizao das atividades do
fluxo

Introduo a testes de software | 56

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivos deste mdulo

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 57

Copyright 2002 Qualiti. Todos os direitos reservados.

Fluxo de Atividades

Responsveis e artefatos

Plano de
Testes

Planilha de
Testes

Massa de
Dados

Desenvolvedor
ou
Automatizador

Projeto de
Testes

Testador / Executor

Planilha de
Testes

Componentes
de Testes
Relatrio de
Avaliao de
Testes
Scripts
Automatizados

Registro de
Solicitao de
Mudanas

Estratgia
de Testes

Introduo a testes de software | 58

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetista de Testes ou
Arquiteto de Teste

Elaborar Plano e Estratgia de Testes.


Define os requisitos a serem testados.
Define o cronograma de execuo dos testes.
Descreve os cenrios de testes.
Descreve os casos de testes.
Cria os pacotes de execuo (suites).
Inventrio dos componentes de testes.
Identifica procedimentos de testes.

Introduo a testes de software | 59

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetista de Testes

Realiza testes de sistema e dos componentes


do sistema.
Libera os Log de execuo dos testes
automatizados.
Registra os defeitos.

Introduo a testes de software | 60

Copyright 2002 Qualiti. Todos os direitos reservados.

Testador

Implementa os testes automticos.


Realiza testes unitrios e de integrao.

Introduo a testes de software | 61

Copyright 2002 Qualiti. Todos os direitos reservados.

Desenvolvedor

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 62

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Elaborar plano de testes

- Dar direcionamento e controle as atividades de


-

teste para determinada demanda de projeto


Documentar as informaes relevantes ao
planejamento dos testes para cada iterao
Definir os requisitos a testar
Recursos e prazos

Introduo a testes de software | 63

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivos

Elaborar plano de testes

Plano de Projeto
Documento de requisitos
Modelo de casos de uso
Plano de Gerncia de Riscos do Projeto

Sadas
Plano de testes
Plano de Gerncia de Risco do Projeto
Cronograma do Projeto.

Responsvel
Gerente de Testes / Projetista de testes
Introduo a testes de software | 64

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Identificar requisitos a testar


Definir prioridades
Definir recursos
Elaborar cronograma

Introduo a testes de software | 65

Copyright 2002 Qualiti. Todos os direitos reservados.

Elaborar plano de testes:


passos

Requisitos devem ser passveis de verificao


Tipos de requisitos

- funcionais (casos de uso)


- no-funcionais

Introduo a testes de software | 66

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Identificar requisitos a


testar

Passo 1: Identificar requisitos a


testar

Copyright 2002 Qualiti. Todos os direitos reservados.

Requisitos funcionais
Requisitos no funcionais

- Performance
- Configurao
- Instalao
- GUI

Introduo a testes de software | 67

Passo 1: Identificar requisitos a


testar

- Associados a RNFs de desempenho


- Executados por mais de um ator
- Alta percentagem de uso no sistema
- Requerem recursos significantes do sistema

Identificar casos de uso significantes

- Devem ser executados antes ou depois do caso de uso


crtico
- So executados com freqncia
- So executados enquanto os casos de uso crticos so
executados

Introduo a testes de software | 68

Copyright 2002 Qualiti. Todos os direitos reservados.

Identificar casos de uso crticos

Exerccio 2 Definio dos requisitos a


testar.

Introduo a testes de software | 69

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 2

Identificar requisitos a testar


Definir prioridades
Definir recursos
Elaborar cronograma

Introduo a testes de software | 70

Copyright 2002 Qualiti. Todos os direitos reservados.

Elaborar plano de testes:


passos

Inicialmente feita a avaliao dos riscos


associados a uma falha na satisfao dos requisitos,
sobre vrias perspectivas:
Impacto de falha no requisito sobre o sistema

ex: qual o impacto se houvesse perda de conexo com a


Internet durante uma transao?

- Probabilidade de ocorrncia de algum problema


relacionado ao requisito

ex: qual a probabilidade da perda de conexo?

Introduo a testes de software | 71

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Definir prioridades

Passo 2: Definir prioridades


Tabela de riscos

RQ001
RQ002
RQ003
RQ007

Impacto

1
3
4
2

Probabilidade

Risco Avaliado

1
0

1
2
2
3

3
3

Valores usados para preenchimento de avaliao dos riscos:


- 4: Muito Alto
- 3: Alto
- 2: Mdio
- 1: Baixo
- 0: Muito Baixo

O risco avaliado como a mdia aritmtica dos fatores considerados,


arrendondado para o nmero inteiro maior e mais prximo

Introduo a testes de software | 72

Copyright 2002 Qualiti. Todos os direitos reservados.

Requisito

A avaliao da prioridade dos testes se


baseia em 3 fatores:

- Risco avaliado: apresentado anteriormente;


- Freqncia: relacionado a quantidade de vezes

que o requisito executado durante um perodo


de utilizao do sistema;
Importncia: comparao de importncia entre
os requisitos. Este valor tem um grau de
subjetividade;

Introduo a testes de software | 73

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Definir prioridades

Passo 2: Definir prioridades


Tabela de Prioridade

Freqncia Importncia

RQ001
RQ002
RQ003

1
3
4

RQ007

1
0

Risco Avaliado Prioridade

1
2

1
2

Valores usados para preenchimento de avaliao dos riscos:


- 4: Muito Alto
- 3: Alto
- 2: Mdio
- 1: Baixo
- 0: Muito Baixo

Introduo a testes de software | 74

Copyright 2002 Qualiti. Todos os direitos reservados.

Requisito

Exerccio 3 Definio de prioridades dos


requisitos a testar. Utilizando uma planilha,
priorize os requisitos do sistema QIB.

Introduo a testes de software | 75

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 3

Identificar requisitos a testar


Definir prioridades
Definir recursos
Elaborar cronograma

Introduo a testes de software | 76

Copyright 2002 Qualiti. Todos os direitos reservados.

Elaborar plano de testes:


passos

Passo 3: Definir recursos


Recursos humanos
Copyright 2002 Qualiti. Todos os direitos reservados.

- principais
- de apoio

Ambiente de testes

- hardware
- software

Ferramentas de Teste

Introduo a testes de software | 77

Define os requisitos a testar, o cronograma e


os tipos de testes empregados
Define os casos e procedimentos de teste
Define os dados de teste
Avalia o progresso dos testes
Conhecimentos:

- processo de testes
- anlise e projeto
- requisitos do sistema e tecnologia adotada

Introduo a testes de software | 78

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo de recurso humano:


projetista de testes

Prepara o ambiente de teste


Executa os testes
Avalia os resultados e registra os defeitos
encontrados
Conhecimentos:

- Processo de teste
- Configurao de ambientes
- Componentes e ferramentas de testes

Introduo a testes de software | 79

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo de recurso humano:


testador

Automatiza procedimentos de testes,


criando componentes de teste consistentes
com os casos de teste associados.
Conhecimentos:

- Processos de testes
- Linguagens de programao
- Aplicao a ser testada
- Ferramentas de teste

Introduo a testes de software | 80

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo de recurso humano:


desenvolvedor

Gerencia o ambiente de testes


Instala novos usurios
Instala novos softwares
Conhecimentos

- Experincia em administrao de sistemas


- Familiaridade com ferramentas de
gerenciamento de testes

Introduo a testes de software | 81

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo de recurso humano:


administrador de sistemas

Identificar requisitos a testar


Definir prioridades
Definir recursos
Elaborar cronograma

Introduo a testes de software | 82

Copyright 2002 Qualiti. Todos os direitos reservados.

Elaborar plano de testes:


passos

Alocao de recursos s atividades de teste


Clculo de esforo associado s atividades de
teste

- Estimativas
- Base histrica

Definio de marcos de referncia

Introduo a testes de software | 83

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 4: Elaborar cronograma

Passo 4: Elaborar cronograma


Marco

Artefatos

Data Alvo

Definio da Estratgia de Teste

Estratgia de Teste

Xx / xx / xxxx

Definio da Arquitetura de Teste

Fluxo de Eventos de Teste


Cenrios de Teste
Projetos de Teste

Xx / xx / xxxx

Montagem do Ambiente de Teste

Ambiente de Teste

Xx / xx / xxxx

Arquitetura de Automao

Xx / xx / xxxx

Entrega da Build para Teste

Build

Xx / xx / xxxx

Incio da Execuo

Relatrios Gerenciais

Xx / xx / xxxx

Final da Execuo

Relatrios Gerenciais

Xx / xx / xxxx

Construo
da
Automao

Arquitetura

de

Introduo a testes de software | 84

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplos de marcos de referncia

Planejar testes
-

Desenvolver o Plano de Testes baseado no Plano de


Projeto.
Identificar os recursos necessrios.
Identificar sistemas externos que interagem com a
aplicao.
Identificar os requisitos de desempenho (tempo de
resposta, nmero de usurios concorrentes).
Incluir caractersticas que sero testadas para informar ao
consumidor o que ser testado durante o ciclo de vida do
teste.
Incluir caractersticas que no sero testadas para informar
ao consumidor o que no ser testado durante o ciclo de
vida do teste.

Introduo a testes de software | 85

Copyright 2002 Qualiti. Todos os direitos reservados.

O que fazer

O que fazer ?(continuao ...)


Atualizar o Cronograma do Projeto atravs
da anlise dos recursos disponveis na
estrutura da Equipe ;
Definir time do projeto e responsabilidades
das atividades de teste;
Determinar o critrio de concluso dos
teste;
Atualizar o gerenciamento dos riscos do
projeto com os aspectos relacionados a
teste.

Introduo a testes de software | 86

Copyright 2002 Qualiti. Todos os direitos reservados.

Elaborar plano de testes

Planejar testes
- No usar um esboo de um Plano de Testes que

no tenha sido aprovado.


No fazer mudanas em algum Plano de Testes sem
ter alguma notificao oficial.

Introduo a testes de software | 87

Copyright 2002 Qualiti. Todos os direitos reservados.

O que no fazer

Quais requisitos esto disponveis para


testes?
Qual a quantidade de software que ser
testada e o tempo gasto para testar esta
quantidade?
Quantas pessoas estaro envolvidas nos
testes?
Quais ferramentas de testes esto
disponveis?

Introduo a testes de software | 88

Copyright 2002 Qualiti. Todos os direitos reservados.

Planejar testes: resumo

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 89

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Elaborar Estratgia de Teste

uma boa prtica antes de se iniciar a elaborao do


documento de Estratgia de Teste, agendar uma
reunio de apresentao do sistema alvo de teste,
com a presena dos lderes das outras Unidades do
projeto e da equipe de teste;
Um projetista de testes mais experiente dever ser
alocado para ser o responsvel pela atividade;

Deve-se identificar qual ser a verso e release que


ser tratada pela Estratgia de Teste;
Introduo a testes de software | 90

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivo
A definio da Estratgia de Teste acontecer logo
aps a definio do Plano de Testes;

Elaborar Estratgia de Teste

Plano de testes
Documento de requisitos
Modelo de casos de uso
Plano de Gerncia de Riscos do Projeto

Sadas
Estratgia de Teste
Cronograma do Projeto.

Responsvel
Gerente de Testes / Projetista de testes

Introduo a testes de software | 91

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Estratgia de Teste: passos


Estabelecer Escopo do Teste

Definir Ambiente de Teste


Selecionar / Definir Ferramentas de Testes

Introduo a testes de software | 92

Copyright 2002 Qualiti. Todos os direitos reservados.

Definir Equipe de Testes

Juntamente com o Gerente de Testes o


projetista (ou arquiteto de testes) dever
montar a equipe de Testes envolvida na
demanda;
Ser necessrio identificar pontos focais da
equipe de projeto como um todo;

Introduo a testes de software | 93

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Definir Equipe de Teste

Passo 1: Definir Equipe de


Teste
Exemplo:
Equipe de Teste
Papel

Perodo

Gustavo Bueno

Gerente de Teste

Completo

Gustavo Alves

Arquiteto de Teste
Projetista de Teste

Marlia Oliveira

Arquiteto de Teste
Projetista de Teste

Ricardo Fernandes

Automatizador

E-mail

Telefone

Completo
Completo
Completo

Equipe do Projeto
Nome

Papel

Perodo

Alessandro

Gerente do Projeto

Completo

Juliana

Analista de Negcio

Completo

Adeline

Analista de Negcio

Completo

Ricardo Fernandes

Analista de Negcio

Completo

E-mail

Telefone

Introduo a testes de software | 94

Copyright 2002 Qualiti. Todos os direitos reservados.

Nome

Estratgia de Teste: passos


Estabelecer Escopo do Teste

Definir Ambiente de Teste


Selecionar / Definir Ferramentas de Testes

Introduo a testes de software | 95

Copyright 2002 Qualiti. Todos os direitos reservados.

Definir Equipe de Testes

Representar uma viso macro do sistema


alvo de teste;
Verificar se o sistema possui integrao com
outro sistema ou entidade externa;
Definir quais partes sero simuladas durante
os testes e quais partes dos testes sero
consideradas durante os testes;

Introduo a testes de software | 96

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Estabelecer Escopo do


Teste

Passo 2: Estabelecer Escopo do


Teste
Viso Macro Funcional do Sistema;
Copyright 2002 Qualiti. Todos os direitos reservados.

- Diagrama de Casos de Uso;


- Diagrama de Contexto;
- Modelo de Negcio;

Introduo a testes de software | 97

Passo 2: Estabelecer Escopo do


Teste
Desbloquear Tales
de Cheque
(from transacoes)

Efetuar Login
(from transacoes)

Solicitar Tales de Cheque


Alterar Senha

(from transacoes)

(from transacoes)

Consultar Cheques

<<include>>

(from consultas)

ClienteAtor

Consultar Saldo

(from atores)

(from consultas)

<<include>>
Mostrar Dados da
Consulta
Consultar Extrato
(from transacoes)

Realizar DOC
(from transacoes)

(from consultas)

Consultar Qualiti Card

Realizar Transferncia
(from transacoes)

Efetuar Pagamento do
Qualiti Card

(from consultas)

(from transacoes)

Operadora DOC

Ser simulado

(from atores)

Operadora Carto de Crdito


(from atores)

Os Casos de Uso em cinza sero escopo de teste da release 1


Introduo a testes de software | 98

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo: Viso Macro Funcional do Sistema - QIB;

Passo 2: Estabelecer Escopo do


Teste
- Cenrios Principais
- Cenrios Alternativos
- Cenrios de Exceo

Na prtica melhor testarmos todos os


cenrios mas em situaes especiais como
projetos de curto prazo podemos testar apenas
os cenrios principais.

Introduo a testes de software | 99

Copyright 2002 Qualiti. Todos os direitos reservados.

Cenrios que sero testados;

Passo 2: Estabelecer Escopo do


Teste
- Decomposio de cenrios;
- Anlise de probabilidade de erro;
- Anlise de valor limite;

Decomposio de cenrio ser a tcnica


utilizada. Ser praticada na atividades de
projetar testes.

Introduo a testes de software | 100

Copyright 2002 Qualiti. Todos os direitos reservados.

Tcnica Utilizada para os testes;

Passo 2: Estabelecer Escopo do


Teste
- Total (em todo o sistema)
- Parcial (em alguns mdulos)
- Progresso (apenas no mdulo adicionado ou
corrigido)

Introduo a testes de software | 101

Copyright 2002 Qualiti. Todos os direitos reservados.

Adoo de Testes de Regresso;

Passo 2: Estabelecer Escopo do


Teste
Identificar o nvel de automao dos testes, o
tipo de ferramenta, profissionais envolvidos,
integrao de ferramentas e outros aspectos
relevantes.

Introduo a testes de software | 102

Copyright 2002 Qualiti. Todos os direitos reservados.

Estratgia de Automao

Estratgia de Teste: passos


Estabelecer Escopo do Teste

Definir Ambiente de Teste e Baseline de Dados


Selecionar / Definir Ferramentas de Testes

Introduo a testes de software | 103

Copyright 2002 Qualiti. Todos os direitos reservados.

Definir Equipe de Testes

Definir qual ser o Ambiente utilizado


durante os testes e homologao prevendo
os seguintes aspectos;

Identificar qual a arquitetura do sistema alvo de


teste
Identificar qual ser a infra-estrutura de
hardware necessria para o ambiente de teste
Identificar quais sero os softwares necessrios
para o ambiente de teste
Caractersticas do Baseline de dados

Introduo a testes de software | 104

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 3: Definir Ambiente de


Testes

Passo 3: Definir Ambiente de


Testes

Plataforma

Sistema Web, J2EE

Sistema Operacional

Linux Suzi

Linguagem

Java

Banco de Dados

Oracle 9i

Servidor de Aplicao

TOMCAT 4.1.3

Copyright 2002 Qualiti. Todos os direitos reservados.

Identificar qual a arquitetura do sistema alvo de teste

Introduo a testes de software | 105

O controle da base de dados a ser usada nos


testes essencial para a confiabilidade dos
resultados dos testes.
Para estabelecer esse controle se faz
necessria a definio de estratgias para
povoamento e manuteno do baseline de
dados.

Introduo a testes de software | 106

Copyright 2002 Qualiti. Todos os direitos reservados.

Gesto da base de dados

Gesto da base de dados


- Clean-up: aquela que aps a execuo de cada
teste capaz de retornar automaticamente a
situao anterior

Vantagens: evitar trabalharmos com baseline sendo


recuperado a todo momento
Desvantagens: Difcil de controlar
Exemplo: Aps operaes de insero, antes de
finalizar o ciclo, deve-se excluir os registros inseridos
para voltarmos a base ao estado inicial

Introduo a testes de software | 107

Copyright 2002 Qualiti. Todos os direitos reservados.

Povoamento e Recuperao

Gesto da base de dados


- Refresh por sua vez traz todo o baseline de volta
sem se preocupar em desfazer implementaes
feitas durante os testes.

Vantagens: Fcil de controlar (no h necessidade de se


preocupar com lixo de outros testes)
Desvantagens: A cada ciclo necessrio trazer o backup
da base. Essa operao, dependendo do tamanho da
base, pode ser demorada

Introduo a testes de software | 108

Copyright 2002 Qualiti. Todos os direitos reservados.

Povoamento e recuperao (continua...)

Gesto da base de dados


- Atividade de congelamento das informaes do

ambiente de produo, a ser realizada numa data


pr-estabelecida.
Geralmente feito atravs de um procedimento
de backup, onde os dados so armazenados, e
transportados para um ambiente de testes, aps
passarem por procedimentos de Reduo e
Descaracterizao (descritos a seguir).

Introduo a testes de software | 109

Copyright 2002 Qualiti. Todos os direitos reservados.

Ponto de Corte

Gesto da base de dados


- Muitas vezes, a base de dados obtida no ponto de

corte extremamente grande, no sendo


necessrio, nem recomendvel, a migrao total
das informaes, por questes relativas a espao
e tempo adicional de processamento.
Os profissionais de testes, juntamente com as
reas envolvidas, devem definir critrios para
reduo e limpeza da base de dados, sem que
isto prejudique o planejamento e a conferncia
das informaes.

Introduo a testes de software | 110

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de reduo da base

Gesto da base de dados


- Exemplos:

Tabelas de log normalmente so grandes e no agregam


valor a base de dados de testes
Sistemas multimdia geralmente possuem tabelas
grandes com blobs. Essas tabelas podem ser reduzidas
s vezes, a aplicao em teste j est em produo h
muito tempo. Pode-se definir que s os dados
posteriores a uma determinada data sero extrados da
base de produo

Introduo a testes de software | 111

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de reduo da base (continua...)

Gesto da base de dados


- Em determinados casos se faz necessria a

simulao de uma passagem de tempo de


forma a atender necessidades especficas de
testes.

Introduo a testes de software | 112

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de envelhecimento

Gesto da base de dados


- Exemplos:

Testar que um comprovante ainda valido, ou seja,


no expirou Nesse tipo de teste, a data de expirao
tem que variar de ciclo para ciclo. Caso isso no seja
feito, possvel que o comprovante esteja expirado e o
teste falhe por negligncia com a base de dados.
Testar que o sistema impede que menores de 18 anos
acessem determinada funcionalidade Nesse tipo de
teste, preciso variar (envelhecer) a data de
nascimento do usurio utilizado para testes.

Introduo a testes de software | 113

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de envelhecimento (continua...)

Gesto da base de dados


- Quando lidamos com uma cpia da base de dados em

produo necessrio num ambiente de testes que


estes dados sejam mascarados/alterados de forma a
preservarem os dados sigilosos e com isso manter a
confidencialidade da base da empresa;
Algumas empresas selecionam alguns tipos de
informao para sofrer descaracterizao.

Introduo a testes de software | 114

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de descaracterizao

Gesto da base de dados


- Exemplos:

Trocar todas as senhas para 12345


Trocar todos os endereos de e-mail para
equipe.testes@qualiti.com.br
Trocar todos os cpfs por outros vlidos usar um
gerador de cpf

Introduo a testes de software | 115

Copyright 2002 Qualiti. Todos os direitos reservados.

Regras de descaracterizao (continua...)

Outro aspecto importante para a gesto da


base de dados o controle dos dados
utilizados

- Importante, principalmente, quando h mais de


-

um arquiteto trabalhando no mesmo projeto


Evita que um caso de teste bloqueie a execuo
de outro caso de teste
Faz-se necessrio registrar os dados que cada
arquiteto utiliza por caso de uso

Introduo a testes de software | 116

Copyright 2002 Qualiti. Todos os direitos reservados.

Gesto da base de dados

Estratgia de Teste: passos


Estabelecer Escopo do Teste

Definir Ambiente de Teste


Selecionar / Definir Ferramentas de Testes

Introduo a testes de software | 117

Copyright 2002 Qualiti. Todos os direitos reservados.

Definir Equipe de Testes

Passo 4: Selecionar Ferramentas de


Testes
Neste passo o Projetista de Teste dever
definir quais as ferramentas de teste que
sero utilizadas durante o processo de
teste;
2. O Projetista de teste deve analisar qual o
melhor momento para se aplicar as
ferramentas, identificando inclusive qual o
nvel de integrao entre elas e o esforo
para se integrar

Introduo a testes de software | 118

Copyright 2002 Qualiti. Todos os direitos reservados.

1.

3. As principais categorias de ferramentas


utilizadas durante o processo de teste
(funcional, carga/performance) so:

Modelagem de Teste
Gerador de Massa de Dados
Automatizao de Teste
Gerenciamento de Execuo de Testes
Simuladores de Carga e Performance
Monitoramento de Ambiente
Gerenciamento de Defeitos
Gerenciamento de Configuraes
Introduo a testes de software | 119

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 4: Selecionar Ferramentas de


Testes

Exerccio 4 Defina estratgias aplicadas aos


testes identificados para o QIB

Introduo a testes de software | 120

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 4

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 121

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Projetar testes
- Identificar e descrever os casos de teste para
cada build, e identificar e estruturar os
procedimentos de teste, especificando como
executar os casos de teste

Introduo a testes de software | 122

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivos

Projetar testes
-

Documento de requisitos
Plano de testes
Estratgia de testes
Modelo de casos de uso
Modelo de anlise e projeto

Sadas

Projeto de testes (casos e procedimentos)


Planilhas de teste
Plano de testes (atualizado)

Responsvel

Projetista de teste

Introduo a testes de software | 123

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Estrutura do projeto de testes

Copyright 2002 Qualiti. Todos os direitos reservados.

1. Histrico de Revises
2 Introduo
3 Casos de teste
4 Procedimentos de teste

Introduo a testes de software | 124

Identificar e descrever casos de teste


Estruturar procedimentos de teste
Gerar planilha de testes
Projetar componentes

Introduo a testes de software | 125

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar testes: passos

Texto associado a um requisito a ser testado,


que descreve:

- Pr-condies de execuo
- Entradas
- Passos especficos do teste a ser executado
- Resultados esperados e/ou ps-condies de
execuo

Um caso de teste bem projetado tem alta


probabilidade de encontrar um erro ainda
no identificado.
Introduo a testes de software | 126

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Identificar e descrever


casos de testes

Desenvolvido cenrios do caso de uso, de


acordo com a Estratgia de testes

- Fluxo normal (dados vlidos)


- Fluxo alternativo
- Fluxo de exceo (dados invlidos)

Identificar e descrever dados de teste.

- Realsticos e relevantes

Definir entradas e sadas correspondentes.

Introduo a testes de software | 127

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Identificar e descrever


casos de testes

Casos de Testes: Entrada

Outras fontes de entrada so:

- Interfaces entre sistemas;


- Interface entre dispositvos;
- Dados lidos de arquivos ou banco de dados;
- Estado do sistema na chegada do dado.

Introduo a testes de software | 128

Copyright 2002 Qualiti. Todos os direitos reservados.

No so apenas entradas atravs do teclado!

Casos de Testes: Sada

Outras fontes de sada so:

- Dados enviados entre sistemas;


- Dados enviados atravs de dispositivos;
- Dados gravados em arquivos ou banco de
dados;
- Estado ou ambiente podem ser modificados
durante a execuo do sistema.

Introduo a testes de software | 129

Copyright 2002 Qualiti. Todos os direitos reservados.

No so apenas as sadas mostradas na tela do


monitor!

Casos de Testes: Ordem de Execuo

Cascata

Independente

TC1

TC1

TC2
TC3

TC2
TC3

Introduo a testes de software | 130

Copyright 2002 Qualiti. Todos os direitos reservados.

Existem dois estilos de ordem de execuo


durante a criao dos casos de testes.

Ordem de Execuo: Cascata


-

O caso de teste 1 exercita uma determinada


funcionalidade que deixa o sistema no estado
em que o caso de teste 2 possa ser executado.
Exemplo: Os testes de banco de dados
consideram os seguintes casos de testes:
1.
2.
3.
4.
5.
6.

Criar um registro
Ler um registro
Atualizar um registro
Ler um registro
Deletar o registro
Ler o registro deletado
Introduo a testes de software | 131

Copyright 2002 Qualiti. Todos os direitos reservados.

Os casos de testes so projetados um aps


o outro.

Ordem de Execuo: Cascata


-

Os casos de testes so tipicamente pequenos e


simples;

Desvantagem

Se um caso de teste falhar o teste subseqente


pode falhar.

Introduo a testes de software | 132

Copyright 2002 Qualiti. Todos os direitos reservados.

Vantagem

Os casos de testes so auto-contidos;


Os casos de testes no so projetados um
aps o outro.
No requerem que outros casos de testes
tenham sido executados com sucesso.
Vantagens

Os casos de testes podem ser executados em


qualquer ordem;
Alto grau de reusabilidade dos casos de testes.

Desvantagens

So maiores e mais complexos;


So mais difceis de projetar, criar e manter.
Introduo a testes de software | 133

Copyright 2002 Qualiti. Todos os direitos reservados.

Ordem de Execuo:
Independente

Criar casos de testes que sejam executados


de forma simples.
Projetar os casos de testes para que faam
de fato o que suposto fazer.
Criar casos de testes para mostrar que o
software no faz o que realmente no
suposto fazer.
Projetar casos de testes para validar
requisitos no-funcionais (como desempenho
e segurana).
Analisar a cobertura dos casos de testes.
Introduo a testes de software | 134

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Identificar e descrever


casos de testes

Identificando Casos de Testes


De onde surgem os casos de teste?
Copyright 2002 Qualiti. Todos os direitos reservados.

- Fluxo principal
- Fluxos alternativos
- Fluxos de exceo

Introduo a testes de software | 135

A seta preta representa o fluxo principal do UC.


- As setas curvas representam os fluxos secundrios.
- Note que alguns fluxos secundrios retornam para o fluxo
principal.
-

Introduo a testes de software | 136

Copyright 2002 Qualiti. Todos os direitos reservados.

Casos de Uso - Cenrios

Exemplo: Caso de Uso


(Registrar Disciplina)
1. O caso de uso inicia-se quando o estudante acessa a pgina
da universidade. Informando login e senha; [FE001
Estudante no identificado]
2. O sistema mostra as opes que o estudante pode acessar;
3. O estudante seleciona a opo Criar Horrio; [FA002 Sistema Indisponvel]

4. O sistema recupera a lista de disciplinas;


5. O estudante seleciona 4 disciplinas Bsicas e 2
Avanadas e confirma a criao do calendrio. (obs.: Para
cada disciplina escolhida existe um Horrio) [FE002 Prrequisitos no satisfeitos], [FE003 Disciplina Lotada];
6. O sistema mostra os horrios das disciplinas e confirma o
nmero de disciplinas a serem cursadas.

Introduo a testes de software | 137

Copyright 2002 Qualiti. Todos os direitos reservados.

Fluxo principal

Exemplo: Caso de Uso


(Registrar Disciplina)
Fluxos Secundrios
Fluxo(s) Alternativo(s):
[FA001 - Sair da Funcionalidade]

Esta funcionalidade permite o aluno sair a qualquer momento. O


aluno escolhe para salvar o horrio parcialmente das disciplinas,
antes de sair.
[FA002 - Sistema Indisponvel]
No passo 3 do Fluxo Bsico, Obtendo as Disciplinas, o sistema
fica indisponvel e uma mensagem mostrada para o Aluno e o
sistema retorna para o passo 1 da aplicao.

Introduo a testes de software | 138

Copyright 2002 Qualiti. Todos os direitos reservados.

Exemplo: Caso de Uso (Registrar


Disciplina) Continuao

Fluxo(s) de Exceo(s):
[FE001 - Estudante No Identificado]
No passo 1 do fluxo principal, o sistema verifica que o login e
senha so invlidos, uma mensagem aparece. Aluno no est
cadastrado.

[FE002 - Pr-requisito no satisfeito]


No passo 5 do fluxo principal, Confirmar Calendrio. Se o
sistema determinar que h pr-requisitos para as disciplinas
selecionadas ou que o
curso est completo ou que existem
conflitos de horrios, o sistema no ir permitir o aluno cursar
a(s) disciplina(s). Uma mensagem ir aparecer informando ao
estudante para selecionar outra disciplina.
Introduo a testes de software | 139

Copyright 2002 Qualiti. Todos os direitos reservados.

Fluxos Secundrios

Exemplo: Caso de Uso (Registrar


Disciplina) Continuao

Fluxo(s) de Exceo(s):
[FE003 - Disciplina Lotada]
No passo 5 do fluxo principal, Confirmar Calendrio. Caso uma
da(s) disciplina(s) escolhida(s) pelo usurio esteja lotada, o
sistema informa uma mensagem Disciplina Lotada.

Introduo a testes de software | 140

Copyright 2002 Qualiti. Todos os direitos reservados.

Fluxos Secundrios (continuao...)

Gerando um caso de Teste:


- Identificando cenrios
- Identificando casos de teste
- Identificando valores para os testes

Introduo a testes de software | 141

Copyright 2002 Qualiti. Todos os direitos reservados.

Passos para criar um Caso de Teste

Passo 1: Identificando Cenrios

Nome do Cenrio

Inicio

Fim

1. Registro Efetuado com Sucesso

Flx. Principal

2. Aluno no matriculado

Flx. Principal

FE001

3. Sair da Funcionalidade

Flx. Principal

FA001

4. Sistema Indisponvel

Flx. Principal

FA002

5. Pr-requisito no satisfeito

Flx. Principal

FE002

6. Conflito nos Horrios

Flx. Principal

FE002

Introduo a testes de software | 142

Copyright 2002 Qualiti. Todos os direitos reservados.

Informe na tabela a baixo o nome do cenrio, seu Incio e Fim.


Ateno: Para o caso de uso mostrado no slide anterior pode haver
muito mais cenrios como exemplo citamos esses a baixo.

Passo 2: Identificando Casos de Testes


ID. CT

Desc.

Id. Do
Aluno

Senha

Discip.
Selecionada

Pre-requisito
satisfeito

Result. Esperado

TC001

CE 1 - Registro
Efetuado com
Sucesso

Funcionalidade
disponibilizada

TC002

CE 2- Aluno no
matriculado

N/A

N/A

N/A

Mensagem: Aluno
no matriculado

TC003

CE3 Sair do Sistema

N/A

N/A

Tela de Login
aparece

TC004

CE4 Sistema
Indisponvel

N/A

N/A

Mensagem:
Sistema
Indisponvel

TC005

CE5 - Conflito nos


Horrios

N/A

Mensagem: Existe
conflito nos
horrios

V Vlido, I Invlido e N/A No aplicvel

Introduo a testes de software | 143

Copyright 2002 Qualiti. Todos os direitos reservados.

Leia novamente o caso de uso para encontrar condies ou dados


para a sua execuo:

3. Identificando Dados para o Teste

ID. CT

Desc.

Id. Do
Aluno

Senha

Discip.
Selecionada

Pre-requisito
satisfeito

Result. Esperado

TC001

CE 1 - Registro
Efetuado com Sucesso

gsa

123

Yes

Yes

Funcionalidade
disponibilizada

TC002

CE2- Aluno no
matriculado

gse

N/A

N/A

N/A

Mensagem: Aluno
no matriculado

TC003

CE3 Sair do Sistema

gsa

123

N/A

N/A

Tela de Login
aparece

TC004

CE4 Sistema
Indisponvel

gsa

123

N/A

N/A

Mensagem:
Sistema
Indisponvel

TC005

CE5 - Conflito nos


Horrios

gsa

123

N/A

yes

Mensagem: Existe
conflito nos
horrios

Introduo a testes de software | 144

Copyright 2002 Qualiti. Todos os direitos reservados.

Antes desse passo necessrio revisar os casos de teste para


verificar se eles no esto redundantes. Depois identifique dados
para cada TC.

Exerccio 5 Definio de casos de teste.


Utilize o template fornecido pelo instrutor.

Introduo a testes de software | 145

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 5

Identificar e descrever casos de teste


Estruturar procedimentos de teste
Gerar planilha de testes
Projetar componentes

Introduo a testes de software | 146

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar testes: passos

Conjunto de passos detalhados que


descrevem como o caso de teste ser
executado.

Introduo a testes de software | 147

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Estruturar
procedimentos de testes

Condies/instrues de setup
Estado inicial da aplicao
Como (ex: atravs de ferramentas de
automao de testes, scripts, etc.) e quando
fornecer os dados de entrada e obter os
resultados da sada
Passos para execuo dos testes
Forma de avaliao dos resultados

Introduo a testes de software | 148

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar testes: procedimentos


de teste

Todas as condies de testes foram


identificadas?
Os casos de testes satisfazem as condies
de teste?
A massa de dados adequada?
O volume de dados suficiente?

Introduo a testes de software | 149

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar Testes

Exerccio 6 Definio de procedimentos de


teste.

Introduo a testes de software | 150

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 6

Identificar e descrever casos de teste


Estruturar procedimentos de teste
Gerar planilha de testes
Projetar componentes

Introduo a testes de software | 151

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar testes: passos

Nas planilhas devem estar contidos todos os


casos de testes que sero executados
conforme o planejamento.
Informaes sobre o ciclo de teste so
necessrios:

- Verso do Software
- Data Incio e Fim
- Nome do Testador
- Casos de testes planejados

Introduo a testes de software | 152

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 3: Gerar planilhas de


teste

Exerccio 7 Gerar planilhas de teste.


Utilize o template fornecido pelo instrutor.

Introduo a testes de software | 153

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 7

Identificar e descrever casos de teste


Estruturar procedimentos de teste
Gerar planilha de testes
Projetar componentes

Introduo a testes de software | 154

Copyright 2002 Qualiti. Todos os direitos reservados.

Projetar testes: passos

Passo 4: Projetar componentes


- Define quais sero os componentes de apoio, e

como devero ser implementados


Os componentes automatizam um ou mais
procedimentos e casos de teste ou partes deles
Podem ser classes, pacotes, subsistemas, funes
stubs e/ou drivers, ou scripts que automatizam um
ou mais procedimentos de teste ou partes deles e
podem ser desenvolvidos usando-se uma linguagem
de programao ou gerados atravs de uma
interao com uma ferramenta de testes
No so usados em testes totalmente manuais
Introduo a testes de software | 155

Copyright 2002 Qualiti. Todos os direitos reservados.

Identificao e definio dos componentes de


teste

Automatizam um ou mais procedimentos e


casos de teste ou partes deles e podem ser
desenvolvidos usando-se uma linguagem de
programao ou gerados atravs de uma
interao com uma ferramenta de testes
Os componentes podem ser classes, pacotes,
subsistemas ou scripts
No so usados em testes totalmente
manuais

Introduo a testes de software | 156

Copyright 2002 Qualiti. Todos os direitos reservados.

Conceito chave: componentes


de teste

Projetar Testes
- Identificar casos de testes para cada mdulo.
- Identificar resultados no esperados para cada
-

caso de teste.
Para sistemas Web, criar casos de testes para
testar a segurana da aplicao.
Entender a cobertura dos casos de testes em
relao aos requisitos da aplicao.

Introduo a testes de software | 157

Copyright 2002 Qualiti. Todos os direitos reservados.

O que fazer

Projetar Testes
- No escrever casos de testes repetidos para a GUI.
- No deixar nenhuma funcionalidade uncovered nos
casos de teste a menos que esteja especificada no
Plano de Testes como uma caracterstica a no ser
testada.

Introduo a testes de software | 158

Copyright 2002 Qualiti. Todos os direitos reservados.

O que no fazer

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 159

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Implementar testes
- Automatizar procedimentos de teste, criando

componentes de teste consistentes com os casos de


teste associados

Introduo a testes de software | 160

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivo

Implementar testes
Projeto de testes
Cdigo executvel do sistema (se houver)

Sadas
Componentes de testes

Responsvel
Desenvolvedor / Automatizador de testes

Introduo a testes de software | 161

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Implementar testes: passos


Implementar componentes
Realizar o check in dos componentes

Introduo a testes de software | 162

Copyright 2002 Qualiti. Todos os direitos reservados.

Realizar o check out dos componentes existentes

O check out dos componentes de testes feito


nesta atividade tem o objetivo de garantir
que os testes sejam realizados com as
verses mais recentes dos componentes
gerados

Introduo a testes de software | 163

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 1: Realizar o check out dos


componentes existentes

Implementar testes: passos


Implementar componentes
Realizar o check in dos componentes

Introduo a testes de software | 164

Copyright 2002 Qualiti. Todos os direitos reservados.

Realizar o check out dos componentes existentes

Componentes de apoio existentes podem ser


modificados, ou novos componentes podem
ser gerados/implementados

- Utilizando ferramenta de automao de testes


- Programando explicitamente os componentes de
teste

Introduo a testes de software | 165

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Implementar componentes

Implementar testes: passos


Implementar componentes
Realizar o check in dos componentes

Introduo a testes de software | 166

Copyright 2002 Qualiti. Todos os direitos reservados.

Realizar o check out dos componentes existentes

Uma vez concluda a implementao dos


componentes de teste, estes devem ser
atualizados no repositrio compartilhado
(check in)

Introduo a testes de software | 167

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 3: Realizar o check in dos


componentes

Projetista de
Testes

Desenvolvedor

Testador

Elaborar
Plano
de Testes

Estratgia
De
Teste

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 168

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Executar testes
- Verificar a corretude e a qualidade dos casos de

uso, builds e releases implementados, avaliando


os resultados e registrando os problemas
encontrados

Introduo a testes de software | 169

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivo

Executar Testes
-

Garantir que as atividades de testes esto sincronizadas com o


Plano de Testes.
Identificar reas em que ser necessria assistncia e
treinamento durante os testes.
Seguir as estratgias de testes definidas no Plano de Testes.
Conseguir uma release notes da equipe de desenvolvimento
que contm:

A verso do cdigo
Features da release que ser testada
Features que no so parte da release
Problemas conhecidos
Defeitos fixed

Fixar todos os critrios de entrada e sada para as atividades


de teste.
Atualizar os resultados dos testes.
Relatar os defeitos encontrados durante os testes.
Introduo a testes de software | 170

Copyright 2002 Qualiti. Todos os direitos reservados.

O que fazer

Executar Testes
-

No atualizar os casos de testes durante a execuo dos


testes.
No registrar os defeitos encontrados de forma aleatria,
use um repositrio centralizado.
No perca tempo testando features que no so parte da
release atual.
No focar em testes que no so crticos (da perspectiva do
cliente).

Introduo a testes de software | 171

Copyright 2002 Qualiti. Todos os direitos reservados.

O que no fazer

Executar testes

Plano de testes
Projeto de testes
Planilhas de teste
Componentes de testes
Cdigo executvel do sistema

Sadas
Planilhas de teste
Registros de Solicitao de Mudanas

Responsvel
Testador
Introduo a testes de software | 172

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Executar testes: passos


Avaliar e registrar resultados

Introduo a testes de software | 173

Copyright 2002 Qualiti. Todos os direitos reservados.

Executar os procedimentos de teste

Os casos de testes so executados com


objetivo de encontrar falhas no caso de uso
ou mdulo em teste
O ambiente de teste, as ferramentas e
componentes de apoio devem estar
conforme descrito no plano e nos
procedimentos de teste para que o testador
possa executar os casos de teste nas
condies ideais

Introduo a testes de software | 174

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Executar os procedimentos de teste

Executar testes: passos


Avaliar e registrar resultados

Introduo a testes de software | 175

Copyright 2002 Qualiti. Todos os direitos reservados.

Executar os procedimentos de teste

Resultados so registrados na Planilha de teste, avaliados, e


encaminhados ao responsvel pelo caso de uso ou mdulo
sendo testado
Para cada resultado inesperado criado tambm um
Registro de Solicitao de Mudana
No caso dos resultados inesperados, a avaliao deve tentar
identificar:
- As possveis causas, ou ponto especfico onde se originou o
problema, e apresentar sugestes de correo
Problemas com o ambiente ou componentes de teste devem
ser corrigidos e os testes re-executados

Introduo a testes de software | 176

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 3: Avaliar e registrar resultados

1. IDENTIFICADOR DA SOLICITAO
<Um cdigo (normalmente numrico) que identifica
unicamente a solicitao de mudana.>
2. IDENTIFICAO DO SOLICITANTE
<O nome do indivduo que solicitou a mudana,
possivelmente incluindo informao adicional como
posio, matrcula, etc.>
3. SISTEMA DESENVOLVIDO
3.1. NOME DO SISTEMA

<O nome do sistema no qual est sendo solicitada a mudana.>

3.2. NOME DO MDULO


<O nome do mdulo no qual a mudana est sendo solicitada.>

3.3. NOME DA FUNCIONALIDADE


<O nome da funcionalidade na qual a mudana ser efetuada.>

Introduo a testes de software | 177

Copyright 2002 Qualiti. Todos os direitos reservados.

Estrutura de um registro de
solicitao de mudana

Estrutura de um registro de
solicitao de mudana
<O tipo de mudana que est sendo solicitada. Normalmente trs
tipos de mudana so realizados: adio de nova funcionalidade,
melhoria de funcionalidade j existente e correo de defeitos.
Tambm comum que a classificao seja feita com relao
natureza da mudana. Por exemplo: mudana de requisitos, de
projeto, de implementao, etc.>

5. DESCRIO
<Uma descrio da mudana que est sendo solicitada. A descrio
deve ser o mais no-ambgua e objetiva possvel. Ao mesmo tempo,
deve incluir toda informao necessria para implantar a mudana.>

6. STATUS
<A situao atual da mudana. Por exemplo: aprovada, rejeitada, em
implantao, postergada, etc. Essa informao deve ser mantida
sempre atualizada.>

7. OBSERVAES GERAIS
<Informaes adicionais sobre a solicitao de mudana. Por exemplo:
se o solicitante j souber de mdulos que sero afetados pela
implantao da mudana, pode enumer-los nesta seo.>
Introduo a testes de software | 178

Copyright 2002 Qualiti. Todos os direitos reservados.

4. CLASSIFICAO

Projetista de
Testes

Desenvolvedor

Testador

Elaborar Plano
de Testes

Avaliar
Testes

Projetar
Testes

Implementar
Testes

Executar
Testes

Introduo a testes de software | 179

Copyright 2002 Qualiti. Todos os direitos reservados.

Detalhamento do fluxo de testes

Avaliar testes
- Medir quantitativamente e qualitativamente o
progresso dos testes e gerar um relatrio de
avaliao dos testes

Introduo a testes de software | 180

Copyright 2002 Qualiti. Todos os direitos reservados.

Objetivo

Avaliar testes
- Garantir que o relatrio de defeitos ser

entregue ao Gerente de Projetos aps cada teste


de release.

Nmero total de casos de testes previstos


Nmero total de casos de testes executados
Nmero total de casos de testes com sucesso e falha
Nmero total de casos de testes que no foram
executados

- Examinar mtricas com o objetivo de avaliar a


qualidade do software.

Introduo a testes de software | 181

Copyright 2002 Qualiti. Todos os direitos reservados.

O que fazer

Avaliar testes
Plano de testes
Projeto de testes
Planilhas de testes

Sadas
Documento de avaliao de testes

Responsvel
Projetista de testes

Introduo a testes de software | 182

Copyright 2002 Qualiti. Todos os direitos reservados.

Entradas

Histrico de Revises
1 Introduo
2 Resultado dos Testes
Requisito testado: <Id do requisito>
Casos de testes executados:
<Para cada caso de teste descreva:
Id do caso de teste, sadas esperadas e obtidas, falhas, sugestes>
Requisito Testado: <Id do requisito>
...

3 Avaliao dos Testes


3.1 Procedimentos e Tipos de Teste aplicados
3.2 Casos de Teste realizados
3.3 Ambiente de Teste
3.3.1 Ferramentas e Componentes de Teste
3.3.2 Equipamentos e Configuraes
3.4 Aes Corretivas
Introduo a testes de software | 183

Copyright 2002 Qualiti. Todos os direitos reservados.

Estrutura do documento de
avaliao de testes

Avaliar testes: passos


Avaliar estratgias de teste
Avaliar cobertura dos testes
Analisar os resultados gerais

Atualizar as solicitaes de mudanas

Introduo a testes de software | 184

Copyright 2002 Qualiti. Todos os direitos reservados.

Registrar os resultados gerais dos testes

Passo 1: Registrar os resultados


gerais dos testes
Fazer um levantamento quantitativo dos:

executados e dos que realmente foram


Casos de testes que foram executados com
sucesso, falha ou defeito

Fazer um levantamento estatstico do:

- Percentual de realizao de casos de teste


- Percentual de casos de teste realizados
-

com

sucesso
Percentual de casos de teste realizados com
insucesso
Introduo a testes de software | 185

Copyright 2002 Qualiti. Todos os direitos reservados.

- Casos de teste que estavam previstos para serem

Avaliar testes: passos


Avaliar estratgias de teste
Avaliar cobertura dos testes
Analisar os resultados gerais

Atualizar as solicitaes de mudanas

Introduo a testes de software | 186

Copyright 2002 Qualiti. Todos os direitos reservados.

Registrar os resultados gerais dos testes

Avaliar as tcnicas empregadas pelos


procedimentos de teste, seus mritos e seus
pontos fracos
Verificar se o ambiente definido para os
testes realizados refletiu a necessidade dos
testes
Analisar se os componentes de teste
cumpriram seus papis durante a execuo
dos testes e se as ferramentas adotadas
atenderam s expectativas para as quais
foram solicitadas
Introduo a testes de software | 187

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 2: Avaliar estratgias de teste

Avaliar testes: passos


Avaliar estratgias de teste
Avaliar cobertura dos testes
Analisar os resultados gerais

Atualizar as solicitaes de mudanas

Introduo a testes de software | 188

Copyright 2002 Qualiti. Todos os direitos reservados.

Registrar os resultados gerais dos testes

Determinar se os casos de teste definidos


cobriram todos os cenrios para o caso de
uso associado
Determinar se as informaes contidas em
cada caso de teste (pr e ps-condies,
dados de entrada e sada da planilha de
testes) realmente refletiam o que precisava
ser testado
Ponto chave para se determinar a completude dos testes

Introduo a testes de software | 189

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 3: Avaliar a cobertura dos


testes

Avaliar testes: passos


Avaliar estratgias de teste
Avaliar cobertura dos testes
Analisar os resultados gerais

Atualizar as solicitaes de mudanas

Introduo a testes de software | 190

Copyright 2002 Qualiti. Todos os direitos reservados.

Registrar os resultados gerais dos testes

Analisar os problemas identificados na


avaliao de estratgias e cobertura dos
testes oferecendo sugestes para melhoria
do processo de testes como um todo
Possveis aspectos a serem avaliados e/ou
melhorados:

- Desempenho da equipe;
- Estratgias e cobertura dos testes;
- Manuseio de ferramentas de teste;
- Ambiente de teste

Introduo a testes de software | 191

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 4: Analisar os resultados gerais

Passo 4: Analisar os resultados


gerais
- grfico mostrando o nmero de defeitos com

relao a seus atributos (ex: status, prioridade,


dono, origem, severidade)

Tendncia dos defeitos

- nmero de defeitos em funo do tempo

Idade dos defeitos

- nmero de defeitos num certo status (ex: aberto,


novo, a ser retestado) em funo do tempo

Introduo a testes de software | 192

Copyright 2002 Qualiti. Todos os direitos reservados.

Densidade dos defeitos

Avaliar testes: passos


Avaliar estratgias de teste
Avaliar cobertura dos testes
Analisar os resultados gerais

Atualizar as solicitaes de mudanas

Introduo a testes de software | 193

Copyright 2002 Qualiti. Todos os direitos reservados.

Registrar os resultados gerais dos testes

Dependendo dos problemas encontrados,


registros de solicitao de mudanas podem
ser gerados para sugerir correes e/ou
revises ao plano e projeto de testes

Introduo a testes de software | 194

Copyright 2002 Qualiti. Todos os direitos reservados.

Passo 5: Atualizar as solicitaes de


mudanas

Testes podem consumir at 50% do esforo


total de desenvolvimento
Como reduzir esse custo?

- Utilize ferramentas e metodologias para


-

melhorar a eficincia dos testes


Reuse casos de teste sempre que possvel
Integre atividades de testes com as atividades de
desenvolvimento
Use estratgias com base em riscos para
aumentar a eficcia dos testes

Introduo a testes de software | 195

Copyright 2002 Qualiti. Todos os direitos reservados.

Como reduzir o tempo de


testes?

No h mais tempo
Cobertura de cdigo adequada
Cobertura funcional adequada
No h mais falhas relevantes
N esperado de falhas foram reveladas
Meta de confiabilidade atingida
- adequada deve ser especificado quantativamente.

Introduo a testes de software | 196

Copyright 2002 Qualiti. Todos os direitos reservados.

Quando parar de testar?

Exerccio 8 Identifique atividades, artefatos


e responsveis no processo de testes da sua
empresa e compare com o processo de
testes apresentado no curso.

Introduo a testes de software | 197

Copyright 2002 Qualiti. Todos os direitos reservados.

Exerccio 8

Ferramentas de Teste

Automatizam atividades do processo de testes


Muito teis para testes de regresso
Tipos de ferramentas:

Planejamento e Projeto de Testes


Apoio ao planejamento e elaborao dos artefatos de teste

Implementao de Componentes de Teste

Gerao de massa de dados


Teste de API de unidades e verificao de assertivas
Teste de cobertura
Inspeo de cdigo
Teste de GUI (capture/replay)
Teste de carga e estresse
Teste de desempenho/deteco de gargalos
Anlise de memory leaks

Ferramentas de Bug-tracking
Gerncia de mudanas

Introduo a testes de software | 199

Copyright 2002 Qualiti. Todos os direitos reservados.

Definio

Em que momento as ferramentas de teste


podem nos auxiliar no processo de teste?
Quais ferramentas utilizar
em cada atividade do processo?

Introduo a testes de software | 200

Copyright 2002 Qualiti. Todos os direitos reservados.

Processo x Ferramentas de Teste

Copyright 2002 Qualiti. Todos os direitos reservados.

Processo x Ferramentas de Teste

Ferramentas de
Planejamento e
Projeto de Testes

Introduo a testes de software | 201

Ferramentas de planejamento e
projeto de testes
Atividade: Elaborar plano de testes
Podem ser usadas para elaborao do
plano de testes (definio dos casos de
teste, prioridade, estratgias,
cronograma, recursos)
Exemplo:

Ferramenta para elaborao de cronogramas


(Project)
Ferramentas comerciais de planejamento e
projeto de Testes (TestManager, TestDirector,
QADirector)
Introduo a testes de software | 202

Copyright 2002 Qualiti. Todos os direitos reservados.

Ferramentas de planejamento e
projeto de testes
Atividade: Projetar testes
Podem ser usadas para elaborao do
projeto de testes (casos e procedimentos
de teste, planilhas de dados)
Exemplo:

Ferramentas comerciais de planejamento e


projeto de Testes (TestManager, TestDirector,
QADirector)
Ferramenta de edio de texto (Word,
StarOffice)
Planilhas eletrnicas (Excel)

Introduo a testes de software | 203

Copyright 2002 Qualiti. Todos os direitos reservados.

Atividade: Executar Testes


Podem ser usadas para registro dos
resultados dos testes realizados
Exemplos:

Ferramentas comerciais de planejamento e


projeto de Testes (TestManager, TestDirector,
QADirector)
Ferramenta para manipulao de planilhas
eletrnicas (StarOffice, Excel)

Introduo a testes de software | 204

Copyright 2002 Qualiti. Todos os direitos reservados.

Ferramentas de planejamento e
projeto de testes

Ferramentas de planejamento e
projeto de testes

- Podem ser usadas para elaborao do documento


-

de avaliao de testes (resultado sumarizado dos


testes, avaliao dos testes cobertura dos casos
de teste, processo, ambiente de teste)
Exemplos:
Ferramentas comerciais de planejamento e projeto de
Testes (TestManager, TestDirector, QADirector)
Ferramenta para manipulao de planilhas eletrnicas
(StarOffice, Excel)

Introduo a testes de software | 205

Copyright 2002 Qualiti. Todos os direitos reservados.

Atividade: Avaliar Testes

Copyright 2002 Qualiti. Todos os direitos reservados.

Processo x Ferramentas de Teste

Ferramentas para
Implementao de
Componentes de
Teste

Introduo a testes de software | 206

Atividade: Implementar Testes


Podem ser usadas para implementao dos
componentes de teste
Cada tipo de teste pode ser automatizado
por um conjunto de ferramentas
especficas
Atividade: Executar Testes
Podem ser usadas para execuo
automatizada dos testes

Introduo a testes de software | 207

Copyright 2002 Qualiti. Todos os direitos reservados.

Ferramentas para Implementao


dos componentes de testes

Ferramentas para Implementao


dos componentes de testes
-

Gerao de massa de dados (Testbyte, File-Aid);


Teste de API de unidades e verificao de assertivas (JUnit,
HttpUnit, Cactus, Jtest);
Teste de cobertura (PureCoverage);
Inspeo/anlise esttica de cdigo, refactoring (Jtest,
IntelliJ IDEA)
Teste de GUI - capture/replay (Canoo Web Test, Jemmy
Module, Robot, WinRunner, QARun)
Teste de carga e estresse (JMeter, Web Application Stress
Test, QALoad, LoadRunner)
Teste de desempenho/deteco de gargalos (JProbe)
Anlise de memory leaks (JProbe)
Introduo a testes de software | 208

Copyright 2002 Qualiti. Todos os direitos reservados.

Tipos e exemplos de ferramentas de teste


automatizado:

Ferramentas para Implementao


dos componentes de testes
-

Processo Iterativo e Incremental permite reuso de casos de


testes automatizados em diversas iteraes
Alguns tipos de teste so inviveis e/ou custosos para
serem feitos de forma manual: Testes de Performance,
Carga/Estresse, Inspeo/Anlise Esttica de Cdigo
Sistema funcionar por longo perodo, o custo de
automatizao dos testes amortizado ao longo do tempo
Testes Funcionais Automatizados encorajam modificaes
no cdigo
Requisitos instveis devem ter a automao de seus testes
postergada

Introduo a testes de software | 209

Copyright 2002 Qualiti. Todos os direitos reservados.

Quando e por que automatizar os testes?

Copyright 2002 Qualiti. Todos os direitos reservados.

Processo x Ferramentas de Teste

Ferramentas de
Bug Tracking

Introduo a testes de software | 210

Ferramentas de bug tracking


Atividade: Executar testes

encontrados e solicitao de mudanas/correes


ao software
Exemplo:
Ferramenta de gerncia de mudanas
(Bugzilla, ClearQuest);
Ferramenta para manipulao de planilhas
eletrnicas (StarOffice, Excel)

Introduo a testes de software | 211

Copyright 2002 Qualiti. Todos os direitos reservados.

- Podem ser usadas para registro de erros

Ferramentas de bug tracking

- Podem ser usadas para solicitao de mudanas


ao processo de testes

Exemplos:
Ferramenta de gerncia de mudanas (Bugzilla,
ClearQuest);

Introduo a testes de software | 212

Copyright 2002 Qualiti. Todos os direitos reservados.

Atividade: Avaliar Testes

Referncias
- Cem Kaner, Jack Falk e Hung Quoc Ngyen.
Second Edition. Ed. Wiley

Testing Applications on the Web

- Hung Q. Ngyen. Ed. Wiley

Introduo a testes de software | 213

Copyright 2002 Qualiti. Todos os direitos reservados.

Testing Computer Software

Вам также может понравиться