Escolar Documentos
Profissional Documentos
Cultura Documentos
“Os testes mostram apenas a presença de erros, mas não são capazes
de mostrar a ausência deles. Assim, se o software não passar no teste,
sabe-se que ele possui erros. Contudo, se passar, isso não significa
necessariamente que não exista nenhum erro, mas apenas que não foi
possível detectar todos os defeitos.”
VALIDAÇÃO E VERIFICAÇÃO
O objetivo da Verificação é checar se o software atende a seus requisitos funcionais e não funcionais.
O objetivo da Validação é garantir que o software atenda às expectativas do cliente. Ele vai além da
simples verificação de conformidade com as especificações, pois tenta demonstrar que o software faz o
que o cliente espera que ele faça.
Inspeções e Revisões
Modelo V
O modelo V é um modelo de desenvolvimento no qual se dá muita atenção aos testes.
ESTÁGIOS DE TESTES
• Geralmente, o sistema de software comercial tem de passar por três estágios de teste:
2) Testes de release: em que uma equipe de teste independente testa uma versão completa do sistema
antes que ele seja liberado para os usuários.
TESTE EM DESENVOLVIMENTO
Teste Unitário:
– As unidades individuais de programa ou classes de objetos são testadas individualmente.
Teste de Componentes:
– Várias unidades individuais são integradas para criar componentes compostos.
Testes de Sistemas:
– Alguns ou todos os componentes de um sistema estão integrados e o sistema é testado como um todo.
CAIXA-PRETA E CAIXA-BRANCA
Obs: O teste de release costuma ser um processo de teste de caixa preta, no qual os testes são
derivados da especificação de sistema; também chamado de teste funcional, onde a preocupação é a
funcionalidade e não a implementação.
Testes de cenário:
– Teste de cenário é uma abordagem de teste de release em que você imagina cenários típicos de uso e
os usa para desenvolver casos de teste para o sistema.
Testes de desempenho:
– Uma vez que o sistema tenha sido totalmente integrado, é possível testá-lo para propriedades
emergentes (RNF), como desempenho e confiabilidade.
TESTE DE USUÁRIO
Após passar pelas fases de desenvolvimento e release iniciam-se os testes de usuário, que são muito
importantes, pois os softwares são desenvolvidos para os usuários. Então, é imprescindível que exista o
momento de envolvê-lo nos testes.
Teste Alfa
– Tipo de teste onde os usuários do software trabalham com a equipe de desenvolvimento para
testar o software no local do desenvolvedor.
Teste Beta
– Um release do software é disponibilizado aos usuários para que possam experimentar e levantar os
problemas que eles descobriram com os desenvolvedores do sistema.
Teste de Aceitação
– É um tipo de teste de usuário, no qual o cliente testa, formalmente, o sistema para decidir se ele deve
ser aceito por parte do fornecedor do sistema ou se é necessário um desenvolvimento adicional.
TIPOS
Modelo V
• Aceitação: conduzido pelo cliente voltado para empregar todos os fatores e funções requisitados.
• Sistema: avalia se os requisitos foram atendidos para o sistema completo (ou incremento de software)
PSEUDOCONTROLADOR
Devido ao fato de um componente não ser um programa independente (stand-alone), deve ser
desenvolvido um pseudocontrolador (driver) e/ou um pseudocontrolado (stub) para cada teste de
unidade.
TESTE DE INTEGRAÇÃ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 funciona melhor quando são feitos incrementos, isto é, ao desenvolver uma nova
unidade, já roda o teste de integração.
Integração Incremental
É o oposto da abordagem big bang. O programa é construído e testado em pequenos incrementos, em
que os erros são mais fáceis de isolar e corrigir.
Teste de Regressão
Sempre que o software é corrigido, algum aspecto da configuração do software (o programa, sua
documentação, ou os dados que o suportam) é alterado.
Ajuda a garantir que as alterações (devido ao teste ou por outras razões) não introduzem
comportamentos indesejados ou erros adicionais.
Teste Fumaça
É projetado como um mecanismo de marca-passo, ou seja, ele monitora constantemente e avisa
sobre a ocorrência de problemas graves, para projetos com prazo crítico, permitindo que a equipe de
software avalie o projeto frequentemente.
Pode ser caracterizado como uma estratégia de integração rolante.
O software é recriado (com novos componentes acrescentados) e o teste de fumaça é realizado todos os
dias. A finalidade deverá ser descobrir erros “bloqueadores” (showstopper) que apresentam a mais alta
probabilidade de atrasar o cronograma.
Teste de Validação
Como todas as outras etapas de teste, a validação tenta descobrir erros, mas o foco está no nível de
requisitos — em coisas que ficarão imediatamente aparentes para o usuário final.
Teste Alfa ocorre com alguns usuários selecionados dentro do ambiente do desenvolvedor e Beta são
versões beta do software para um público no ambiente do usuário e tem como finalidade encontrar erros
nas diversas plataformas onde o software irá funcionar.
TESTE DE SISTEMA
Uma série de diferentes testes cuja finalidade primária é exercitar totalmente o sistema. Embora cada um
dos testes tenha uma finalidade diferente, todos funcionam no sentido de verificar se os elementos do
sistema foram integrados adequadamente e executam as funções a eles alocadas.
Desempenho: para sistemas em tempo real e embutidos, um software que execute a função necessária,
mas não esteja em conformidade com os requisitos de desempenho é inaceitável. Isto é, frequentemente
é necessário medir a utilização dos recursos (por exemplo, ciclos de processador) de forma precisa.
Disponibilização (configuração): examina todos os procedimentos de instalação e software
especializado de instalação (por exemplo, os “instaladores”) que serão usados pelos clientes e toda a
documentação que será usada para fornecer o software para os usuários finais.
Processo de depuração
O processo de depuração é a análise do código em pontos específicos para poder identificar onde estão
os erros.
DEFINIÇÕES
Os termos teste funcional e teste estrutural são às vezes usados em lugar de teste caixa-preta e teste
caixa-branca, respectivamente.
Caminho Básico
Casos de teste criados para exercitar o conjunto básico. Executam com certeza todas as instruções de
um programa pelo menos uma vez durante o teste.
Estrutura de Controle
1 – Condição Método de projeto de caso de teste que exercita as condições lógicas contidas em um
módulo de programa. Uma condição simples é uma variável booleana ou uma expressão relacional.
2 – Fluxo de Dados Uma estratégia simples de teste de fluxo de dados é requerer que toda cadeia
“Definição-Uso (DU)” seja coberta pelo menos uma vez. É irreal supor que o teste de fluxo de dados será
usado extensivamente ao se testar um grande sistema. No entanto, ele pode ser usado especificamente
em áreas do software que sejam suspeitas.
3 – Ciclo O teste de ciclo é uma técnica de teste caixa-branca que focaliza exclusivamente a validade
das construções de ciclo, quando há o loop.
Com base em grafo - Começa criando um grafo de objetos importantes e suas relações e então
imaginando uma série de testes que abrangerá o grafo de forma que cada objeto e relação sejam
exercitados e os erros sejam descobertos.