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

16/10/2014 Diretrizes: Caso de Teste

http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 1/18


Artefatos > Conjunto de Artefatos de Teste > {Mais Artefatos de Teste} > Definio do Teste > Caso de Teste > Diretrizes
> Caso de Teste
Diretrizes: Caso de Teste
Caso de Teste
Um Caso de teste um conjunto de entradas de teste,
condies de execuo e resultados esperados desenvolvidos
para um objetivo especfico como, por exemplo, testar o
caminho de determinado programa ou verificar o cumprimento
de um requisito especfico.
Tpicos
Explicao
Obteno de Casos de Teste a partir de Casos de Uso
Obteno de Casos de Teste a partir de Especificaes Suplementares
Obteno de Casos de Teste para Testes de Desempenho
Obteno de Casos de Teste para Testes de Acesso/Segurana
Obteno de Casos de Teste para Testes de Configurao
Obteno de Casos de Teste para Testes de Instalao
Obteno de Casos de Teste para Outros Testes No Funcionais
Obteno de Casos de Teste para Testes Unitrios
Testes caixa branca
Testes caixa preta
Obteno de Casos de Teste para o Teste de Aceitao do Produto
Criao de Casos de Teste Para o Teste de Regresso
Explicao
Nada proporciona satisfao maior ao usurio final, com relao ao software, do que uma viso
clara de suas expectativas, para que sejam verificadas e validadas. Os casos de teste refletem os
requisitos que devem ser verificados. Entretanto, a verificao desses requisitos pode ser feita
de forma diferente e por testadores distintos. Por exemplo, a execuo do software para
verificar sua funo e desempenho pode ser feita por um testador usando tcnicas de teste
automatizadas, a seqncia de desligamento de um sistema de computadores pode ser realizada
por teste manual e observao, ao passo que a participao no mercado e as vendas (tambm
requisitos do produto) sero realizadas atravs da avaliao do produto e das vendas
competitivas.
Como talvez voc no consiga verificar todos os requisitos, nem seja responsvel por isso,
essencial para o sucesso do projeto selecionar os requisitos mais apropriados e importantes para
o teste. Os requisitos escolhidos para verificao representaro um equilbrio entre o custo, o
risco e a necessidade de verific-los.
A identificao dos casos de teste importante por vrios motivos.
Os casos de teste constituem a base do design e do desenvolvimento dos Scripts de
Teste.
A "profundidade" do teste proporcional ao nmero de casos de teste. O aumento do
nmero de casos de teste gera uma maior confiana na qualidade do produto e no
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 2/18
processo de teste, j que cada caso de teste reflete um cenrio, uma condio ou um
fluxo diferente atravs do produto.
A principal avaliao da abrangncia do teste a cobertura baseada em requisitos, de
acordo com o nmero de casos de teste identificados, implementados e/ou
executados. Uma sentena como "Executamos e verificamos 95% dos casos de teste
crticos" mais significativa do que a sentena "J executamos 95% do total de
testes".
A escala do esforo de teste proporcional ao nmero de casos de teste. Com uma
anlise abrangente dos casos de teste, possvel estimar com mais preciso a durao
dos estgios subseqentes do ciclo de teste.
Os tipos de design e desenvolvimento de testes e os recursos necessrios so
amplamente controlados pelos casos de teste.
Geralmente, os casos de teste so categorizados ou classificados pelo tipo ou requisito de teste
ao qual esto associados e variam de acordo com isso. A melhor prtica consiste em
desenvolver pelo menos dois casos de teste para cada requisito de teste:
um caso de teste para demonstrar que o requisito foi atendido, geralmente conhecido
como um caso de teste positivo,
outro caso de teste, conhecido como negativo, refletindo uma condio ou dados
inaceitveis, anormais ou inesperados para demonstrar que o requisito s pode ser
atendido sob a condio desejada.
Obteno de Casos de Teste a partir de Casos de Uso
Os casos de teste para o teste funcional so derivados de casos de uso do objetivo do teste
(consulte Artefato: Caso de Uso). necessrio desenvolver casos de teste para cada cenrio de
caso de uso. Os cenrios de caso de uso so identificados atravs da descrio dos caminhos
que percorrer o fluxo bsico e os fluxos alternativos, do incio ao fim, atravs do caso de uso.
No diagrama a seguir, por exemplo, os vrios caminhos atravs de um caso de uso, que
refletem o fluxo bsico e os fluxos alternativos, so representados com as setas. O fluxo bsico,
representado pela linha preta e reta o caminho mais simples atravs do caso de uso. Cada
fluxo alternativo comea no fluxo bsico e, depois, de acordo com uma condio especfica,
executado. Os fluxos alternativos podem retornar ao fluxo bsico (fluxos alternativos 1 e 3),
podem originar-se de outro fluxo alternativo (fluxo alternativo 2), ou podem terminar o caso de
uso sem retornar a um fluxo (fluxos alternativos 2 e 4).
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 3/18

Exemplos de Fluxos de Eventos em um caso de uso
Aps cada caminho possvel atravs do caso de uso mostrado no diagrama acima, possvel
identificar os diversos cenrios de caso de uso. Comeando pelo fluxo bsico e depois
combinando esse fluxo com os fluxos alternativos, possvel identificar os seguintes cenrios
de caso de uso:
Cenrio 1 Fluxo Bsico
Cenrio 2 Fluxo Bsico Fluxo
Alternativo 1

