Buscar

aula 04 Testes de Validação

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

Avaliação de Software 1
Unidade III: Testes de Validação
3.1. Estratégias de testes
3.1.1 Testes da Caixa Branca
3.1.2 Testes da Caixa Preta
3.2. Abordagem dos testes
3.2.1. Testes baseados na estrutura interna
3.2.2. Testes baseados nos requisitos
3.3. Testes progressivos e Regressivos.
3.4. Categorias dos Testes de Validação
3.4.1. Testes de Funcionalidade, Testes de Usabilidade, Testes de Carga (stress) , Teste 
de Volume , Testes de Configuração, Testes de compatibilidade, Testes de segurança, 
Testes de performance, Testes de instalação, Testes de Confiabilidade, Testes de 
Recuperação e Testes de Contingência
3.5. Métodos Estruturados de Validação
3.5.1. Casos de Testes
3.5.2. Métodos Caixa Preta para obtenção de Casos de Testes
3.5.3. Métodos Caixa Branca para obtenção de Casos de Testes
3.5.4. Métodos de Refinamento de Casos de Uso
3.6. Fases da Validação
3.6.1. Validação da Unidade
3.6.2. Validação da Integração.
3.6.3. Validação do Sistema
3.6.4. Validação do Aceite
Avaliação de Software 2
Unidade III: Testes de Validação
3.1 – Testes de Validação
- Os testes, além de localizar erros, também são necessários para 
determinar a confiabilidade, o desempenho e para validar a interface 
com o usuário.
- O teste de validação tem o seu foco na aplicação, uma vez que já 
existe um produto computacional.
- É um processo formal de avaliação de produtos tecnológicos que 
podem ser aplicados em componentes isolados, em módulos 
existentes ou mesmo à totalidade do sistema.
- Objetivos principais: 
- identificar o maior número possível de erros e
- avaliar a conformidade do software com os requisitos e
 especificações analisadas e revisadas nas etapas iniciais do 
 projeto.
