Buscar

Revisão Ementa Testes de Software

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 9 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 9 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 9 páginas

Prévia do material em texto

Testes na Web 
 
O processo de teste na Web, abrangendo os tipos de testes e os elementos 
do projeto WebApp (Web Application). 
Os tipos de teste na Web são: 
1. teste de conteúdo, 
2. teste de interface com o usuário, 
3. teste no nível de componente, 
4. teste de navegação, 
5. teste de configuração, 
6. teste de segurança e 
7. teste de desempenho da Web. 
 
. teste de conteúdo da Web 
busca descobrir erros sintáticos, erros semânticos e erros na estrutura 
do conteúdo que é apresentado ao usuário final; 
 
. teste de interface com o usuário 
testa a semântica, usabilidade e compatibilidade entre a Web e o 
ambiente do usuário; 
 
. teste no nível de componente Web 
também chamado teste de função por tentar descobrir erros em 
funções da WebApp. 
utiliza métodos de teste de caixa preta e caixa branca, além do 
método de teste de Erro Forçado, usado para derivar casos de teste que, 
premeditadamente, guiam o componente da Web para uma condição de 
erro; 
 
. teste de navegação na Web 
 projetado par garantir que os mecanismos que permitem ao usuário 
navegar pela WebApp estejam todos em funcionamento e certificar-se de 
que cada unidade semântica de navegação (navigation semantic unit - 
NSU) possa ser alcançada pela categoria de usuário adequada; 
 
. teste de configuração da Web 
testa um conjunto de prováveis configurações do lado do cliente e do 
lado do servidor para garantir uso pelo usuário, isolando erros específicos 
de configuração; 
 
. teste de segurança na Web 
 projetado para detectar vulnerabilidades no ambiente do lado do 
cliente, nas comunicações de rede que ocorrem quando 
dados são passados do cliente para o servidor e no ambiente do lado do 
servidor. 
a função do testador de segurança é descobrir fraquezas na WebApp; 
 
 
. teste de desempenho da Web 
 identifica problemas resultantes da falta de recursos do servidor, da 
largura de banda de rede inadequada, da capacidade de banco de dados 
inadequada, da fragilidade do Sistema Operacional e da funcionalidade de 
WebApp mal projetada que podem levar à degradação do desempenho da 
Web. 
 
++++++++++++++++++++++++++++++++++++++++++++++ 
 
Testes na implantação do sistema 
 
*Teste de Unidade 
 
Quem testa o programa, o programador ou o analista? 
 
. estratégias para teste de software 
 utilização da estrutura em espiral para teste integrado do software; 
 
 
. definição de teste de unidade 
é o menor componente executável do sistema. 
 mesmo tendo sido testado pelo implementador na fábrica de 
software, deve ser validado frente às interfaces; 
 
. procedimentos de teste de unidade 
valida cada módulo ou componente do software antes de entregá-lo 
ao sistema para ser integrado. 
utiliza módulo pseudocontrolador (Driver) e módulo 
pseudocontrolado (Stub), necessários para o adequado teste de 
unidade; 
 
. teste de unidade no contexto OO 
o encapsulamento guia a definição de classes e objetos, sendo que 
cada classe e cada instância de classe (objetos) empacotam os 
atributos (dados) e os métodos ou operações (funções) que manipulam os 
dados, fazendo com que a classe encapsulada seja o foco do teste de 
unidade. 
 
 
* Teste de Integração 
 
Como juntar os programas para fazer o sistema? 
 
. definição de teste de integração 
o acoplamento de módulos no sistema deve ser previamente 
planejado, validando suas interfaces. A dimensão e complexidade dos 
softwares, podem recomendar estratégias de teste de forma a não deixar 
acoplamento de módulos sem validação bem como não superpor testes 
desnecessariamente; 
 
. estratégias de teste de integração de software 
a integração deve ser incremental, passo a passo, para obter o 
sucesso esperado. 
a técnica incremental no software convencional pode ser de forma 
ascendente ou descendente. 
Nos testes com integração descendente, pode-se utilizar a 
integração, primeiro em profundidade ou a integração primeiro em 
largura. 
Os módulos subordinados ao módulo de controle principal são 
incorporados à estrutura de uma maneira depth-first (primeiro pela 
profundidade) ou breadth-first (primeiramente pela largura). 
 
 
Nos testes com integração ascendente, os módulos são combinados 
em agregados, denominados Clusters; 
 
. teste de regressão e teste fumaça 
o teste de regressão ajuda a garantir que modificações no software, 
devidas ao teste ou a outras razões, não introduzam comportamento 
indesejável ou erros adicionais. 
o teste fumaça é uma abordagem usada quando o software está 
ainda sendo desenvolvido, possibilitando, para projetos críticos, que a 
equipe de software e os testadores possam avaliar seu projeto em bases 
frequentes, denominado mecanismo marca-passo; 
 