Cenrio 3 Fluxo Bsico Fluxo
Alternativo 1
Fluxo
Alternativo 2

Cenrio 4 Fluxo Bsico Fluxo
Alternativo 3

Cenrio 5 Fluxo Bsico Fluxo
Alternativo 3
Fluxo
Alternativo 1

Cenrio 6 Fluxo Bsico Fluxo
Alternativo 3
Fluxo
Alternativo 1
Fluxo
Alternativo 2
Cenrio 7 Fluxo Bsico Fluxo
Alternativo 4

Cenrio 8 Fluxo Bsico Fluxo
Alternativo 3
Fluxo
Alternativo 4

OBSERVAO: Por praticidade, os Cenrios 5, 6 e 8 apenas descrevem uma nica execuo
do loop indicado pelo Fluxo Alternativo 3.
possvel obter os casos de teste para cada cenrio atravs da identificao da condio
especfica que causar a execuo desse cenrio de caso de uso especfico.
Por exemplo, suponha que o caso de uso descrito no diagrama acima indicou o seguinte para o
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 4/18
Fluxo Alternativo 3:
"Ocorrer esse fluxo de eventos se o valor digitado no Passo 2 acima, "Digitar o Valor da
Retirada" for maior que o saldo atual da conta. O sistema exibir uma mensagem de aviso e,
depois, retornar ao Passo 2 do fluxo bsico "Digitar o Valor da Retirada" acima, onde o
cliente do banco poder digitar um novo valor de retirada."
Com essas informaes, voc pode comear a identificar os casos de teste necessrios para a
execuo do fluxo alternativo 3:

ID de
Caso de
Teste
Cenrio Condio Resultado
Esperado
TC x Cenrio 4 Passo 2 - Valor da Retirada > Saldo da
Conta
Retorna ao
Passo 2 do
fluxo
bsico
TC y Cenrio 4 Passo 2 - Valor da Retirada < Saldo da
Conta
No
executa o
Fluxo
Alternativo
3, segue o
fluxo
bsico
TC z Cenrio 4 Passo 2 - Valor da Retirada = Saldo da
Conta
No
executa o
Fluxo
Alternativo
3, segue o
fluxo
bsico
OBSERVAO: os casos de teste mostrados acima so muito simples, j que nenhuma outra
informao foi fornecida. Os casos de teste raramente so to simples.
Veja a seguir um exemplo mais realista de obteno de casos de teste a partir de casos de uso.

Exemplo:

