Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Conteúdo Programático
• 4.1 – Teste de Unidade
• 4.2 – Teste de Integração
• 4.3 – Teste de Validação
• 4.4 – Teste de Sistema
• 4.5 – Teste na Migração
Introdução
• 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.
Introdução
• 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.
Estratégia de Teste
• Os testes iniciais também conhecidos como teste de unidade
focalizam um único componente e aplicam-se para descobrir
erros nos dados e na lógica de processamento destes
componentes.
Estratégia de Teste
• Após esta fase ocorrem testes de ordem superior, como por
exemplo, o teste de validação com o objetivo de garantir que
o software satisfaz a todos os requisitos informativos,
funcionais, comportamentais e de desempenho.
Teste de Unidade
• Concentra-se no estágio mais baixo da escala de teste, isto é,
no código do programa e é considerado um adjunto da etapa
de codificação.
Teste de Unidade
• Este tipo de teste é aplicado nos menores componentes de
código criado, visando garantir que estes atendem as
especificações em termos de características e de
funcionalidade.
Teste de Unidade
Teste de Unidade
• A interface de módulo é testada para assegurar que as
informações fluam corretamente para dentro e para fora da
unidade do programa que está sendo testada.
Teste de Unidade
• A Todos os caminhos independentes da estrutura de controle
são usados para assegurar que todas as instruções em um
módulo tenham sido executadas pelo menos uma vez.
Teste de Unidade
• A Todos os caminhos de manipulação de erro são testados.
Teste de Unidade - OO
• Quando consideramos o software orientado a objeto, o
conceito de unidade se modifica.
Teste de Unidade - OO
• Uma classe pode conter um conjunto de diferentes operações,
e uma operação em particular pode existir como parte de um
conjunto de diferentes classes.
Teste de Integração
• O teste de integração focaliza o pacote de software completo
e trata da verificação do programa como um todo. Este tipo de
teste faz uso de técnicas de projeto de casos de teste que
enfocam as entradas e saídas, além de exercitar caminhos
específicos.
Teste de Integração
• a Mesmo que todos os módulos estejam funcionando
individualmente, não se pode garantir que eles funcionarão
em conjunto:
Teste de Integração
• A Segundo Pressman, o teste de integração é uma técnica
sistemática para construir a arquitetura do software enquanto
se conduz testes para descobrir erros associados com as
interfaces a partir dos componentes já testados através do
teste de unidade. Existem basicamente duas abordagens que
podem ser utilizadas:
➢ Não incremental;
➢ Incremental.
Teste de Integração
• Não incremental (Big-Bang):
Teste de Integração
• Incremental
Teste de Validação
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.
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.
Teste na 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;