. teste de integração de software no contexto OO 
 as estratégias de integração usadas em sistemas OO são: 
- teste baseado no caminho de execução.(Thread-base testing), 
onde cada caminho de execução, constituído; pelas classes necessárias para 
responder a uma entrada ou atender a um evento é testado individualmente; 
- teste baseado no uso (Use-based testing), onde o teste começa com 
as classes independentes, depois testa-se as classes dependentes na segunda 
camada e, assim, sucessivamente, até que todas as camadas de classes do 
sistema sejam testadas.. 
 
* Teste de Validação 
 
Fazer certo o sistema ou fazer o sistema certo? 
 
. conceito de verificação e validação 
 
na validação do software é visto se o mesmo atende às expectativas 
do usuário, ou seja, faz o que o usuário quer. 
na verificação é visto se o software foi construído com a técnica e 
com as ferramentas adequadas ou seja, faz certo o que o usuário quer; 
 
. critério de teste de validação 
 
constata se as especificações do software foram atendidas, através de 
testes que demonstram a conformidade com os requisitos do sistema. 
as deficiências constatadas devem ser corrigidas e novamente 
testadas, antes do software ser liberado para ser testado pelos usuários; 
 
. revisão da configuração 
 
verifica se o software construído atende às especificações técnicas 
previstas na sua concepção, necessárias para que o software possa ser 
adequadamente utilizado pelos usuários; 
 
. testes alfa e beta 
o software recém construído deve ser testado e validado pelo 
usuário. A ocorrência desses testes ocorre em duas fases sucessivas 
denominadas testes alfa e teste beta: 
teste alfa, o sistema que acabou de ser construído é testado pelo 
usuário gestor ainda no ambiente de desenvolvimento, com a assistência 
da equipe desenvolvedora. 
Após a conclusão do teste alfa, realiza-se 
teste beta, quando o software é, então, disponibilizado para testes no 
ambiente de produção pelos usuários finais. 
Nestes testes, as sugestões e reclamações são analisadas e, caso 
necessário, incorporadas ao software a ser liberado para a produção. 
 
* Teste de Sistema 
 
. Treino é treino, jogo é jogo. 
 
. definição de teste de sistema 
mostra o comportamento do sistema recém construído em ambiente 
de produção, compartilhando o mesmo ambiente computacional com os 
demais sistemas em produção da empresa; 
 
. tipos de testes de sistemas 
o novo aplicativo deve ser submetido aos quatro tipos de teste de 
sistema para verificar atendimento às regras de negócio para o qual foi 
construído e se atende, também, às características técnicas em vigor na 
empresa. 
Os testes são de: 
- recuperação, 
- segurança, 
- desempenho e 
- estresse; 
 
. teste de recuperação - o sistema é forçado a falhar por diversas 
causas e é verificada se a recuperação do sistema é adequadamente 
realizada, no tempo e nas condições estabelecidas; 
 
. teste de segurança - verifica seos mecanismos de proteção 
incorporados ao sistema vão, de fato, protegê-lo de ameaças internas e 
externas, riscos e invasões; 
 
. teste de desempenho - projetado para testar o desempenho do 
software durante a execução no contexto de um sistema integrado da 
empresa e em um ambiente de produção de toda a organização, 
observando-se tempos de respostas e alocações adequadas ao uso do 
sistema; 
 
. teste de estresse - submete o sistema a condições extremas de 
operação, de forma a identificar seus limites operacionais, verificando se os 
mesmos estão dentro de limites toleráveis e previstos quando da 
especificação do sistema. 
 
* Teste na migração 
 
. Como trocar o sistema sem parar a empresa? 
 
 
 
. definição de teste de migração 
 necessidade da adequada sintonia entre os dados armazenados no 
sistema anterior e os dados sob novo formato, com tecnologia moderna, 
tratados pelo novo sistema; 
 
. verificação dos procedimentos operacionais e legais para a migração 
preparação prévia da migração, com simulação e verificação dos 
procedimentos operacionais, financeiros e legais usados no sistema antigo e 
seu rebatimento no novo sistema, sempre com a concordância do usuário 
gestor, face a questão básica da manutenção do negócio, ou seja, mudar 
para melhor dentro dos requisitos de negócio estabelecido; 
 
. validação do novo formato de banco de dados 
o novo formato do banco de dados para o novo sistema deve 
possibilitar a migração de dados do antigo sistema . Os campos de dados no 
sistema novo que não existem no banco de dados antigo, deve ter estratégia 
de povoamento; 
 