16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 5/18
Atores e casos de uso em um caixa eletrnico.
A tabela a seguir contm o fluxo bsico e alguns fluxos alternativos para o caso de uso Retirada
em Dinheiro no diagrama acima:
Fluxo Bsico Esse Caso de Uso comea com o caixa eletrnico no Estado Pronto.
1. Iniciar Retirada - O cliente insere o carto bancrio no
leitor de cartes do caixa eletrnico
2. Verificar o Carto Bancrio - O caixa eletrnico l o
cdigo da conta a partir da tarja magntica do carto
bancrio e verifica se ele um carto aceitvel.
3. Digitar a senha - O caixa eletrnico pede a senha do cliente
(4 dgitos)
4. Verificar o cdigo da conta e a senha - O cdigo da conta e
a senha so verificados para determinar se a conta vlida
e se a senha digitada est correta. Para esse fluxo, a conta
vlida e a senha est corretamente associada a essa conta.
5. Opes do caixa eletrnico - O caixa eletrnico exibe as
diversas alternativas disponveis. Nesse fluxo, o cliente do
banco sempre seleciona "Retirada em Dinheiro."
6. Digitar o Valor - O caixa eletrnico solicita o valor a ser
retirado. Para esse fluxo o cliente seleciona um valor
predefinido (R$ 10, R$ 20, R$ 50 ou R$ 100).
7. Autorizao - O caixa eletrnico inicia o processo de
verificao com o Sistema Bancrio, enviando o ID do
Carto, a Senha, o Valor e as Informaes de conta como
uma transao. Para esse fluxo, o Sistema Bancrio est
on-line e responde com uma autorizao para concluir a
retirada em dinheiro, atualizando o saldo da conta de forma
apropriada.
8. Fornecimento - O Dinheiro fornecido.
9. Devoluo do Carto - o Carto do Banco devolvido.
10. Recibo - O recibo impresso e fornecido. O caixa
eletrnico tambm atualiza o log interno de forma
apropriada.
O Caso de Uso termina com o caixa eletrnico no Estado Pronto.
Fluxo
Alternativo 1 -
Carto
No Passo 2 do Fluxo Bsico - Verificar o Carto Bancrio, se o carto no
for vlido, ser ejetado com uma mensagem apropriada.
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 6/18
Invlido.
Fluxo
Alternativo 2 -
Caixa
Eletrnico
sem Dinheiro
No Passo 5 do Fluxo Bsico - Opes do Caixa Eletrnico, se o caixa
eletrnico estiver sem dinheiro, a opo "Retirada em Dinheiro" no estar
disponvel.
Fluxo
Alternativo 3 -
Fundos
insuficientes
no caixa
eletrnico
No Passo 6 do Fluxo Bsico - Digitar o Valor, se o caixa eletrnico no
contiver fundos suficientes para fornecer o valor solicitado, o sistema
exibir uma mensagem apropriada e retornar ao Passo 6 do fluxo bsico -
Digitar o Valor.
Fluxo
Alternativo 4 -
Senha
Incorreta
No Passo 4 do Fluxo Bsico - Verificar a Conta e a Senha, o cliente tem
trs chances de digitar a senha correta.
Se for digitada uma senha incorreta, o caixa eletrnico exibir a mensagem
apropriada, e se houver novas tentativas, esse fluxo retornar ao Passo 3 do
Fluxo Bsico - Digitar a Senha.
Se na ltima tentativa o nmero PIN digitado estiver incorreto, o carto ser
retido, o caixa eletrnico retornar ao Estado Pronto, e esse caso de uso ser
encerrado.
Fluxo
Alternativo 5 -
Nenhuma
Conta
No Passo 4 do Fluxo Bsico - Verificar a Conta e a Senha, se o Sistema
bancrio retornar um cdigo indicando que a conta no foi encontrada ou
que ela no permite retiradas, o caixa eletrnico exibir a mensagem
apropriada e retornar ao Passo 9 do Fluxo Bsico - Devolver o Carto.
Fluxo
Alternativo 6 -
Fundos
Insuficientes
na Conta
No Passo 7 do Fluxo Bsico - Autorizao, o Sistema bancrio exibe um
cdigo indicando que o saldo da conta inferior ao valor digitado no Passo
6 do Fluxo Bsico - Digitar o Valor; o caixa eletrnico exibe a mensagem
apropriada e retorna ao Passo 6 do Fluxo Bsico - Digitar o Valor.
Fluxo
Alternativo 7 -
Atingido o
valor mximo
dirio para
retirada
No Passo 6 do Fluxo Bsico - Autorizao, o Sistema bancrio exibe um
cdigo indicando que, com essa solicitao de retirada, o cliente ter
excedido o valor mximo permitido em um perodo de 24 horas; o caixa
eletrnico exibe a mensagem apropriada e retorna ao Passo 6 do Fluxo
Bsico - Digitar o Valor.
Fluxo
Alternativo x -
Erro de Log
Se no Passo 10 do Fluxo Bsico - Recibo, no for possvel atualizar o log, o
caixa eletrnico entrar no "modo de segurana" em que todas as funes
sero suspensas. Um alarme apropriado ser enviado ao Sistema Bancrio
para indicar que o caixa eletrnico suspendeu a operao.
Fluxo
Alternativo y -
Encerramento
O cliente pode, a qualquer momento, decidir terminar a transao
(encerrar). A transao interrompida e o carto ejetado.
Fluxo
Alternativo z -
"Paralisao"
O caixa eletrnico contm vrios sensores que monitoram funes distintas,
como alimentao, presso exercida nas vrias portas e passagens, e
detectores de movimento. Se a qualquer momento um sensor for ativado,
um sinal de alarme ser enviado Polcia, e o caixa eletrnico entrar no
"modo de segurana" em que todas as funes sero suspensas at que
sejam executadas as aes de reincio/reinicializao apropriadas.
Na primeira iterao, de acordo com o plano de iterao, necessrio verificar
se o caso de uso Retirada em Dinheiro foi implementado corretamente. O caso
de uso no foi totalmente implementado. Apenas os seguintes fluxos foram
implementados:
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 7/18
Fluxo Bsico - Retirada de um valor predefinido (R$ 10, R$ 20,
R$ 50, R$ 100)
Fluxo Alternativo 2 - Caixa Eletrnico sem Dinheiro
Fluxo Alternativo 3 - Fundos insuficientes no caixa eletrnico
Fluxo Alternativo 4 - Senha Incorreta
Fluxo Alternativo 5 - Nenhuma Conta/Tipo de Conta Incorreto
Fluxo Alternativo 6 - Fundos Insuficientes na Conta

possvel obter os cenrios a seguir a partir desse caso de uso
Cenrio 1 - Retirada em
dinheiro bem-sucedida
Fluxo Bsico
Cenrio 2 - Caixa
eletrnico sem dinheiro
Fluxo Bsico Fluxo Alternativo 2
Cenrio 3 - Fundos
Insuficientes no Caixa
Eletrnico
Fluxo Bsico Fluxo Alternativo 3
Cenrio 4 - Senha
Incorreta (novas
tentativas)
Fluxo Bsico Fluxo Alternativo 4
Cenrio 5 - Senha
incorreta (sem nova
tentativa)
Fluxo Bsico Fluxo Alternativo 4
Cenrio 6 - Nenhuma
Conta/tipo de conta
incorreto
Fluxo Bsico Fluxo Alternativo 5
Cenrio 7 - Saldo
Insuficiente em Conta
Fluxo Bsico Fluxo Alternativo 6
OBSERVAO: Por praticidade, os loops nos Fluxos alternativos 3 e 6 (Cenrios 3 e 7) e as
combinaes de loops no foram includos na tabela acima.
Para cada um desses sete cenrios, necessrio identificar casos de teste. possvel identificar
e gerenciar os casos de teste usando matrizes ou tabelas de deciso. Veja a seguir um formato
comum, em que cada linha representa um caso de teste individual, e as colunas identificam
informaes de caso de teste. Nesse exemplo, para cada caso de teste, h um ID, uma
Condio (ou descrio) e todos os elementos que participam do caso de teste (como entrada
ou j no banco de dados) e o resultado esperado.
Para desenvolver a matriz, primeiro identifique quais elementos de dados so necessrios para
a execuo dos cenrios de caso de uso. Em seguida, para cada cenrio, identifique pelo menos
um caso de teste que contenha a condio apropriada para executar o cenrio. Por exemplo, na
matriz a seguir, V (vlido) usado para indicar que essa condio deve ser VLIDA para que
o fluxo seja executado, e I (invlido) usado para indicar a condio que disparar o fluxo
alternativo desejado. Na tabela a seguir, "n/a" indica que essa condio no aplicvel ao caso
de teste.
ID do
TC
Cenrio/Condio Senha No da
Conta
Valor
Digitado
Valor
na
Valor no
Caixa
Resultado
Esperado
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 8/18
(ou
escolhido)

