Buscar

Aula 8 - Teste 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

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

PROCESSOS DE DESENV. DE SOFTWARE
CURSO DE ANÁLISE E DESENVOLVIMENTO
DE SISTEMAS
Professor: David Falcão, M.Sc.
davidfalcaoprof@gmail.com
Aula 8 – Teste de software
Processos de Desenvolvimento de Software – Prof. David Falcão 
Atividades básicas de um PDS
 Definição / Especificação: (o quê?)
• Análise econômica
• Análise de requisitos
• Especificação de software
 Desenvolvimento : (como?)
• Arquitetura do sistema
• Implementação (codificação)
 Manutenção: 
• Teste do produto
• Documentação, Suporte e Melhoria Contínua
Engenharia de Software – Prof. David Falcão 
Certificação Brasileira de Testes de Software
A Associação Latino-Americana de Teste de Software (ALATS) criou 
a Certificação Brasileira de Teste de Software (CBTS) para atender 
a uma exigência do mercado brasileiro que sempre demandou um 
processo de certificação e qualificação de profissionais em teste de 
software. 
www.alats.org.br 
Processos de Desenvolvimento de Software – Prof. David Falcão 
O que é teste de software?
Teste é uma atividade realizada para avaliar a qualidade do produto e para 
 melhorá-lo, identificando defeitos e problemas;
É uma verificação dinâmica do comportamento de um programa num conjunto 
finito de casos de teste, apropriadamente selecionados de um domínio infinito 
de execuções, contra um comportamento esperado.
- Após várias atividades e fases do desenvolvimento, o software finalmente 
parece estar pronto.
- Mesmo tendo sido aplicado atividades para a garantia de qualidade, não se 
pode assumir que o software está livre de erros.
- Na verdade, não se pode ter 100% de certeza.
- Para garantir a qualidade do software, ele deve ser avaliado antes, durante e 
após o seu término.
Processos de Desenvolvimento de Software – Prof. David Falcão 
O que é teste de software?
Concepção Antiga de Teste: testar o software após o término de seu 
desenvolvimento.
Concepção Atual: testar o software durante todo o ciclo de vida.testar o software durante todo o ciclo de vida.
Além do simples teste, objetivando descobrir erros de implementação, 
existem duas atividades de teste consideradas importantes:
Verificação - Assegurar que o software (uma função ou parte do mesmo)
seja implementado de acordo com os requisitos e o planejamento.
Validação - Assegurar que o software desenvolvido tem utilidade prática 
para o usuário, auxiliando a resolver seu problema.
Processos de Desenvolvimento de Software – Prof. David Falcão 
O que é teste de software?
Engano Defeito
introduz
Erro
produz
Erro
propaga
Saída
FALHA
Um Engano introduz um defeito no software que, quando 
ativado, pode produzir um erro que, se propagado até a saída 
do software, constitui uma falha.
Processos de Desenvolvimento de Software – Prof. David Falcão 
Estrutura de um caso de teste
Processos de Desenvolvimento de Software – Prof. David Falcão 
Técnica Estrutural – Estamos construindo certo o produto?
 
 Casos de Testes centrados na estrutura de controle, 
a nível de módulo do programa
Caixa BrancaCaixa Branca
Técnica Funcional – Estamos construindo o produto certo?
 
 Casos de Testes centrados nos requisitos
Caixa PretaCaixa Preta
Técnicas de Teste
 
 Os casos de teste objetivam analisar somente o comportamento de 
entradas/saídas. 
 Os testes estão apoiados em informações sobre como o software 
