Buscar

Teste de Softwares Aula_07

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 41 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 41 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 41 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

TESTES DE SOFTWARE – AULA 7
Rio de Janeiro, 21 de agosto de 2011
ESTRATÉGIA DE 
TESTE DE SOFTWARE
TESTE DE SISTEMA
1) Compreender as técnicas de teste de sistema em
ambiente de produção ou do usuário;
2) Definir estratégia de testes de sistema em ambiente de
produção e do usuário;
3) Implementar testes de sistema em ambiente de
produção e do usuário;
4) Avaliar testes de sistema em ambiente de produção e do
usuário.
3
OBJETIVOS DESTA AULA
O software é testado para revelar erros cometidos
inadvertidamente quando projetado é construído.
Neste sentido torna-se necessária a definição de uma
estratégia de teste de software de forma a orientar os
desenvolvedores e as equipes independentes de testes, os
passos a serem seguidos, o tempo de trabalho e os
recursos necessários.
4
LEMBRANDO
“O processo de desenvolvimento de sistemas pode ser
visto como uma espiral com suas etapas movimentando-se
para dentro enquanto que a estratégia de teste pode ser
vista movimentando-se para fora.
5
LEMBRANDO
Considerando de um ponto de vista procedimental, o teste
no contexto da Engenharia de Software é uma série de
quatro passos, que são implementados sequencialmente.
6
LEMBRANDO
Serão compreendidas as técnicas de teste de sistema em
ambiente de produção ou do usuário. Serão abordadas as
estratégias de testes, implementação e avaliação de
sistema em ambiente de produção e do usuário.
O teste de sistema é na realidade uma série de diferentes
testes cuja finalidade primária é exercitar totalmente o
sistema. Estes diferentes tipos de testes apesar de terem
finalidades diferentes, funcionam no sentido de verificar se
os elementos do sistema foram integrados.
7
INTRODUÇÃO
As etapas executadas durante o projeto de software e o
teste podem aumentar muito a probabilidade de uma
integração de software bem-sucedida em um sistema maior.
O software uma vez validado deve ser combinado com
outros elementos do sistema, por exemplo, hardware,
pessoas e bases de dados e assim validado se todos os
elementos se combinam corretamente e se a função e o
desempenho global do sistema são conseguidos.
8
INTRODUÇÃO
O teste de sistema se refere ao comportamento de todo o
produto definido pelo escopo de um projeto em desenvol-
vimento. Agora, ambiente de teste deve corresponder o
máximo possível ao ambiente de produção, para minimizar
que os riscos de falhas específicas de ambiente não serem
encontradas durante o teste.
“Não é apenas uma configuração de hardware, mas toda
estrutura onde o teste será executado”. Fonte: Base de
conhecimento em teste de software
9
TESTE DE SISTEMA
O objetivo do teste de sistema é realizar a execução do
sistema como um todo, dentro de um ambiente operacional
controlado, para validar a exatidão e perfeição na execução
de suas funções, acompanhando cenários sistêmicos
elaborados pelo profissional de requisitos do projeto e
devem retratar os requisitos funcionais e não-funcionais do
sistema.
10
TESTE DE SISTEMA
Normalmente este tipo de teste é realizado por uma equipe
de teste independente, onde o analista de teste irá
elaborar os casos de testes, normalmente em conjunto com
os desenvolvedores e executando os testes em um
ambiente controlado, no caso o ambiente de teste.
11
TESTE DE SISTEMA
Do ponto de vista psicológico, as atividades de análise e
projeto, junto com a programação, são tarefas construtivas.
Por outro lado, a atividade de teste pode ser vista,
psicologicamente, como uma tarefa destrutiva.
Por esse motivo, é comum o desenvolvedor “pisar leve”,
projetando e executando testes que demonstrem que o
sistema funciona, em vez de descobrir erros.
Se o Engenheiro de Software não o encontrar, o cliente o
fará!
12
LEMBRANDO: QUEM REALIZA O TESTE?
Normalmente para que o processo de teste transcorra de
forma íntegra é comum a utilização de um grupo
independente de teste, já que as pessoas que criaram o
software não devem ser as que irão realizar os testes. Seria
um conflito de interesses pois foram elas que o “criaram”.
Este grupo trabalha de forma conjunta e existem testes que
somente serão conduzidos pelos desenvolvedores, como o
teste de unidade (já discutido).
13
LEMBRANDO: QUEM REALIZA O TESTE?
Existem várias responsabilidades e papéis dentro da equipe:
14
Líder do projeto
de testes
Responsável pela liderança de um projeto de teste,
geralmente relacionado a um sistema em desenvolvi-
mento, seja um projeto novo ou manutenção.
Arquiteto Responsável pela montagem da infraestrutura de teste,
monta o ambiente de teste, escolhe as ferramentas de
teste e capacita a equipe para executar seu trabalho
neste ambiente.
Analista
do teste
Responsável pela modelagem e elaboração dos casos
de teste e pelos scripts de teste. Em alguns casos, os
scripts podem ser elaborados pelos testadores.
Testador Responsável pela execução dos casos de teste e
scripts.
Fonte: Rios.E & Moreira,T. Testes de Software. Rio de Janeiro. Alta Books, 2003
LEMBRANDO: QUEM REALIZA O TESTE?
Interpretações Erradas:
1 - De modo algum o desenvolvedor deve testar.
➔ ele é sempre responsável por testar as unidades
individuais (componentes) do programa. Em muitos casos
também realiza o teste de integração (teste da estrutura
completa do programa). Só depois é que um Grupo
Independente de Teste se envolve.
15
LEMBRANDO: QUEM REALIZA O TESTE?
Interpretações Erradas (cont.):
2 - O software deve ser “jogado” aos “estranhos” do ITG.
➔ os dois grupos trabalham estreitamente unidos ao
longo do projeto de software. O desenvolvedor deve
também estar à disposição para corrigir erros que sejam
descobertos.
16
LEMBRANDO: QUEM REALIZA O TESTE?
Interpretações Erradas (cont.):
3 - O ITG se envolverá com o projeto somente quando o
teste começar.
➔ O ITG faz parte da equipe de desenvolvimento de
software, ou seja, se torna envolvido a partir do processo de
especificação ao longo de um grande projeto.
17
LEMBRANDO: QUEM REALIZA O TESTE?
O papel do ITG é remover os problemas inerentes ao fato
de deixar que o construtor teste o que foi construído, de
forma a suprimir o conflito de interesses.
Em muitos casos o ITG pertence ao grupo de GQS,
conseguindo assim um grau de independência maior.
18
LEMBRANDO: QUEM REALIZA O TESTE?
Os testes podem ser baseados em:
✓ Especificação de riscos e/ou de requisitos,
✓ Processos de negócios,
✓ Casos de uso.
19
TESTE DE SISTEMA
Ainda no começo das nossas aulas, nós reforçamos o fato
de que o software é apenas um elemento de um sistema
maior baseado em computador.
Em última análise, o software é incorporado aos outros
elementos do sistema, (exemplo: hardware, pessoal e
informação) e uma série de testes de integração e
validação do sistema é conduzida.
20
TESTE DE SISTEMA
Estes testes saem do escopo do processo de software e
não são conduzidos somente por engenheiros de software.
No entanto, passos tomados durante o projeto e o teste de
software podem melhorar muito a probabilidade de
integração de software bem sucedida no sistema maior.
21
TESTE DE SISTEMA
Um problema clássico do teste de Sistema é o de ser
“dedo-duro”. Isso ocorre quando um erro é descoberto, e
cada desenvolvedor de um elemento do sistema culpa o
outro pelo problema.
22
TESTE DE SISTEMA
Em vez de se satisfazer com este contrassenso, o
engenheiro de software deve antecipar problemas
potenciais de interface e:
1. Projetar caminhos de manipulação de erros que testem
toda a informação que chega de outros elementos do
sistema;
2. Conduzir uma série de testes que simule maus dados ou
outros erros em potencial na interface de software;
23
TESTE DE SISTEMA
3. Registrar os resultados dos testes para usá-los como
“evidência;
4. Participar do planejamento e projeto de testes de
sistema para garantir que o software seja
adequadamente testado.
24
TESTE DE SISTEMA
O teste de sistema é na realidade uma série de diferentes
testes cuja finalidade primáriaé exercitar totalmente o
sistema e que apesar de terem finalidades diferentes, todos
funcionam no sentido de verificar se os elementos do
sistema foram integrados adequadamente e executam as
suas funções corretamente:
25
TESTE DE SISTEMA
✓ Teste de recuperação;
✓ Teste de segurança;
✓ Teste de esforço;
✓ Teste de desempenho;
✓ Teste de disponibilização.
26
TESTE DE SISTEMA
O teste de recuperação é um teste de sistema que força o
software a falhar de várias formas e verifica se a
recuperação é executada corretamente.
Se a recuperação for automática, a reinicialização, os
mecanismos de verificação, recuperação de dados e
reinício são avaliados quanto à correção. Caso a
recuperação requeira a intervenção humana , é avaliado o
tempo médio de reparo (mean-time-to repair – MTTR) para
determinar se está dentro dos limites aceitáveis.
27
TESTE DE RECUPERAÇÃO
O teste de segurança tenta verificar se os mecanismos de
proteção incorporados ao sistema vão de fato protegê-lo
contra acesso indevido.
A principal meta do teste de segurança é garantir que os
dados ou funções de um sistema possam ser acessados
apenas por atores autorizados a acessá-las.
28
TESTE DE SEGURANÇA
Durante o teste de segurança, o testador faz o papel do
indivíduo que quer invadir o sistema o sistema e desta
forma tentará, por exemplo, obter senhas por meios
externos, sobrecarregar o sistema ou ainda causar erros
propositadamente. Todas as formas de ataque de acesso
indevido devem ser simuladas.
29
TESTE DE SEGURANÇA
Os principais objetivos a serem alcançados com este tipo
de teste são:
➢ Assegurar que os mecanismos de controle contra
acessos indevidos foram corretamente implementados;
➢ Analisar as ameaças e vulnerabilidades, tanto
físicas quanto lógicas;
30
TESTE DE SEGURANÇA
Os principais objetivos a serem alcançados com este tipo
de teste são (cont.):
➢ Garantir que os dados do sistema estão protegidos
adequadamente;
➢ Assegurar que todos os riscos que envolvem os
acessos indevidos foram identificados.
31
TESTE DE SEGURANÇA
O teste de desempenho ou performance, como também
é conhecido, mede e avalia o tempo de resposta, o número
de transações e outros requisitos sensíveis ao tempo de
resposta do sistema.
Este tipo de teste é feito em todas as etapas no processo
de teste, inclusive em nível de unidade, já que o
desempenho de um módulo individual pode ser avaliado
durante o teste.
32
TESTE DE DESEMPENHO
Entretanto o desempenho de um sistema só pode ser
avaliado depois que todos os elementos do sistema
estiverem totalmente integrado.
Os principais objetivos a serem alcançados com este tipo
de teste são:
33
TESTE DE DESEMPENHO
Os principais objetivos a serem alcançados com este tipo
de teste são:
➢ Determinar o tempo de resposta das transações;
➢ Verificar se os critérios de desempenho
estabelecidos estão sendo atendidos;
➢ Identificar pontos de gargalo no sistema;
➢ Verificar o nível de utilização do hardware e software.
34
TESTE DE DESEMPENHO
Normalmente este tipo de teste requer instrumentação de
hardware e software, tendo em vista a necessidade da
medição dos recursos utilizados de forma precisa. Nas
próximas aulas estudaremos sobre estas ferramentas
automatizadas de teste.
35
TESTE DE DESEMPENHO
O teste de disponibilização também conhecido como
teste de configuração, exercita o software em cada
ambiente no qual deve operar, tendo em vista que muitos
softwares operam em uma variedade de plataformas e sob
mais de um ambiente de sistema operacional.
36
TESTE DE DIPONIBILIZAÇÃO
Este tipo de teste examina todos os procedimentos de
instalação e software de instalação que serão utilizados
pelos clientes e toda a documentação que será usada para
fornecer o software para os usuários finais. Pode inclusive
abranger combinações de navegadores com vários
sistemas operacionais diferentes.
37
TESTE DE DIPONIBILIZAÇÃO
O teste de esforço também conhecido como teste de
estresse colocam os programas em situações anormais.
“Até onde podemos forçar o sistema até que falhe?”
38
TESTE DE ESFORÇO
A principal meta do teste de esforço é entender o
comportamento do sistema durante condições-limite de
execução ou fora da tolerância esperada.
Tipicamente envolve a execução do sistema com baixos
recursos de hardware e software, ou a concorrência por
estes recursos.
39
TESTE DE ESFORÇO
Os principais objetivos a serem alcançados neste tipo de
teste são:
➢ Determinar a que condições-limite de recursos o
software é capaz de ser executado;
➢ Determinar quais volumes de transação, normais e
acima dos normais, podem ser processados num
período de tempo esperado;
40
TESTE DE ESFORÇO
Os principais objetivos a serem alcançados neste tipo de
teste são (cont.):
➢ Verificar se o sistema é capaz de garantir tempos
adequados de resposta sendo executado em
condições-limite;
➢ Verificar se há restrições quanto ao ambiente em
que o software vai operar.
41
TESTE DE ESFORÇO

Outros materiais