Conta

Eletrnico

CW1. Cenrio 1 -
Retirada em
Dinheiro Bem-
sucedida
V V V V V Retirada em
dinheiro
bem-
sucedida.
CW2. Cenrio 2 - Caixa
Eletrnico sem
Dinheiro
V V V V I Opo
Retirada em
Dinheiro
indisponvel,
fim do caso
de uso
CW3. Cenrio 3 -
Fundos
insuficientes no
caixa eletrnico
V V V V I Mensagem
de aviso,
retorno ao
Passo 6 do
Fluxo
Bsico -
Digitar o
Valor
CW4. Cenrio 4 - Senha
Incorreta (> 1
nova tentativa)
I

V n/a V V Mensagem
de aviso,
retorno ao
Passo 4 do
Fluxo
Bsico,
Digitar a
Senha
CW5. Cenrio 4 - Senha
Incorreta (= 1
nova tentativa)
I

V n/a V V Mensagem
de aviso,
retorno ao
Passo 4 do
Fluxo
Bsico,
Digitar a
Senha
CW6. Cenrio 4 - Senha
Incorreta (= sem
novas tentativas)
I

V n/a V V Mensagem
de aviso,
carto
retido, fim
do caso de
uso
Na matriz acima, os seis casos de teste executam os quatro cenrios. Para o Fluxo Bsico, o
caso de teste CW1 acima denominado caso de teste positivo. Ele executa, sem desvios, o
caminho do Fluxo Bsico atravs do caso de uso. O teste abrangente do Fluxo Bsico deve
incluir casos de teste negativos para garantir que esse fluxo s seja utilizado quando as
condies estiverem corretas. Os casos de teste negativos so representados pelos casos de
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 9/18
teste CW2 a 6 (a clula sombreada indica a condio necessria para executar os fluxos
alternativos). Embora esses casos de teste sejam negativos para o Fluxo Bsico, so positivos
para os Fluxos alternativos 2 a 4, e existe pelo menos um caso de teste negativo em cada um
desses Fluxos Alternativos (CW1 - o Fluxo Bsico).
O Cenrio 4 um exemplo em que no suficiente haver apenas um caso de teste positivo e
um negativo por cenrio. Para testar completamente o Cenrio de teste 4 - Senha Incorreta, so
necessrios pelo menos trs casos de teste positivos (para disparar o Cenrio 4):
a senha incorreta digitada, h novas tentativas, e esse Fluxo Alternativo retorna ao
Passo 3 do Fluxo Bsico - Digitar a Senha)
A senha incorreta digitada, no h novas tentativas, esse Fluxo Alternativo retm o
carto e termina o caso de uso.
a senha CORRETA digitada quando no h mais novas tentativas. Esse Fluxo
Alternativo retorna ao Passo 5 do Fluxo Bsico - Digitar o Valor.
Observe que, na matriz acima, nenhum valor real foi digitado para as condies (dados). A
vantagem de criar a matriz do caso de teste dessa maneira a facilidade de ver as condies
que esto sendo testadas. Tambm muito fcil determinar se casos de teste suficientes foram
identificados, j que voc precisa apenas observar os Vs e Is (ou como feito aqui - as clulas
sombreadas). Na tabela acima, h diversas condies para as quais no h clulas sombreadas.
Portanto, esto faltando casos de teste como, por exemplo, para o Cenrio 6 - Nenhuma Conta
ou Tipo de Conta Incorreto e para o Cenrio 7 - Saldo Insuficiente em Conta.
Depois que todos os casos de teste forem identificados, ser necessrio revis-los e valid-los
para garantir a exatido e adequao, bem como para eliminar casos de teste redundantes ou
equivalentes. Consulte Pontos de Verificao: Caso de Teste para obter mais detalhes.
Aps a aprovao dos casos de teste, ser possvel identificar os valores reais dos dados (na
matriz de implementao do caso de teste) e criar os dados de teste (consulte Diretrizes: Dados
de Teste para obter mais informaes sobre os dados de teste).
ID do
TC
Cenrio/Condio Senha

No da
Conta

Valor
Digitado
(ou
escolhido)

Valor
na
Conta

Valor no
Caixa
Eletrnico