foi projetado ou codificado 
Processos de Desenvolvimento de Software – Prof. David Falcão 
Níveis de teste
O Teste de Software é realizado em diferentes níveis no processo de 
desenvolvimento e manutenção de software. O alvo do teste pode 
variar: um módulo, um grupo de módulos ou todo o sistema. 
Quatro estágios podem ser distinguidos: Unidade, Integração, 
Sistema e Validação. 
Teste de Unidade – Verifica o funcionamento de um pedaço do 
software isoladamente. Ocorre com acesso ao código que está sendo 
testado com o suporte de ferramentas de depuração e pode envolver 
o programador que escreveu o código.
Teste de Integração – Processo de verificação da interação entre 
componentes
Teste de Sistema – Testa o comportamento do sistema como um 
todo. A maioria das falhas funcionais já devem ter sido identificadas. 
São apropriados para comparar os requisitos não funcionais 
(segurança, velocidade e confiabilidade) e a interface com outras 
aplicações, utilitários, dispositivos ou ambientes operacionais.
Teste de Aceitação: Testa os requisitos na visão das necessidades 
do usuário.
Processos de Desenvolvimento de Software – Prof. David Falcão 
Níveis de teste
Processos de Desenvolvimento de Software – Prof. David Falcão 
Teste de unidade
A interface com o módulo é testada para ter a garantia de que as informações fluem 
para dentro e para fora da unidade de programa que se encontra sob teste.
A estrutura de dados local é examinada para ter a garantia de que dados 
armazenados temporariamente mantêm sua integridade durante todos os passos de 
execução.
As condições de limite são testadas para ter a garantia de que o módulo opera 
adequadamente nos limites estabelecidos para demarcarem ou restringirem o 
processamento.
Todos os caminhos de tratamento de erros são testados.
Processos de Desenvolvimento de Software – Prof. David Falcão 
Teste de integração
Fase do teste de software em que módulos são combinados e testados em grupo. 
Ela sucede o teste de unidade e antecede o teste de sistema, em que o sistema 
completo (integrado) é testado num ambiente de produção.
Integração Top-Down
Os módulos são integrados movimentando-se de cima para baixo, através da 
hierarquia de controle, iniciando-se do módulo de controle principal.
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).
Processos de Desenvolvimento de Software – Prof. David Falcão 
Teste de sistema
Fase do processo de teste de software e de hardware em que o 
sistema já completamente integrado é verificado quanto a seus 
requisitos num ambiente de produção. 
Está no escopo da técnica de teste de caixa-preta, e dessa forma não 
requer conhecimento da estrutura (lógica) interna do sistema. 
É um teste mais limitado em relação aos testes de unidade e de 
integração, fases anteriores do processo de teste, pois se preocupa 
somente com aspectos gerais do sistema.
Não se limita a testar somente requisitos funcionais, mas também 
requisitos não funcionais como a expectativa do cliente.
Engenharia de Software – Prof. David Falcão 
Testes de Aceitação
Realizados por um grupo restrito de usuários finais do sistema, que simulam 
operações de rotina do sistema de modo a verificar se seu comportamento está 
de acordo com o solicitado. 
Teste formal conduzido para determinar se um sistema satisfaz ou não seus 
critérios de aceitação e para permitir ao cliente determinar se aceita ou não o 
sistema. 
Validação de um software pelo comprador, pelo usuário ou por terceira parte, 
com o uso de dados ou cenários especificados ou reais.
Engenharia de Software – Prof. David Falcão 
Testes de Aceitação
Testes Alfa
O período entre o término do desenvolvimento e a entrega é conhecido como 
fase alfa e os testes alfa são executados nesse período. Conduzido pelo cliente 
no ambiente do desenvolvedor, com este "olhando sobre o ombro" do usuário e 
registrando erros e problemas de uso.
Testes Beta
Geralmente o desenvolvedor não está presente. Teste beta é uma aplicação real 
do software, sem que haja controle por parte do desenvolvedor. Os problemas 
são registrados pelo usuário e repassados regularmente ao desenvolvedor, que 
corrige o software antes de lançar o produto para venda.
Candidato a lançamento
Indica uma versão que é candidata a ser a versão final, em função da 
quantidade de erros encontradas. Tais versões são um passo além do teste 
beta, sendo divulgadas para toda a comunidade.
Engenharia de Software – Prof. David FalcãoTestes de Operação
Operação
Conduzido pelos administradores do ambiente final em que o 
sistema ou software entrará em ambiente produtivo. 
Simulações para garantir que a entrada em produção do sistema 
será bem sucedida. 
Envolve testes de instalação, simulações com cópia de segurança 
dos bancos de dados etc. 
Em alguns casos um sistema entrará em produção para substituir 
outro e é necessário garantir que o novo sistema continuará 
garantindo o suporte ao negócio.
Engenharia de Software – Prof. David Falcão 
Testes de Segurança
Testes Não-Funcionais
Segurança
Tenta verificar se todos os mecanismos de proteção embutidos em 
um sistema o protegerão de acessos indevidos. Todas as formas 
de ataque devem ser simuladas. 
A finalidade é dificultar o acesso indevido de forma que seja mais 
interessante e barato obter a informação de forma correta e legal.
Engenharia de Software – Prof. David Falcão 
Testes de Estresse / Desempenho
Testes Não-Funcionais
Estresse
Feito para confrontar o sistema com situações anormais. O teste 
de estresse executa o sistema de forma que exige recursos em 
quantidade, frequência ou volume anormais.
Desempenho
Idealizado para testar o desempenho do software quando 
executado dentro do contexto de um sistema integrado. Algumas 
vezes os testes de desempenho são combinados com os de 
estresse e podem ser executados durante todo o processo de 
desenvolvimento.
Processos de Desenvolvimento de Software – Prof. David Falcão 
Teste de Recuperação
Muitos sistemas baseados em computador precisam recuperar-
se de falhas e retomar o processamento dentro de um tempo 
previamente especificado.
O teste de recuperação é um teste de sistema que força o 
software a falhar de diversas maneiras e verifica se a 
recuperação é adequadamente executada.
Engenharia de Software – Prof. David Falcão 
Testes de Usabilidade
Testes Não-Funcionais
Usabilidade
Tem por objetivo verificar a facilidade que o software ou site 
possui de ser claramente compreendido e manipulado pelo usuário.
Processos de Desenvolvimento de Software – Prof. David Falcão 
Tipos de Teste x Critérios de Qualidade
CategoriaCategoria Tipos de TesteTipos de Teste RequisitosRequisitos
Funcionalidade Teste Funcional
Teste de Volume
Teste de Segurança
Teste de Acessibilidade
Conjunto de características 
Capacidade
Segurança
Usabilidade Teste de Usabilidade Fator humano e Estética
Consistência da Interface do usuário
Auxílio online e assistentes
Confiabilidade Teste de Estresse
Teste de Regressão
Teste de Integridade
Teste de Estrutura
Frequência e severidade de falhas
Confiança nos resultados
Recuperação de falhas
Tempo entre falhas (MTBF)
Desempenho Teste de Desempenho
Teste de Carga
Teste de Contenção
Teste de Perfil de 
Desempenho
Vazão
Eficiência
Tempo de Resposta
Consumo de recursos
Suportabilidade Teste de Instalação
Teste de Configuração
Facilidade de instalação
Requisitos de configuração
Requisitos de adaptabilidade
Requisitos de Compatibilidade
Processos de Desenvolvimento de Software – Prof. David Falcão 
Tirinha
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22

Outros materiais