Buscar

[08] QuaSftw Testes de Sistema Plano e Casos de Teste

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Rafael Targino
rtargino@unicarioca.edu.br
@rafatargino
QUALIDADE DE SOFTWARE
Unidade III - Testes de Sistemas - Planos e Casos de Testes
2
Fases do Teste
• Teste de Unidade
• Teste de Integração
• Teste de Sistema
• Teste de Aceitação
Teste de Sistema
• O objetivo é executar o sistema sob ponto de vista de seu 
usuário final 
• Testar hardware e software juntos.
• Os testes são executados em condições similares – de 
ambiente, interfaces sistêmicas e massas de dados – àquelas 
que um usuário utilizará no seu dia-a-dia
• Durante esse teste são verificados alguns requisitos não 
funcionais como performance, carga, confiabilidade, etc.
3
Teste de Sistema – Funcionais
• Tipos de Teste de Sistema:
– Teste Funcionais
– Teste de Regressão
– Teste de Sanidade (smoke test)
Testes Funcionais
• Visam verificar se a versão corrente do sistema 
permite executar processos ou casos de uso 
completos do ponto de vista do usuário, sendo capaz 
de obter os resultados esperados
• Normalmente utilizam artefatos para gerenciar e 
apoiar o processo de descoberta e controle de todos 
os cenários de teste possível:
– Plano de Teste
– Casos de Teste
4
Testes de Regressão
• Cada vez que um novo módulo é adicionado como parte 
do teste de integração, o software se modifica.
• Modificações podem causar problemas com funções 
previamente testadas
• Testes de regressão é a reexecução de algum 
subconjunto 
• Objetivo: garantir que as modificações inseridas não 
propagam efeitos colaterais
Teste de Sanidade (smoke test)
• Testar inicialmente determinando se uma nova versão do 
software tem um desempenho suficientemente bom 
para ser aceito para um teste mais aprimorado. 
• Também é conhecido como “Smoke test” e tem o 
propósito de evitar que sejam desperdiçados recursos de 
testes com um build não estáveis para testes.
5
Teste de Sanidade (smoke test)
• Benefícios:
– Risco de integração é minimizado – testes conduzidos 
diariamente
– Qualidade do produto final é aperfeiçoada – testes 
descobrem tanto erros funcionais quanto de projeto.
– Diagnóstico e correção são simplificados
– Progresso é fácil de avaliar – aumento da moral da equipe.
Teste de Sistema – Não Funcionais
• Tipos de Teste de Sistema:
– Teste de Recuperação
– Teste de Segurança
– Teste de Carga (Estresse)
– Teste de Performance (Desempenho)
– Teste de Configuração e Instalação
6
Teste de Recuperação 
• Assegura que o sistema pode, com sucesso, recuperar os 
dados após uma falha no funcionamento do hardware, do 
software ou de rede, quando existir perda dos dados ou da 
integridade dos mesmos.
• Para aqueles sistemas que devem ser mantidos sempre em 
funcionamento, este tipo de teste assegura que, quando uma 
condição de falha ocorrer, o sistema de backup (ou substituto) 
“toma lugar” do sistema falho sem perda de dados ou de 
transações.
Teste de Segurança 
• Garantir que só um certo grupo de pessoas 
previamente definido pode acessar o sistema e, entre 
esses, alguns podem utilizar funções que outros não 
podem e vice-versa 
• Assegurar que as informações armazenadas pelo 
sistema não podem ser acessadas ou corrompidas de 
forma intencional ou não por pessoas sem permissão. 
7
Teste de Estresse
• Medir e avaliar os comportamentos de performance e a 
habilidade do sistema de continuar funcionando 
apropriadamente sob cargas de trabalho diferentes e grandes 
quantidades de dados ao sistema para determinar se limites 
que causam a falha do software são alcançados.
• Também avalia as características de performance, assim como 
tempos de resposta, taxas de transações, outros casos 
sensíveis ao tempo e identifica a carga ou volume máximo 
persistente que o sistema pode suportar por um dado 
período. 
Teste de Estresse
• Tipo de teste de performance, implementado e executado para entender 
o comportamento do sistema durante condições limite ou fora da 
tolerância esperada
• Tipicamente envolve baixos recursos ou a concorrência por recursos. 
• Baixos recursos disponíveis revelam defeitos que não são aparentes em 
condições normais.
• Outros defeitos devem resultar da concorrência por recursos 
compartilhados, como travamento de banco de dados ou utilização de 
toda a banda da rede de comunicação.
8
Teste de Performance
• O teste de performance mede e avalia o tempo de 
resposta, o número de transações, usuários e outros 
requisitos sensíveis ao tempo. 
Teste de Configuração e Instalação 
• Verificar a operação do sistema em diferentes configurações 
de software e hardware. As especificações de hardware e 
software podem mudar e esta mudança pode afetar o sistema 
a ser desenvolvido.
• Garantir que o software possa ser instalado (completamente, 
de forma personalizada ou atualizado) sob condições 
apropriadas
• Verificar que, uma vez instalado, o software funciona 
corretamente
9
Ferramentas de Testes
• Testes Não Funcionais - JMeeter
Testes Funcionais
Plano de Testes
10
Planejamento dos Testes
• Estratégia de testes:
– Integra métodos de projeto de casos de teste em uma 
série de passos planejados.
– Roteiro a ser seguido para as atividades de testes de 
software.
• A falta de planejamento dos testes pode causar:
– longo ciclo de testes
– uso ineficiente dos recursos
– baixa qualidade do processo e do produto
• Planejar ajuda a obter o máximo dos testes e 
controlar custos.
Planejamento de Testes
• Princípios:
– Entender os objetivos do produto a ser testado (SW, 
sistema ou componente)
– Entender as restrições ou limitações do produto
– Planejar-se para atingir os objetivos dentro das restrições e 
limitações existentes
– Executar os testes conforme o planejado
– Monitorar e atualizar o plano
11
Planos de Testes
• Plano de testes visa responder as seguintes 
questões:
– O que vai ser testado?
– Quem vai testar?
– Quando serão realizados os testes?
– Onde serão aplicados os testes?
– Quais os riscos envolvidos?
– Quais os recursos necessários?
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
12
Objetivos
• Para cada fase de teste descrever:
– Objetivos dos testes
• Ex: Testes funcionais ou não funcionais?
– Itens a testar
• Ex: nos testes de unidades indica quais serão testadas
– Aspectos a serem testados
• Ex: requisitos funcionais e não funcionais a serem considerados 
em um teste de aceitação
– Aspectos que não serão testados
• Ex: requisitos funcionais e não funcionais que não serão 
considerados em um teste de aceitação
Escolha dos itens a testar
• O que fazer quando há restrições de recursos (tempo, 
esforço, custo, RH, ferramentas, etc.) para a realização 
dos testes?
Estratégia baseada em análise de riscos
• Discussão: Quais sistemas vocês acham que 
consumirá mais recursos de teste?
– Sistema bancário
– Sistema para colocar um satélite em órbita da Terra
– Sistema de controle acadêmico
13
Testes Baseados em Riscos
• A análise de riscos permite
– Priorizar esforço de teste
– Alocar recursos para os testes
• A análise de riscos ajuda a determinar:
– Quais componentes devem ser testados mais 
cuidadosamente
– O nº de casos de testes
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
14
Dependências
• Indica as dependências existentes
– Exemplos
• Disponibilidade de pessoal treinado
• Disponibilidade de recursos
• Uma tarefa (ou marco) de testes dependeda existência de 
determinada ferramenta
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
15
Critérios de Completeza e Sucesso
• Podem tomar como base:
– Critérios de cobertura de testes
• Todas as funções foram exercitadas e as saídas observadas de 
acordo com as esperadas
• Todas as instruções foram exercitadas
• Todas as inclusões, alterações e exclusões de itens foram refletidos 
adequadamente no BD
– Falhas remanescentes
– Grau de confiabilidade atingido
– Objetivos de qualidade atingidos
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
16
• Suspensão:
– quais os problemas graves que podem provocar a 
interrupção dos testes?
• Ex.: BD foi corrompido
• Retomada:
– o que deve ser feito para reiniciar os testes?
• Ex.: corrigir o código; esvaziar o BD; reaplicar testes
Critérios de Suspensão e Retomada
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
17
Produto dos Testes
• Descrevem:
– Como os resultados de teste serão armazenados
– Relatórios a serem produzidos com os dados armazenados
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
18
Ambiente
• Define:
– Configuração de HW e SW necessária para os testes 
– Escolha das ferramentas que serão utilizadas
– Quem é responsável por providenciá-la
• Seleção depende dos objetivos dos testes:
– Por exemplo: ferramentas ou SW específico para testes de 
desempenho, estresse, confiabilidade
– Uso de simuladores quando HW indisponível ou caro
Conteúdo de um Plano de Testes
• Objetivos
• Dependências
• Critérios de completeza e sucesso
• Critérios de suspensão e retomada
• Produtos dos testes
• Ambiente
• Cronograma
19
Cronograma
• Identificar cada tarefa de teste
• Identificar as dependências (ordem) entre as tarefas 
de teste
• Estimar esforço e recursos necessários para realizar 
cada tarefa
• Indicar pessoas responsáveis pelas tarefas
• Definir data de início e fim de cada tarefa
Tarefas de acordo com o processo de desenvolvimento 
definido na organização e normalmente implementado 
nas ferramentas
Exemplo – Plano de Testes
Sistema de Gerenciamento de Serviços Automotivos
20
Exemplo – Plano de Testes
Sistema de Gerenciamento de Serviços Automotivos
Exemplo – Plano de Testes
Sistema de Gerenciamento de Serviços Automotivos
21
Exemplo – Plano de Testes
Sistema de Gerenciamento de Serviços Automotivos
Exemplo – Plano de Testes
Sistema de Gerenciamento de Serviços Automotivos
22
Testes Funcionais
Casos de Testes
Documentação de Testes
• Documentos gerados no planejamento e execução 
dos testes:
– Planos de Testes (descrito anteriormente)
– Especificação dos Testes - Casos de Testes
– Resultados da Execução dos Casos de Testes - Relatórios de 
Testes
23
Especificação dos Testes
• Contém a descrição detalhada de cada Caso de Teste:
– Dados de entrada: valor para cada variável/parâmetro de 
entrada
– Saídas esperadas: valores esperados de cada campo de 
saída
– Procedimentos que serão usados para executar o caso de 
teste
– Dependências: condições prévias para execução do caso 
de teste ou caso de teste predecessor
Casos de Teste
• Caso de teste é um conjunto de condições usadas para 
teste de software. 
• Ele pode ser elaborado para identificar defeitos na 
estrutura interna do software por meio de situações 
que exercitem adequadamente todas as estruturas 
utilizadas na codificação; 
• ou ainda, garantir que os requisitos do software que foi 
construído sejam plenamente atendidos. 
• Podemos utilizar a ferramenta de casos de uso para 
criar e rastrear um caso de teste, facilitando assim 
identificação de possíveis falhas.
24
Caso de Uso x Casos de Teste (CT)
CT1
CT2
CT3
CT4
CT5
Cobertura dos Casos de Teste
• Os Casos de Teste devem cobrir as possibilidades e 
combinações de fluxos básicos, alternativos e de 
exceções de um caso de uso.
25
Exemplo de Casos de Testes
Ex: Especificação de um caso de teste
26
Resultados da Execução dos Casos de 
Testes - Relatórios de Testes
• Registram dados relativos à execução de cada caso de teste
• Artefatos produzidos:
– Registros de testes realizados
– Relatório de incidentes (defeitos, bugs, melhorias, etc.)
– Relatório de resumo dos testes (métricas)
Ferramentas de Testes
• Gerenciamento de Casos de Testes - TestLink
27
Ferramentas de Testes
• Gerenciamento de Casos de Testes - TestLink
Exercício – Elaboração de Casos de Testes
• Elabore os Casos de Testes associados aos Casos de 
Uso abaixo conforme planilha disponibilizada pelo 
professor:
– Manter Alunos
– Gerenciar Inscrições de Disciplinas
28
Fases do Teste
• Teste de Unidade
• Teste de Integração
• Teste de Sistema
• Teste de Aceitação
Teste de Aceitação - formal
• O teste de aceitação formal é um processo altamente 
gerenciado e costuma ser uma extensão do teste do 
sistema.
• Os testes são planejados e projetados com o mesmo 
cuidado e nível de detalhe do teste do sistema. 
29
Teste de Aceitação
• O teste de aceitação é a última ação de teste antes 
da implantação do software. 
• A meta é validar se o software está pronto e pode ser 
usado pelos usuários finais
– Teste de aceitação formal
– Teste de aceitação alfa
– Teste de aceitação beta
Teste de Aceitação – Alfa
• Os procedimentos para executar o teste não são definidos 
com tanto rigor como no teste de aceitação formal. 
• As funções e as tarefas de negócios a serem exploradas são 
identificadas e documentadas, mas não há casos de teste 
específicos para seguir. 
• O testador individual determina o que fazer. 
• Essa abordagem de teste de aceitação não é tão controlada 
como o teste formal e é mais subjetiva do que o tipo formal. 
30
Teste de Aceitação - Beta
• O teste beta é implementado por usuários finais, 
geralmente com pouco ou nenhum gerenciamento por 
parte da organização de desenvolvimento 
Referências Bibliográficas
• KOSCIANSKI, A. e SOARES, M. S. 
Qualidade de Software. NOVATEC.
• PRESSMAN, R. S. Engenharia de 
Software. McGraw Hill,
• Notas de Aula do Prof. David 
Zanetti, Qualidade de Software -
Unicarioca

Outros materiais