Resultado
Esperado
CW1. Cenrio 1 -
Retirada em
Dinheiro Bem-
sucedida
4987 809 -
498
50.00 500.00 2,000 Retirada em
dinheiro
bem-
sucedida.
Saldo da
conta
atualizado
para 450,00
CW2. Cenrio 2 - Caixa
Eletrnico sem
Dinheiro
4987 809 -
498
100,00 500,00 0,00 Opo
Retirada em
Dinheiro
indisponvel,
fim do caso
de uso
CW3. Cenrio 3 - 4987 809 - 100,00 500,00 70,00 Mensagem
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 10/18
Fundos
insuficientes no
caixa eletrnico
498 de aviso,
retorno ao
Passo 6 do
Fluxo
Bsico -
Digitar o
Valor
CW4. Cenrio 4 - Senha
Incorreta (> 1
nova tentativa)
4978

809 -
498
n/a 500,00 2.000 Mensagem
de aviso,
retorno ao
Passo 4 do
Fluxo
Bsico,
Digitar a
Senha
CW5. Cenrio 4 - Senha
Incorreta (= 1
nova tentativa)
4978

809 -
498
n/a 500,00 2.000 Mensagem
de aviso,
retorno ao
Passo 4 do
Fluxo
Bsico,
Digitar a
Senha
CW6. Cenrio 4 - Senha
Incorreta (= sem
novas tentativas)
4978

809 -
498
n/a 500,00 2.000 Mensagem
de aviso,
carto
retido, fim
do caso de
uso

Os casos de teste acima so apenas alguns dos necessrios para verificar o Caso de Uso de
Retirada em Dinheiro, referente a essa iterao. Outros casos de teste necessrios contm:
Cenrio 6 - Nenhuma Conta ou Tipo de Conta Incorreto: Conta no encontrada ou
no disponvel
Cenrio 6 - Nenhuma Conta ou Tipo de Conta Incorreto: A conta no permite
retiradas
Cenrio 7 - Saldo em Conta Insuficiente: Valor solicitado maior que o valor contido
na conta.
Em futuras iteraes, quando outros fluxos forem implementados, os casos de teste sero
necessrios para:
Cartes invlidos (informa-se que o carto foi perdido, roubado, no de um banco
aceito, tem uma tarja danificada etc.)
Incapacidade de ler um carto (o leitor de cartes est obstrudo, fora de linha ou com
defeito)
A conta est fechada, paralizada ou de outra maneira indisponvel
O valor no caixa eletrnico insuficiente ou incapaz de compor o valor solicitado
(diferente do CW3, visto que uma denominao est fora, mas no todas)
Incapaz de entrar em contato com o sistema bancrio para aprovao
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 11/18
A rede do banco est fora de linha ou h uma falha de energia durante a transao
Ao identificar os casos de teste funcionais, verifique se:
foram identificados casos de teste suficientes, positivos e negativos, para cada cenrio
de caso de uso
os casos de teste abordam qualquer regra de negcio implementada pelos casos de
uso, garantindo que haja casos de teste, dentro, fora e na condio ou no valor de
fronteira da regra de negcio
os casos de teste abordam quaisquer seqncias de eventos ou aes, como aquelas
identificadas nos diagramas de seqncia do modelo de design, ou estados ou as
condies de objetos de interface do usurio.
os casos de teste abordam qualquer requisito especial definido para o caso de uso,
como o desempenho mnimo/mximo, s vezes combinado com as cargas ou os
volumes de dados mnimos/mximos durante a execuo dos casos de uso.

Consulte tambm Diretrizes: Dados de Teste para obter informaes adicionais sobre os dados
de teste.
Obteno de Casos de Teste a partir de Especificaes
Suplementares
Nem todos os requisitos de um objetivo de teste sero refletidos em casos de uso. Requisitos
no-funcionais, como desempenho, segurana e acesso, e requisitos de configurao
especificam comportamentos ou caractersticas adicionais do objetivo do teste. A Especificao
Suplementar a principal fonte de obteno de casos de teste para esses comportamentos
adicionais.
Veja a seguir as diretrizes para obteno desses casos de teste adicionais:
Obteno de Casos de Teste para Testes de Desempenho
Obteno de Casos de Teste para Testes de Segurana/Acesso
Obteno de Casos de Teste para Testes de Configurao
Obteno de Casos de Teste para Testes de Instalao
Obteno de Casos de Teste para outros testes no-funcionais
Obteno de Casos de Teste para o Teste de Desempenho
A principal entrada para os casos de teste de desempenho so as Especificaes Suplementares
que contm os requisitos no-funcionais (consulte Artefato: Especificaes Suplementares).
Use as seguintes diretrizes ao obter casos de teste para o teste de desempenho:
verifique se h pelo menos um caso de teste identificado para cada sentena na
especificao suplementar, que indica um critrio de desempenho. Geralmente, os
critrios de desempenho so expressos como tempo por transao, nmero de
transaes/usurios ou percentis.
verifique se h pelo menos um caso de teste identificado para cada caso de uso crtico.
Os casos de uso crticos so aqueles identificados nas sentenas acima e/ou no
documento de anlise de carga de trabalho (consulte Artefato: Documento de Anlise
de Carga de Trabalho), que deve ser avaliado atravs de medidas de desempenho.
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 12/18
Como nos casos de teste para testes funcionais, normalmente haver mais de um caso de teste
por caso de uso/requisito. mais comum haver um caso de teste que esteja abaixo do valor
limite de desempenho, outro no valor limite e um terceiro acima desse valor.
Alm dos critrios de desempenho acima, verifique se voc conseguiu identificar as condies
especficas que afetam os tempos de resposta, inclusive:
Tamanho do banco de dados - quantos registros existem?
Carga de trabalho - nmero e tipo de usurios finais simultneos, nmero e tipo de
transaes simultneas em execuo
Caractersticas do ambiente (configurao de hardware, netware e software)
Capture casos de teste para o teste de desempenho em matrizes semelhantes s usadas para o
teste funcional.
Consulte tambm Diretrizes: Dados de Teste para obter informaes adicionais sobre os dados
de teste.
Veja a seguir alguns exemplos dos diferentes tipos de Testes de Desempenho:
Para o Teste de Carga:
ID do
TC
Carga de
Trabalho
Condio

