Buscar

AULA 4 TSW

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

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

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ê viu 3, do total de 29 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

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

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ê viu 6, do total de 29 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

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

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ê viu 9, do total de 29 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

Prévia do material em texto

02/11/2016
1
TESTES DE SOFTWARE – AULA 4
Prof. Ulisses Sperle Graça
Rio de Janeiro, 27 de agosto de 2011
TESTE NO PROGRAMA
TESTE DE APLICAÇÕES DA WEB
02/11/2016
2
1. Compreender técnicas de teste de ambiente web;
2. Definir testes de software em ambiente web;
3. Implementar testes de software em ambiente web;
4. Avaliar testes de software em ambiente web.
3
OBJETIVOS DESTA AULA
Com o crescimento da Internet e a evolução das tecnologias
envolvidas, as aplicações na WEB também evoluíram. Hoje grande
parte dos negócios da organizações também estão na WEB e
consequentemente ocorreu um aumento nos números de
aplicações desenvolvidas para este fim.
4
INTRODUÇÃO
02/11/2016
3
O teste de uma aplicação WebApp (aplicações para Web) é um 
conjunto de atividades relacionadas com um único objetivo:
Descobrir erros
Mas como?
5
INTRODUÇÃO
Para atingir este objetivo deve ser utilizada uma estratégia
de teste que abrange as revisões e o teste executável.
O processo de teste começa focando os aspectos visíveis
da Aplicação ao usuário e abrange os aspectos de
tecnologia e infraestrutura, neste caso em sete etapas de
teste:
6
INTRODUÇÃO
02/11/2016
4
� no conteúdo,
� na função,
� na usabilidade,
� na navegabilidade,
� no desempenho,
� na capacidade,
� na segurança das aplicações e etc.
7
INTRODUÇÃO
A qualidade, segundo Pressman (2011) é incorporada a
uma aplicação Web como consequência de um bom
projeto.
“Não se pode testar a qualidade. Se ela não estiver lá
antes de você começar a testar, não estará lá quando
você tiver terminado de testar.” (Pressman).
A qualidade é incorporada ao software em todo o processo
de engenharia de software.
8
INTRODUÇÃO
02/11/2016
5
A aplicação adequada de métodos e ferramentas, RTFs e
um gerenciamento e medição sólidos, todos levam à
qualidade que é confirmada durante o teste.
A qualidade é avaliada aplicando-se uma série de revisões
técnicas e de um processo de teste com o objetivo de
examinar uma ou mais das seguintes dimensões de
qualidade:
9
CONCEITO DE TESTE NA WEB
10
Qualidade
Conteúdo FunçãoSegurança
UsabilidadeNavegabi
-lidade
DesempenhoCompatibilidade
Interope-
rabilidade Estrutura
DIMENSÕES DE QUALIDADE
02/11/2016
6
Conteúdo: é avaliado no nível semântico e sintático. No
nível sintático examina-se a ortografia, pontuação e
gramática. No nível semântico são verificadas a exatidão,
consistência e ausência de ambiguidade das informações.
Função: é testada para descobrir erros que indicam falta de
conformidade com os requisitos do cliente.
11
DIMENSÕES DE QUALIDADE
Estrutura: É avaliada para assegurar o fornecimento
apropriado do conteúdo e função da aplicação. Que seja
extensível e possa ser mantida à medida que novo
conteúdo ou funcionalidade é adicionado
Usabilidade: é testada para garantir que cada categoria de
usuário seja suportada pela interface.
12
DIMENSÕES DE QUALIDADE
02/11/2016
7
Navegabilidade: é testada para assegurar que toda a
sintaxe e semântica de navegação sejam experimentadas
para descobrir quaisquer erros de navegação.
Desempenho: é testado sob uma variedade de condições
de operação, configuração e carga para assegurar que o
sistema responda à interação com o usuário e suporte
cargas extremas sem degradação inaceitável de operação.
13
DIMENSÕES DE QUALIDADE
Compatibilidade: é testada executando-se a aplicação em
uma variedade de diferentes configurações hospedeiras
tanto no lado cliente quanto no lado servidor.
Interoperabilidade: é testada para garantir que a aplicação
tenha uma interface adequada com outras aplicações e/ou
bases de dados.
14
DIMENSÕES DE QUALIDADE
02/11/2016
8
Segurança: é testada para investigar vulnerabilidades
potenciais e tentar explorar cada uma delas. Qualquer
tentativa bem-sucedida de invasão é considerada falha de
segurança.
15
DIMENSÕES DE QUALIDADE
O processo de teste da aplicação Web começa com testes
que verificam o conteúdo e a funcionalidade da interface,
posteriormente são verificados aspectos da arquitetura do
projeto e da navegação da aplicação e finalizando com os
testes que examinam os recursos tecnológicos.
Diversos deste testes não são aparentes para o usuário
final.
16
O PROCESSO DE TESTE NA WEB
02/11/2016
9
Tarefas importantes:
1. Revise os requisitos dos interessados. Identifique metas
e objetivos-chave do usuário. Revise os casos de uso
para cada categoria de usuário.
2. Estabeleça prioridades para garantir que cada meta e
objetivo do usuário seja testado.
3. Defina a estratégia de teste da aplicação descrevendo
os tipos de teste que serão conduzidos.
4. Desenvolva um plano de testes.
17
O PROCESSO DE TESTE NA WEB
Tarefas importantes (cont.):
5. Execute testes de unidade. Revise o conteúdo quanto à
erros sintáticos e semânticos.
6. Realize testes de integração. Conduza testes de
navegação.
7. Realize testes de configuração. Avalie a configuração do
lado do cliente e do lado do servidor.
8. Conduza testes de desempenho.
9. Conduza testes de segurança.
18
O PROCESSO DE TESTE NA WEB
02/11/2016
10
Podemos observar melhor o processo de teste na Web
através da figura adiante, representado através de uma
pirâmide, os elementos que são visíveis ao usuário, são
testados em primeiro lugar.
O fluxo do nosso processo de teste começa da esquerda
para direita e de cima para baixo, começando pelo teste de
conteúdo, teste de interface, teste de navegação, de
componente e finalizando com os testes de configuração,
desempenho e segurança.
19
O PROCESSO DE TESTE NA WEB
20
O PROCESSO DE TESTE NA WEB
02/11/2016
11
1. O modelo de conteúdo é revisto para descobrir erros;
2. O modelo de interface é revisto para garantir que todos
os casos de uso possam ser acomodados;
3. O modelo de projeto da aplicação é revisto para
descobrir erros de navegação;
4. A interface com o usuário é testada para descobrir erros
nos mecanismos de apresentação e/ou navegação;
5. Os componentes funcionais são submetidos a testes de
unidade;
21
O PROCESSO DE TESTE NA WEB
6. É testada a navegação por toda a arquitetura;
7. A aplicação Web é implementada em uma variedade de
configurações ambientais diferentes e testada quanto à
compatibilidade com cada configuração;
8. São executados testes de segurança na tentativa de
explorar vulnerabilidades na Aplicação ou em seu
ambiente;
9. São realizados testes de desempenho;
22
O PROCESSO DE TESTE NA WEB
02/11/2016
12
10.A aplicação é testada por uma população de usuários
finais controlados e monitorados e os resultados de suas
interações com o sistema são avaliados quanto a erros
de conteúdo e navegação, usabilidade, compatibilidade,
segurança, confiabilidade e desempenho.
23
O PROCESSO DE TESTE NA WEB
O teste de conteúdo tenta descobrir erros antes que sejam
encontrados pelos usuários. Ele combina tanto as revisões,
já estudadas nas aulas anteriores, quanto à geração de
casos de tese executáveis.
Os testes de conteúdo têm três importantes objetivos:
1. Descobrir erros de sintaxe;
2. Descobrir erros de semântica
3. Encontrar erros na organização ou estrutura do
conteúdo apresentado ao usuário final;
24
TESTE DE CONTEÚDO
02/11/2016
13
O revisor deverá responder as seguintes perguntas:
As informações são precisas?
As informações são concisas e direcionadas ao assunto?
É fácil para o usuário entender o layout do conteúdo?
As informações apresentadas são consistentes internamente
e consistentes com as apresentadas em outros objetos?
Foram fornecidas referências apropriadas para todas as
informações derivadas de outras fontes?
25
TESTE DE CONTEÚDO
O revisor deverá responder as seguintes perguntas:O conteúdo é ofensivo, confuso ou dá margem a litígio?
O conteúdo desrespeita os direitos autorais existentes ou de
marcas registradas?
O conteúdo contém links que complementam o conteúdo
existente? Os links estão corretos?
O estilo estético do conteúdo está em conflito com o estilo
estético da interface?
26
TESTE DE CONTEÚDO
02/11/2016
14
A verificação e validação de uma interface de usuário ocorre
em três pontos distintos:
Durante a análise� garantir que esteja de acordo com os
requisitos do cliente;
Durante o projeto � garantir que critérios genéricos de
qualidade e que tópicos específicos foram tratados;
Durante o teste � execução de tópicos específicos
relativos à interação como usuário e fornece uma
avaliação final da usabilidade.
27
TESTE DE INTERFACE COM O USUÁRIO
Tem como objetivo descobrir erros relacionados com os
mecanismos específicos da interface e descobrir erros na
maneira como a interface implementa as semânticas de
navegação, as funcionalidades da aplicação ou ainda na
exibição do conteúdo.
Desta forma podemos distinguir basicamente quatro tipos de
testes:
28
TESTE DE INTERFACE COM O USUÁRIO
02/11/2016
15
Testes de mecanismos de interface: Avalia a interação de
cada mecanismos oferecido ao usuário através da interface:
link, formulários, script executado pelo cliente, janelas pop up
e etc.
Teste de semântica da interface: Avalia como o projeto se
preocupa com os usuários.
29
TESTE DE INTERFACE COM O USUÁRIO
Teste de usabilidade: determina o grau com o qual a
interface da aplicação facilita a vida do usuário.
Teste de compatibilidade: Diferentes computadores,
dispositivos de imagem, sistemas operacionais, navegadores
e velocidades de conexão de rede pode ter influência
significativa na operação da aplicação Web.
30
TESTE DE INTERFACE COM O USUÁRIO
02/11/2016
16
O teste de componente, também conhecido como teste de
função, tem como objetivo tentar descobrir erros nas funções
da aplicação Web.
Cada uma destas funções é um componente de software que
pode ser implementados através de diferentes linguagens e
testados através de teste de caixa-preta ou ainda de caixa-
branca, ambos já estudados.
31
TESTE DE COMPONENTE
Cada caso de teste de componente especifica todos os
valores de entrada e saída esperada a ser fornecida pelo
componente.
Em muitas situações, a execução correta de uma função da
aplicação está ligada ao interfaceamento correto com um
banco de dados que pode ser externo a aplicação, desta
forma, o teste de banco de dados torna-se parte importante
do teste de componente.
32
TESTE DE COMPONENTE
02/11/2016
17
Um usuário navega por uma aplicação WEB de modo muito
semelhante ao que um visitante caminha por uma loja ou
museu.
Há muitos caminhos que podem ser trilhados, muitas
paradas que podem ser feitas, muitas coisas para aprender e
observar, atividades a iniciar e decisões a tomar.
33
TESTE DE NAVEGAÇÃO
Seu objetivo é garantir que os mecanismos que permitem ao
usuários navegar através da aplicação Web estejam todos
em funcionamento e que cada unidade semântica de
navegação possa ser alcançada pela categoria apropriada de
usuário.
Desta forma este tipo de teste abrange:
• Sintaxe
• Semântica
34
TESTE DE NAVEGAÇÃO
02/11/2016
18
Segundo Pressman, neste tipo de teste os mecanismos de
navegação são verificados para garantir que cada um
execute sua função planejada e garantir que os erros sejam
encontrados antes que a aplicação entre no ar:
Links de navegação: Cada link deverá ser testado para
assegurar que o conteúdo ou funcionalidade apropriada
sejam alcançados quando o link é escolhido.
35
TESTE DE NAVEGAÇÃO - SINTAXE
Redirecionamentos: Quando um usuário solicita uma URL
não existente ou seleciona um link cujo conteúdo foi
removido, é exibida uma mensagem para o usuário e a
navegação é redirecionada para outra página.
Marcadores de páginas (Booksmarks): Apesar de ser uma
função do navegador, deverá ser testado para assegurar que
possa ser extraído um título de página com significado
quando o marcador for criado.
36
TESTE DE NAVEGAÇÃO - SINTAXE
02/11/2016
19
Mapas do site: Como o mapa do site fornece uma tabela
completa de conteúdo para todas as páginas da web, cada
entrada deverá ser testada.
Dispositivos de busca interna: Muitas aplicações, devido a
quantidade de informações existentes, implementam
mecanismos de busca. Deverá ser testado o teste destes
mecanismos para validar a precisão e a totalidade da busca.
37
TESTE DE NAVEGAÇÃO - SINTAXE
Molduras e conjunto de molduras: Cada moldura tem o
conteúdo de uma página web específica. Um conjunto de
moldura permite que várias páginas sejam exibidas ao
mesmo tempo. O conjunto de molduras deverá ser testado
quanto ao correto conteúdo, layout, dimensionamento
apropriados e quanto a compatibilidade com o navegador.
38
TESTE DE NAVEGAÇÃO - SINTAXE
02/11/2016
20
A unidade semântica de navegação (NSU) pode ser
exemplificada por um conjunto de caminhos de navegação
que conectam nós de navegação (por exemplo, páginas
Web, objetos de conteúdo ou funcionalidade) que permite ao
usuário satisfazer requisitos específico definidos por um ou
mais casos de uso para uma categoria de usuário.
Neste caso o teste semântico deverá responder as seguintes
perguntas:
39
TESTE DE NAVEGAÇÃO - SEMÂNTICA
� A NSU é atendida sem erro?
� Cada nó de navegação é acessível no contexto dos
caminhos de navegação definidos para a NSU?
� Todos os caminhos relevantes foram testados?
� Se forem fornecidas instruções pela interface de usuário
para ajudar na navegação as instruções são corretas e
inteligíveis à medida que a navegação ocorre?
40
TESTE DE NAVEGAÇÃO - SEMÂNTICA
02/11/2016
21
� Existe algum mecanismo para voltar a um nó de
navegação anterior e ao início do caminho de navegação?
� Se uma função é executada em um nó e ocorre um erro
no processamento da função, a NSU pode ser completada?
� Todos os nós podem ser acessados do mapa do site? Os
nomes dos nós têm significado para os usuários finais?
41
TESTE DE NAVEGAÇÃO - SEMÂNTICA
O teste de navegação, bem com o teste de interface e de
usabilidade, devem ser feitos além dos testadores,
também por diferentes clientes, sempre que possível!
42
TESTE DE NAVEGAÇÃO - SEMÂNTICA
02/11/2016
22
O objetivo do teste de configuração (Pressman, 2011) é
testar um conjunto de prováveis configurações do cliente e
do servidor para assegurar que a experiência do usuário
será a mesma em todos os casos e isolar erros que podem
ser específico a uma determinada configuração.
43
TESTE DE CONFIGURAÇÃO
Lado Servidor � os casos de teste são projetados para
verificar se a configuração do servidor pode suportar a
aplicação sem erro. Perguntas a serem respondidas:
� A aplicação é totalmente compatível com o sistema
operacional do servidor?
� Os arquivos de sistema, diretórios e dados de sistema
relacionados são criados corretamente quando a aplicação
está operacional?
44
TESTE DE CONFIGURAÇÃO
02/11/2016
23
� As medidas de segurança permitem que a aplicação
seja executada sem a interferência ou degradação do
desempenho?
� A aplicação está adequadamente integrada com o
software de banco de dados?
� Os scripts utilizados pela aplicação executam
corretamente?
45
TESTE DE CONFIGURAÇÃO
Lado Cliente � foca a compatibilidade da aplicação com
configurações dos seguintes componentes:
� Hardware: CPU, memória, armazenamento e
dispositivo de impressão;
� Sistemas operacionais: Linux, Macintosh OS,
Microsoft, S.O. Móvel.
� Software Navegador: Firefox, Safari, Internet Explorer,
Opera, Chrome e outros.
46
TESTE DE CONFIGURAÇÃO
02/11/2016
24
� Componentes de interface de usuário: Active X, javaApplets e outros.
� Plug-ins: QuickTime, RealPlayer e outros.
� Conectividade: Cabo, DSL, modem , WIFI.
Estes testes devem ser projetados onde cada categoria
de usuário seja avaliada para determinar as prováveis
configurações que serão encontradas, reduzindo assim o
número de variáveis de configuração para um número
gerenciável.
47
TESTE DE CONFIGURAÇÃO
As aplicações Web e os ambientes cliente e servidor nos
quais as aplicações estão alojadas representam um alvo para
invasores externos, funcionários insatisfeitos, concorrentes
desonestos e qualquer outro que queira roubar informações
sigilosas, modificar conteúdo maliciosamente, degradar o
desempenho ou desabilitar funcionalidades.
Estes testes são projetados para investigar vulnerabilidades:
48
TESTE DE SEGURANÇA
02/11/2016
25
Vulnerabilidades:
� no ambiente do lado do cliente,
� Na comunicação de rede que ocorrem quando os dados
são passados do cliente para o servidor
� Na comunicação de rede que ocorrem quando os dados
são passados do servidor para o cliente
� no ambiente do lado servidor.
49
TESTE DE SEGURANÇA
A medida que em que aumenta o número de usuários nas
aplicações web, consequentemente ocorre um aumento do
número de transações online ou na quantidade de dados
através das operações de download ou upload.
É muito frustrante para um usuário quando uma aplicação
leva muitos minutos para carregar o conteúdo ou quando ao
recebe do servidor uma mensagem do tipo “servidor
ocupado”.
50
TESTE DE DESEMPENHO
02/11/2016
26
O teste de desempenho é usado para descobrir problemas
de desempenho que podem resultar, por exemplo, da falta de
recursos no lado do servidor, da largura da banda ou
recursos de banco de dados inadequados.
A intenção é entender como os sistemas respondem quando
a carga aumenta e ainda reunir métricas que conduzirão a
modificações de projeto para melhorar o desempenho.
51
TESTE DE DESEMPENHO
Este tipo de teste ajudará a responder as seguintes questões:
O tempo de resposta do servidor degrada de forma a tornar-
se inaceitável?
Em que ponto, sob o ponto de vista dos usuários, transações
ou cargas de dados, o desempenho se torna inaceitável?
Quais componentes do sistema são responsáveis pela
degradação do desempenho?
Qual o tempo médio de resposta para usuários sob diferentes
condições de carga?
52
TESTE DE DESEMPENHO
02/11/2016
27
Para obter respostas a essas perguntas são feios dois testes
diferentes de desempenho:
• Teste de carga
• Teste de esforço (stress)
53
TESTE DE DESEMPENHO
Teste de Carga � A finalidade do teste de carga é
determinar como a webApp e seu ambiente do lado do
servidor responderá a várias condições de carga. São
utilizadas como condições de teste as seguintes variáveis:
� Número de usuários concorrentes (N)
� Número de transações on-line por usuários por unidade
de tempo (T)
� Carga de dados processados pelo servidor por
transação (D)
54
TESTE DE DESEMPENHO
02/11/2016
28
À medida que o teste é feito, são realizadas permutações nas
variáveis de acordo com os limites de operação normal do
sistema e coletas uma ou mais das seguintes medidas:
� Resposta média do usuário;
� Tempo médio para o download de uma unidade
padronizada de dados;
� Tempo médio para processar uma transação;
55
TESTE DE DESEMPENHO
Teste de Esforço (stress) � é uma continuação do teste de
carga, e desta forma utilizam as mesmas variáveis: T, N, D,
porém com seus limites operacionais excedidos.
A finalidade deste teste é responder as seguintes questões:
O sistema degrada ou o servidor desliga quando é excedida
a capacidade normal de operação?
56
TESTE DE DESEMPENHO
02/11/2016
29
O software servidor gera mensagens “servidor não
disponível”? De uma maneira geral os usuários ficam cientes
de que não podem acessar o servidor?
O servidor coloca as requisições por recursos em fila e
esvazia a fila quando a demanda de capacidade diminui?
São perdidas transações quando a capacidade é excedida?
A integridade dos dados é afetada quando a capacidade é
excedida?
57
TESTE DE DESEMPENHO
Quais valores de N, T e D forçam o ambiente servidor a
falhar? Como a falha se manifesta? São mandadas
notificações automáticas para o pessoal de suporte técnico
no local do servidor?
Se o sistema falha, quanto tempo demora até que volte a
ficar on-line?
58
TESTE DE DESEMPENHO

Outros materiais