. teste de migração dos dados do banco de dados 
simular a migração do acervo de dados, aplicando os necessários 
testes de validação entre os dados originados no Software Gerenciador de 
Banco de Dados (SGBD) do sistema antigo e os novos dados armazenados 
no novo SGBD do novo sistema; 
 
. simulação do novo sistema em substituição ao sistema antigo 
em paralelo ao antigo sistema, simular o novo sistema em condições 
reais de funcionamento para que o usuário gestor possa avaliar possíveis 
necessidades de ajustes do fluxo operacional e computacional de forma a 
trazer benefícios com a instalação do novo sistema. 
 
++++++++++++++++++++++++++++++++++++++++++++++ 
 
Teste de software em sistema em 
produção. 
 
. Existe software perfeito, sem erro? 
 
. tipos de manutenção 
existem 4 tipos de manutenção que um sistema, em produção, pode 
sofrer: 
1. corretiva, 
2. perfectiva, 
3. adaptativa, e 
4. preventiva; 
 
 
 
. teste em manutenção de software 
os testes de software aplicados na manutenção de sistemas em 
produção demandam cuidados adicionais, notadamente quanto à corretude 
e ao tempo reduzido para realizar os testes, depurar os erros e validar os 
resultados, uma vez que os sistemas são ativos da empresa e suas 
interrupções podem causar danos e prejuízos; 
 
. teste em manutenção corretiva 
os testes na manutenção corretiva de um software em produção são 
os mais exigidos uma vez que se trabalha sobre um produto com vícios de 
construção, o que pode demandar esforço significativo para identificação e 
correção adequada do erro, sendo indispensável testes de validação de 
forma a evitar possível propagação ou derivação de erro pela correção 
realizada; tudo isso em diminuto espaço de tempo; 
 
. teste em manutenção perfectiva 
o teste na manutenção perfectiva se assemelha ao teste na construção 
do software, pois testa-se novas funções, incluídas pelo usuário, que serão 
iniciadas no sistema; 
 
. teste em manutenção adaptativa 
o teste em manutenção adaptativa, por validar mudanças impositivas 
quer legais, quer tecnológicas, mesmo com tempo limitado, são previsíveis, 
podendo, assim como a perfectiva e a preventiva, serem planejadas, o que 
facilita a atividade de teste de software; 
 
.teste em manutenção preventiva 
 é o mais previsível, pois busca identificar, antecipadamente, 
possíveis erros ou falhas no aplicativo que está sendo usado na empresa. 
Muito pouco utilizado. 
 
 
 
 
 
Teste de software em sistema em produção. 
 
Confiabilidade e Disponibilidade 
 
. O que é um sistema disponível e um sistema confiável? 
 
. definição de falha 
 - diferença de falha em hardware e falha em software. 
Como em software não existe desgaste físico, a falha é decorrente de 
problema no projeto ou na implementação do aplicativo que pode surgir 
apenas durante a produção do sistema; 
 
. definição de confiabilidade de software 
 baseia-se na execução do sistema em determinada unidade de 
tempo sem falhas. A confiabilidade de software é uma medida direta da 
qualidade do sistema, pois considera, também, o tempo de reparo do 
sistema até voltar a ficar operativo; 
 
. definição de disponibilidade de software 
 baseia-se na oferta do software em determinada unidade de 
tempo, considerando-se, proporcionalmente, o tempo útil de uso e o tempo 
de reparo de falhas. A disponibilidade, além de medida de qualidade de 
software, é uma medida indireta de manutenibilidade do sistema; 
 
. medida de confiabilidade de software 
 a medida de confiabilidade MTBF (mean time between 
failure) é tempo médio entre falhas, resulta da soma de duas medidas 
diretas: 
1. MTTF (mean time to failure) 
 tempo médio de uso até a falha do software, e 
2. MTTR (mean time to repair) 
 tempo médio de reparo da falha no software. 
 
Quanto maior for o MTBF e o MTTF em relação ao MTTR 
mais tempo o sistema ficou operativo; 
 
. medida de disponibilidade de software 
a medida de disponibilidade de software considera as medidas 
MTTF e MTTR, sendo mais sensível ao MTTR ou seja, tempo de correção 
da falha, pois a disponibilidade é obtida através de: 
 
 MTTF / (MTTF + MTTR) 
 
Logo, quanto mais próximo de 1 for a disponibilidade mais 
produtivo foi o software no período. 
 
+++++++++++++++++++++++++++++++++++++++++++++++++ 
 
Ferramentas de teste de software 
 
1. Ferramentas de teste no desenvolvimento de sistema 
2. Ferramentas de teste para o programa 
3. Ferramentas de teste para o ambiente Web 
4. Ferramentas de teste para sistemas em produção

Outros materiais