Resultado Esperado
PCW1. 1
(Caixa
eletrnico
nico)
Transao de Retirada
Concluda
A transao concluda
(andamento
independente do ator)
ocorre em < de 20
segundos
PCW2. 2
(1.000 caixas
eletrnicos
simultneos)
Transao de Retirada
Concluda
A transao de retirada
concluda (andamento
independente de ator)
ocorre em < de 30
segundos
PCW3. 3
(10.000 caixas
eletrnicos
simultneos)
Transao de Retirada
Concluda
A transao concluda
(andamento
independente de ator)
ocorre em < de 50
segundos
Para o Teste de Esforo:
ID do
TC
Carga de
Trabalho
Condio

Resultado Esperado
SCW1. 2
(1.000 caixas
eletrnicos
simultneos)
Bloqueio do banco
de dados - 2 caixas
eletrnicos
solicitando a mesma
conta
Solicitaes do caixa
eletrnico em fila
SCW2. 2 A comunicao
com o Sistema
A transao est em fila
ou seu tempo est
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 13/18
(1.000 caixas
eletrnicos
simultneos)
Bancrio no est
disponvel
esgotado
SCW3. 2
(1.000 caixas
eletrnicos
simultneos)
A comunicao
com o Sistema
Bancrio termina
durante a transao
Uma mensagem de aviso
exibida
Obteno de Casos de Teste para Segurana/Testes de Acesso
Os atores e os casos de uso descrevem a interao entre os usurios externos do sistema e as
aes executadas pelo sistema a fim de gerar um valor para determinado ator. Os sistemas
complexos contm vrios atores, e essencial desenvolvermos casos de teste para garantir que
apenas esses atores especificados executem os casos de uso. Isso ocorrer especialmente se
houver diferenas no fluxo de eventos do caso de uso com base no tipo de ator.
Por exemplo, nos casos de uso de caixas eletrnicos, ser possvel executar diversos fluxos de
eventos de caso de uso para o ator "Cliente de Banco" se seu carto e sua conta forem do banco
que possui o caixa eletrnico versus o "Cliente de Banco" que usa um carto (e conta) de um
banco concorrente, ou tenta usar um carto bancrio no participante.
Siga as mesmas diretrizes listadas acima para os casos de teste funcionais.
Consulte tambm Diretrizes: Dados de Teste para obter informaes adicionais sobre os dados
de teste.
Exemplo de casos de teste para Segurana e Acesso:
ID do
TC
Condio Carto
(V indica
carto
vlido)
Leitor de
Cartes
(V indica que o
leitor est
funcionando
corretamente)
Rede do
Banco
Resultado
Esperado
ACW1. Na Rede
Bancria
V V V Todos os
Casos de Uso
disponveis
ACW2. Fora da
rede
bancria
V V I Apenas caso
de uso de
retirada em
dinheiro
ACW3. No
possvel ler
o carto
I V V Mensagem de
Aviso, Carto
ejetado
ACW4. Carto
indicado
como
roubado
I V V Mensagem de
Aviso, carto
retido
ACW5. Carto
expirado
I V V Mensagem de
aviso, carto
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 14/18
retido
Obteno de Casos de Teste para Testes de Configurao
Em sistemas distribudos comuns, pode haver vrias combinaes de hardware e software
permitidas que sero suportadas. O teste deve ser executado para verificar se o objetivo do teste
funciona ou executado de forma aceitvel em configuraes distintas, como em diversos
sistemas operacionais, navegadores ou velocidades de CPU. Alm disso, o teste tambm
precisa abranger combinaes de componentes para detectar defeitos provenientes de
interaes dos diversos componentes, por exemplo, garantir que a verso das DLLs instaladas
por um aplicativo no entre em conflito com as verses das mesmas DLLs esperadas por outro
aplicativo.
Para obter casos de teste para testes de configurao, use as seguintes diretrizes:
Verifique se h pelo menos um caso de teste identificando cada configurao crtica.
Para isso, basta identificar as configuraes de hardware e software necessrias para o
ambiente de objetivo do teste e priorizar as configuraes, garantindo que as mais
comuns sejam testadas primeiro, inclusive:
Suporte a impressoras
Conexes de rede - redes locais e de longa distncia
Configuraes de servidor - drivers e hardware de servidor
Outros softwares instalados na rea de trabalho e/ou servidores
Verses de software para todos os softwares instalados
Verifique se h pelo menos um caso de teste para cada configurao suscetvel a
problemas. Essas configuraes podem conter:
Hardware com o pior desempenho.
Software co-residente com um histrico de problemas de compatibilidade.
Clientes que acessam o servidor atravs da conexo LAN/WAN mais lenta
possvel.
Recursos insuficientes (CPU lenta, memria ou resoluo mnima, espao
em disco etc.)
Obteno de Casos de Teste para Testes de Instalao
O teste de instalao precisa verificar se possvel instalar o objetivo do teste em todos os
possveis cenrios de instalao. Os cenrios de instalao podem incluir a instalao do
objetivo do teste pela primeira vez ou a instalao de uma nova verso ou build desse objetivo
de teste (em uma mquina com a verso anterior). O teste de instalao tambm deve garantir
que o objetivo do teste seja executado de forma aceitvel quando ocorrerem condies
anormais, como espao em disco insuficiente.
Os casos de teste devem abranger os cenrios de instalao do software, inclusive:
Mdia de distribuio, por exemplo, disquetes, CD-ROM ou servidor de arquivos.
Nova instalao.
Instalao completa.
Instalaes personalizadas.
Instalaes de atualizao.
Os programas de instalao para software cliente-servidor tm um conjunto especializado de
casos de teste. Diferente dos sistemas baseados em host, o programa de instalao geralmente
dividido entre o servidor e o cliente. Desse modo, importante que o teste de instalao
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 15/18
execute a instalao de todos os componentes do objetivo do teste, inclusive o cliente, as
camadas intermedirias e os servidores.
Obteno de Casos de Teste para outros Testes No Funcionais
O ideal que voc encontre todos os recursos necessrios para obter os casos de teste nos
artefatos Modelo de Casos de Uso, Modelo de Design e Especificao Suplementar. Contudo,
no incomum que, nesse ponto, voc precise complementar o que for encontrado.
Estes so alguns exemplos:
Casos de teste para Testes Operacionais (para verificar se o software funciona quando
em uso por "muito tempo" entre falhas).
Casos de teste que investigam gargalos de desempenho, recursos de volume do
sistema ou foram uma falha no objetivo do teste.
Na maioria dos casos, voc pode encontrar esses casos de teste criando variveis ou agregados
dos casos de teste que voc obteve a partir daqueles identificados anteriormente.
Obteno de Casos de Teste para o Teste Unitrio
O teste unitrio exige a avaliao da estrutura interna da unidade e de suas caractersticas
comportamentais. O teste da estrutura interna exige conhecimento de como a unidade foi
implementada. Os testes baseados nesse conhecimento so denominados testes caixa branca. O
teste das caractersticas comportamentais de uma unidade concentram-se nos comportamentos
da unidade que podem ser observados externamente, sem conhecimento nem preocupao com
sua implementao. Os testes baseados nesse mtodo so conhecidos como testes caixa preta.
A obteno de casos de teste com base nos dois mtodos descrita a seguir.
Testes Caixa Branca
Teoricamente, voc deve testar todo caminho possvel atravs do cdigo. Atingir essa meta nas
unidades, embora sejam muito simples, impraticvel ou quase impossvel. Na pior das
hipteses, voc deve testar todos os caminhos deciso-a-deciso (caminho DD) pelo menos
uma vez, o que resulta na execuo de todas as instrues. Em geral, uma deciso uma
instruo if, e um caminho DD aquele que une duas decises.
Para atingir esse nvel de cobertura de teste, recomenda-se escolher dados de teste que
permitam avaliar cada deciso de todas as maneiras possveis. Com essa finalidade, os casos de
teste devem garantir que:
Toda Boolean expression produza como resultado true e false. Por exemplo, a
expresso (a<3) OR (b>4) produz como resultado quatro combinaes de true/false
Todo loop infinito testado uma ou mais vezes, ou ento no testado.
Use as ferramentas de cobertura de cdigo para identificar o cdigo no experimentado pelo
teste caixa branca. O teste de confiabilidade deve ser realizado simultaneamente com o teste
caixa branca.
Exemplo:
Suponha que voc execute um teste de estrutura em uma funo que seja membro
da classe Conjunto de Inteiros. O teste - com a ajuda de uma pesquisa binria -
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 16/18
verifica se o conjunto contm determinado inteiro.
A funo-membro e seu fluxograma correspondente. As setas pontilhadas ilustram
como voc pode usar dois casos de teste para executar todas as instrues pelo
menos uma vez.
Teoricamente, para que uma operao seja totalmente testada, o caso de teste deve percorrer
todas as combinaes de rotas contidas no cdigo. No membro, h trs rotas alternativas
dentro do while-loop. O caso de teste pode percorrer o loop vrias vezes ou nenhuma. Se o
caso de teste no percorrer o loop, haver apenas uma rota atravs do cdigo. Se ele percorrer o
loop uma vez, haver trs rotas. Se percorrer duas vezes, haver seis rotas e assim por diante.
Portanto, o nmero total de rotas ser 1+3+6+12+24+48+..., o que, na prtica, um nmero
no gerencivel de combinaes de rota. Esse o motivo pelo qual voc deve escolher um
subconjunto de todas as rotas. Neste exemplo, voc pode usar dois casos de teste para executar
todas as instrues. Em um caso de teste, voc pode escolher Conjunto de Inteiros =
{1,5,7,8,11} e t = 3 como os dados de teste. No outro caso de teste, voc pode escolher
Conjunto de Inteiros = {1,5,7,8,11} e t = 8.
Consulte Diretrizes: Teste Unitrio para obter informaes adicionais
Testes Caixa Preta
A finalidade de um teste caixa preta verificar o comportamento especificado da unidade, sem
observar como a unidade implementa esse comportamento. Os testes caixa preta se concentram
e se baseiam na entrada e sada da unidade.
Particionamento de equivalncia uma tcnica destinada a reduzir o nmero de testes
necessrio. Para cada operao, voc deve identificar as classes de equivalncia dos
argumentos e os estados dos objetos. Uma classe de equivalncia um conjunto de valores de
acordo com o qual o objeto deve se comportar. Por exemplo, um Conjunto contm trs classes
de equivalncia: vazio, algum elemento e cheio.
Use as ferramentas de cobertura de cdigo para identificar o cdigo no experimentado pelo
teste caixa branca. O teste de confiabilidade deve ser realizado simultaneamente com o teste
caixa preta.
As duas subsees a seguir descrevem como identificar os casos de teste atravs da seleo dos
dados deteste para argumentos especficos.
Casos de Teste baseados em Argumentos de Entrada
Um argumento de entrada aquele usado por uma operao. Voc deve criar casos de teste
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 17/18
usando argumentos de entrada para cada operao, em cada uma das seguintes condies de
entrada:
Valores normais de cada classe de equivalncia.
Valores na fronteira de cada classe de equivalncia.
Valores fora das classes de equivalncia.
Valores invlidos.
Lembre-se de tratar o estado do objeto como um argumento de entrada. Se, por exemplo, voc
testar uma operao de adio em um Conjunto de objetos, dever testar a adio com valores
de todas as classes de equivalncia do Conjunto, ou seja, com um Conjunto completo, com
algum elemento no Conjunto e com um Conjunto vazio.
Casos de Teste baseados em Argumentos de Sada
Um argumento de sada aquele alterado por uma operao. Um argumento pode ser de
entrada ou de sada. Selecione a entrada para que a sada esteja de acordo com o seguinte:
Valores normais de cada classe de equivalncia.
Valores na fronteira para cada classe de equivalncia.
Valores fora das classes de equivalncia.
Valores invlidos.
Lembre-se de tratar o estado do objeto como um argumento de sada. Se, por exemplo, voc
testar uma operao de excluso em uma Lista, dever escolher valores de entrada de modo
que a Lista fique cheia, contenha algum elemento ou fique vazia aps a execuo da operao
(teste com valores de todas as respectivas classes de equivalncia).
Se o objeto for controlado por estado (a reao varia de acordo com o estado do objeto), voc
deve usar uma matriz de estado, conforme a mostrada na figura a seguir.
Uma matriz de estado para teste. Voc pode testar todas as combinaes de estado e
de estmulos na base da matriz.
Consulte Diretrizes: Teste Unitrio para obter informaes adicionais
Obteno de Casos de Teste para o Teste de Aceitao do Produto
O teste de aceitao do produto o teste final antes da implantao do software. O objetivo
desse teste verificar se o software est pronto e pode ser usado pelos usurios finais para
executar as funes e as tarefas para as quais o software foi criado. Esse teste geralmente
envolve mais do que a verificao da integridade do software. Tambm envolve todos os
artefatos de produto fornecidos ao(s) cliente(s), como treinamento, documentao e pacotes.
16/10/2014 Diretrizes: Caso de Teste
http://wthreex.com/rup/portugues/process/modguide/md_tstcs.htm#Deriving Test Cases from Use Cases 18/18
possvel obter casos de teste para o(s) artefato(s) de software de acordo com o descrito nas
sees anteriores. Dependendo do grau e da formalidade do teste de aceitao do produto, os
casos de teste sero iguais ou semelhantes aos identificados acima (formais) ou um
subconjunto (informais). Independentemente da profundidade dos casos de teste, necessrio
haver um acordo entre eles e o Plano de Aceitao do Produto antes que o teste do produto seja
implementado e executado.
A avaliao dos artefatos que no so de software varia principalmente de acordo com o
artefato que est sendo avaliado. Consulte as Diretrizes e as Listas de Verificao de cada
artefato especfico que no seja de software para obter informaes sobre a finalidade e a
maneira de avali-lo.
Criao de Casos de Teste para o Teste de Regresso
O teste de regresso compara dois builds ou duas verses do mesmo objetivo de teste e
identifica diferenas como possveis defeitos. Desse modo, ele pressupe que uma nova verso
deve se comportar como uma verso anterior e verifica se defeitos no foram introduzidos
como resultado das mudanas.
O ideal que todos os casos de teste em uma iterao sejam usados como casos de teste nas
iteraes posteriores. Use as diretrizes a seguir para identificar, criar e implementar os casos de
teste que maximizam o valor do teste de regresso e da reutilizao, ao mesmo tempo que
minimizam a manuteno:
Garanta que o caso de teste identifique apenas os elementos de dados crticos (os
necessrios para criar/suportar a condio que est sendo testada)
Garanta que cada caso de teste descreva ou represente um conjunto exclusivo de
entradas ou uma seqncia de eventos que resulte em um comportamento exclusivo
do objetivo do teste.
Elimine casos de teste redundantes ou equivalentes
Agrupe os casos de teste cujo estado inicial do objetivo do teste e cujo estado dos
dados de teste sejam os mesmos

Copyright (c) 1987 - 2001 Rational Software Corporation
Rational Unified Process

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