Avaliação de Software 3
Unidade III: Testes de Validação
3.1 – Testes de Validação (cont.)
- Uma estratégia para o teste de um projeto descreve a abordagem 
geral e os objetivos das atividades de teste. Ela inclui os estágios de 
teste (unidade, integração e sistema) que devem ser abordados e os 
tipos de teste (de função, desempenho, carga, stress, etc.) que devem 
ser executados.
- A estratégia define:
• As ferramentas e técnicas de teste a serem empregadas.
• Os critérios de conclusão e êxito do teste a serem usados.
- Para definir a estratégia de teste é fundamental definir:
• Tipos de teste (de função, stress, volume, desempenho, usabilidade, 
distribuição, etc.).
• Critérios de avaliação usados (cobertura de teste baseada em código, em 
requisitos, número de defeitos, intervalo entre falhas, etc.).
• Técnicas de teste usadas (manuais e automatizadas).
Avaliação de Software 4
Unidade III: Testes de Validação
3.1 – Testes de Validação (cont.)
- Existem basicamente duas estratégias utilizadas para conduzir o 
processo de validação de software: testes de caixa branca e testes de 
caixa preta.
- O Teste caixa-branca, conhecido como teste estrutural é aquele em 
que o analista tem total acesso à estrutura interna da entidade sendo 
analisada e permite, por exemplo, que o analista escolha partes 
específicas de um componente para serem testadas.
- São projetados em função da estrutura do componente e podem 
permitir verificação mais precisa de comportamento do produto. 
- Ele permite ao avaliador concentrar a atenção nos pontos mais 
importantes ou “perigosos” do código, de uma maneira mais precisa 
do que no caso do teste caixa-preta.
- Há, entretanto, um elemento comum entre os testes caixa-preta e 
caixa-branca: em ambos os casos, o avaliador não sabe qual será o 
comportamento produto em uma determinada situação.
Avaliação de Software 5
Unidade III: Testes de Validação
3.1 – Testes de Validação (cont.)
- O Teste de Caixa-Preta ou Teste Funcional, também é usado na 
engenharia, no problema de identificação de sistemas, e advém do 
fato de que ao analisar o comportamento de um objeto, ignora-se 
totalmente sua construção interna.
- O teste de caixa-preta é baseado nos requisitos funcionais do 
software. Como não há conhecimento sobre a operação interna do 
programa, o avaliador se concentra nas funções que o software deve 
desempenhar. 
- O teste é particularmente útil para revelar problemas, tais como:
• funções incorretas ou omitidas;
• erros de interface;
• erros de comportamento ou desempenho;
• erros de iniciação e término.
Avaliação de Software 6
Unidade III: Testes de Validação
3.2 – Abordagens dos Testes.
- Abordagens de teste dizem respeito à profundidade da análise a ser realizada. Ela 
define se o que interessa são apenas as respostas geradas pelo item em teste ou se 
o seu comportamento interno também deve ser levado em conta.
- Segundo Bartié (2002), o direcionamento dos testes baseia-se exclusivamente
em requisitos da solução tecnológica a ser desenvolvida (teste de caixa-preta) ou na 
estrutura interna do código-fonte a ser desenvolvido (teste de caixa-branca).
A figura abaixo esquematiza essas abordagens dos testes.
Avaliação de Software 7
Unidade III: Testes de Validação
3.3 – Testes Progressivos e Regressivos.
- Os testes progressivos são testes elaborados de acordo com a 
criação de novas funcionalidades do software. Nesta abordagem é 
necessário testar somente as inovações do software, assumindo que 
nenhum erro foi introduzido após seu processo de desenvolvimento. 
Nesta categoria, as funcionalidades já existentes não são testadas e 
considera-se que as novas alterações no código não impactaram na 
estrutura existente anteriormente.
- Já os testes regressivos são uma abordagem que reexecutam um 
subconjunto (total ou parcial) de testes previamente executados. Seu 
objetivo é garantir que uma alteração ou criação de funcionalidade não 
causou impactos nas estruturas já existentes. Toda nova versão do 
produto deveria ser submetida a uma nova sessão de testes, a fim de 
assegurar que estes novos segmentos não afetaram outras partes do 
produto.
Avaliação de Software 8
Unidade III: Testes de Validação
3.4 – Categorias dos Testes de Validação
- A realização de todas estas categorias demandaria um esforço muito 
grande, então se faz necessário selecionar as categorias a utilizar 
conforme o perfil do produto:
a) Testes de Funcionalidade. O direcionamento destes testes deve 
ser realizado com base nos documentos de especificação funcional, 
que descreve o comportamento da aplicação nos diversos cenários 
existentes para cada requisito de negócio. 
- A principal característica desta categoria de testes é o grande foco 
nos negócios, com isso, garante- se que não exista diferença entre os 
requisitos funcionais e o comportamento do software construído.
b) Testes de Usabilidade. Têm como meta simular as condições de 
uso da aplicação sob a perspectiva do usuário, ou seja, tem como foco 
verificar a facilidade de navegação entre as telas da aplicação, a 
clareza dos textos e das mensagens apresentadas ao usuário, o 
volume reduzido de interações para realizar uma determinada função, 
o padrão visual e etc.
Avaliação de Software 9
Unidade III: Testes de Validação
3.4 – Categorias dos Testes de Validação (cont.)
c) Testes de Carga. Servem basicamente para avaliar como uma 
aplicação e toda sua infraestrutura se comportam quando se aplica um 
volume de transações superiores aos volumes máximos previstos para 
esta aplicação e quando se aplica variações bruscas de transações.
d) Testes de Volume. São caracterizados por determinar os limites de 
processamento e a carga da aplicação e de toda a sua infra-estrutura. 
Este tipo de teste é conduzido de forma contínua, aumentando o 
volume das operações realizadas com a aplicação, até que se atinja o 
limite máximo. O objetivo deste teste é conhecer os limites da solução
e avaliar se estão de acordo com as especificações.
e) Testes de Configuração. Têm por finalidade executar o software 
sobre inúmeras configurações de softwarebásico e de hardware. A 
meta deste teste é garantir que a solução funcione corretamente sobre 
os diversos ambientes previstos nas fases de levantamento de 
requisitos.
Avaliação de Software 10
Unidade III: Testes de Validação
3.4 – Categorias dos Testes de Validação (cont.)
f) Testes de Compatibilidade. Buscam executar a aplicação 
interagindo com as versões anteriores de outras aplicações ou 
dispositivos físicos.
O objetivo deste teste é garantir que as novas versões de um software 
estão suportando antigas versões.
g) Testes de Segurança. Tem como objetivo encontrar as falhas de 
segurança que podem comprometer a confidencialidade e a 
integridade das informações, provocar perdas de dados ou 
interrupções de processamento.
h) Testes de Desempenho. Tem por finalidade determinar se o 
desempenho da aplicação está coerente com os requisitos definidos, 
quando se obtém situações em que o pico máximo de acesso e 
concorrência é atingido.
Avaliação de Software 11
Unidade III: Testes de Validação
3.4 – Categorias dos Testes de Validação (cont.)
i) Testes de Confiabilidade e Disponibilidade. A principal 
característica deste teste é monitorar uma aplicação por um 
determinado tempo e avaliar o nível de confiabilidade da arquitetura 
da solução. Este tipo de teste pode ser executado da seguinte 
maneira: monitorando a execução da aplicação; identificando todas as 
interrupções do ambiente; e identificando o tempo de interrupção do 
ambiente.
j) Testes de Recuperação. Tem por finalidade avaliar como se 
comporta a aplicação após a ocorrência de um erro e verificar sua 
recuperação. Esses testes podem ser realizados da seguinte forma: 
interrompendo o acesso à rede por alguns instantes e por um longo 
período; interrompendo o processamento, desligando o micro e o 
servidor; e gerando arquivos e posteriormente cancelando o 
processamento.
Avaliação de Software 12
Unidade III: Testes de Validação
3.4 – Categorias dos Testes de Validação (cont.)
k) Testes de Instalação. Tem como objetivo validar o procedimento 
de instalação da aplicação, de forma que esta atenda a todas as
necessidades apresentadas nos requisitos. É recomendado que este 
teste seja realizado pelo próprio usuário.
l) Teste de Regressão. Teste repetido de um programa que sofreu 
alguma mudança após uma etapa de testes, tem como objetivo 
descobrir a existência de algum defeito introduzido ou não identificado 
originalmente como resultado da mudança, sendo realizado quando o 
software ou o ambiente são modificados. O teste de regressão é uma 
atividade que ajuda a garantir que as modificações no produto de 
software não introduzam um comportamento indesejável ou erros.
Avaliação de Software 13
Unidade III: Testes de Validação
3.5 – Métodos e Estruturas de Validação
3.5.1 – Casos de Testes
Apesar de existir um padrão internacional para a especificação de 
casos e procedimentos de teste publicado no padrão IEEE-Std-829 
(roteiro de documentos para a atividade de teste em geral), ele serve 
apenas como um roteiro e normalmente é customizado pelas 
empresas.
Na verdade, o padrão IEEE-Std-829 foi proposto exatamente com o 
intuito de servir como base para que empresas de software pudessem 
definir o seu roteiro de documentos para as atividades de teste de 
software. 
Avaliação de Software 14
Unidade III: Testes de Validação
3.5.2 – Métodos de caixa preta para obtenção de casos de testes
- Os testes de caixa preta são uma abordagem complementar aos 
testes de caixa branca e, possuem a finalidade de identificar um 
conjunto de situações que serão empregadas em forma de testes para 
a identificação de erros.
- Quanto maior a variedade de cenários maior será o conjunto de 
soluções que serão avaliadas e comparadas com os requisitos. Os 
principais métodos de testes de caixa-preta para a obtenção de casos 
de teste são: Métodos de decomposição de requisitos e Métodos 
de análise de documentos.
Avaliação de Software 15
Unidade III: Testes de Validação
3.5.2 – Métodos de caixa preta para obtenção de casos de testes (cont.)
- Os requisitos são extremamente importantes no processo de teste de software. A 
decomposição de um requisito em cenário é fundamental para obtermos todas as 
possibilidade envolvidas na dinâmica do software. É importante explorar todos os 
cenários possíveis para cada requisito especificado.
- Destacam-se os três tipos de cenários que podem estar contidos nos requisitos: 
primário, alternativo e de exceção.
Avaliação de Software 16
Unidade III: Testes de Validação
3.5.2 – Métodos de caixa branca para obtenção de casos de testes
- Esses métodos baseiam-se em um estudo detalhado das linhas de código. Os
principais métodos de caixa branca para obtenção dos casos de teste são:
Avaliação de Software 17
Unidade III: Testes de Validação
3.6 – Fases da Validação
3.6.1 – Validação da Unidade
- Essa é a primeira etapa do processo de validação e, tem por objetivo 
testar componentes individuais de uma aplicação.
- Esse estágio de teste, também chamado de Teste Unitário é 
definido como a focalização do esforço da verificação na menor 
unidade de projeto do software – o componente ou módulo do 
software.
- Também é possível resumir esse conceito como “Teste em nível e
componente ou classe”.
- Os testes unitários devem ser projetados visando à cobertura de 
código nos objetos, realizando testes em todas as operações do 
mesmo, além de verificar seus atributos e simular os mais diversos 
eventos que causem alguma mudança nesse objeto, utilizando 
diferentes entradas para atingir tal objetivo. 
- Sempre que possível, deve-se automatizar os testes unitários.
Avaliação de Software 18
Unidade III: Testes de Validação
3.6 – Fases da Validação (cont.)
3.6.2 – Validação da Integração
- A validação de integração é uma continuação natural dos testes 
unitários. O principal objetivo é validar a compatibilidade entre os 
diversos componentes do software.
Testes de integração ou testes de componentes, são uma técnica 
sistemática para construir a arquitetura de software ao mesmo
tempo que conduz testes para descobrir erros associados com as 
interfaces.
- O teste de integração garante que um ou mais componentes 
combinados (ou unidades) funcionam corretamente.
- Os testes de integração possuem duas abordagens: sequência de execução e 
baseado no uso. A primeira utiliza todas as classes que respondem a uma entrada 
ou evento do software, sendo que cada uma dessas classes precisam ser 
integradas e testadas de forma individual.
Já, os testes baseados em uso começam pelas classes que podem possuir poucas 
classes dependentes ou nenhuma, sendo que ao final desses testes, as classes que 
as utilizam irão sendo testadas até que todo o sistema esteja construído, sendo isso 
realizado de forma incremental.
Avaliação de Software 19
Unidade III: Testes de Validação
3.6 – Fases da Validação (cont.)
3.6.3 – Validação do Sistema
- Quando se chega nessa fase é necessário que a maior parte das 
falhas de funcionalidade tenham sido detectadas pelos testes unitários 
e os testes de integração.
- Os testes de sistema caracterizam-se por uma série de diferentes 
testes cuja finalidade primária é exercitar totalmente o sistema. Da 
mesma forma que o teste unitário e o de integração, o teste de 
sistema é focado principalmente na descoberta de falhas, mas ao
contrário das atividades de teste de nível de granularidade mais fino, 
se concentra nas propriedades do nível do sistema.
- Alguns dos tipos de testes que são realizados nesse estágio podem 
ser testes de funcionalidade, testes de recuperação, testes de 
segurança, testes de desempenho e testes de disponibilidade.
- Os testes de sistema são mais difíceis de automatizar do que testes de unidade e 
integração, uma vez que a verificação pode ser dificultada pela necessidade da 
geraçãode grandes volumes de dados, dificultando os casos de teste que precisam 
comparar a saída do sistema com a saída ideal do teste.
Avaliação de Software 20
Unidade III: Testes de Validação
3.6 – Fases da Validação (cont.)
3.6.4 – Validação do Aceite
- Teste de aceitação é exploratório voltado para validar aquilo que o 
usuário deseja, tendo um objetivo claro: dar o aceite ou não. São 
divididos em dois estágios: o teste alfa e o teste beta.
- Teste alfa: É caracterizado pelos testes realizados pelos usuários em 
um ambiente simulado, podendo este estar localizado dentro da 
empresa criadora do software. Tem como objetivo observar a 
naturalidade com que o sistema é utilizado pelos usuários finais, não 
sendo muito rigoroso em relação aos procedimentos mais críticos a 
serem validados. 
- Teste beta: tem como característica a execução do sistema na 
própria infraestrutura da empresa que vai utilizar o software. Esse 
estágio de teste serve para que os usuários possam ter segurança em 
utilizar essa versão em produção, contando com o apoio da equipe de 
desenvolvimento para correção de qualquer problema que possa 
prejudicar o seu o uso.
Avaliação de Software 21
Unidade III: Testes de Validação
LEITURA RECOMENDADA
Capítulos 2 e 3 do Livro Proprietário;
	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