Capitulo 4

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 4

Os planos e procedimentos de teste devem ser desenvolvidos sistematicamente e continuamente

durante o desenvolvimento do software, fornecendo informações úteis para os designers de


software e destacando potenciais fraquezas. Muitas organizações adotam uma abordagem
preventiva para a qualidade do software, vendo o teste como uma forma de fornecer
informações sobre a funcionalidade e identificar falhas. Mesmo após extensos testes, o software
pode conter falhas, que são tratadas pela manutenção corretiva após a entrega. As técnicas de
gerenciamento de qualidade de software são categorizadas em técnicas estáticas (sem execução
de código) e dinâmicas.
As técnicas dinâmicas de teste, que envolvem a execução de código, são úteis, assim como as
técnicas estáticas. Este KA se concentra em técnicas dinâmicas. Além disso, o teste de software
está relacionado à construção de software, especialmente os testes de unidade e integração, que
são partes importantes ou intimamente relacionadas à construção do software.
A divisão de tópicos para a Área de Conhecimento (KA) de Teste de Software é descrita no
Figure 4.1. Uma divisão mais detalhada é fornecida na Matriz de Tópicos vs. Material de
Referência ao final desta KA. O primeiro tópico aborda os Fundamentos do Teste de Software,
incluindo definições básicas, terminologia e questões-chave, e a relação do teste de software
com outras atividades. O segundo tópico, Teste de Níveis, aborda os diferentes níveis de teste e
os objetivos do teste. As Técnicas de Teste são discutidas no terceiro tópico, enquanto as
Medidas Relacionadas ao Teste e as questões do Processo de Teste são abordadas nos tópicos
quatro e cinco, respectivamente. Por fim, as Ferramentas de Teste de Software são apresentadas
no tópico seis.
Fundamentos do Teste de Software
1.1. Terminologia Relacionada ao Teste
1.1.1. Definições de Teste e Terminologia Relacionada

As definições de teste e terminologia relacionada são fornecidas nas referências citadas e


resumidas da seguinte forma:

1.1.2. Falhas versus Falhas


Destaque da distinção entre falhas (causas de mau funcionamento) e falhas (efeitos indesejados
observados no serviço entregue). Reconhece-se a importância de remover as falhas subjacentes,
embora identificar inequivocamente sua causa nem sempre seja possível. Sugere-se o uso do
termo genérico "defeito" quando a distinção entre falha e falha não é crucial.

1.2. Questões Chave


1.2.1. Critérios de Seleção de Teste / Critérios de Adequação de Teste (Regras de Parada)
- Fontes: [1*, c1s14, c6s6, c12s7]
- Destaque para os critérios de seleção de teste como um meio de escolher casos de teste ou
determinar se um conjunto de casos de teste é suficiente para um propósito específico. Os
critérios de adequação de teste são mencionados como ferramentas para decidir quando o teste é
suficiente.
1.2.2. Efetividade do Teste / Objetivos para o Teste
- Fontes: [1*, c11s4, c13s11]
- Discussão sobre como a efetividade do teste é determinada pela análise de um conjunto de
execuções de programa e como a seleção de testes a serem executados pode ser orientada por
diferentes objetivos.
1.2.3. Testando para Descoberta de Defeitos
- Fontes: [1*, c1s14]
- Definição de teste bem-sucedido como aquele que faz o sistema falhar, contrastando com
testes bem-sucedidos para demonstrar que o software atende às especificações ou outras
propriedades desejadas.
1.2.4. O Problema do Oráculo
- Fontes: [1*, c1s9, c9s7]
- Explicação sobre o conceito de oráculo como um agente humano ou mecânico que decide se
um programa se comportou corretamente em um teste dado.
1.2.5. Limitações Teóricas e Práticas do Teste
- Fontes: [1*, c2s7]
- Alerta sobre o perigo de atribuir um nível injustificado de confiança a uma série de testes bem-
sucedidos e discussão sobre as limitações estabelecidas pela teoria de teste.
1.2.6. O Problema dos Caminhos Inexequíveis

Fontes: [1*, c4s7]


Discussão sobre os caminhos de controle que não podem ser percorridos por nenhum dado de
entrada, destacando-os como um problema significativo no teste baseado em caminhos,
especialmente na derivação automatizada de entradas de teste para exercitar os caminhos de
controle.
1.2.7. Testabilidade

Fontes: [1*, c17s2]


Exploração do termo "testabilidade do software", que possui dois significados relacionados, mas
diferentes: a facilidade com que um determinado critério de cobertura de teste pode ser
satisfeito e a probabilidade, possivelmente medida estatisticamente, de que um conjunto de
casos de teste exponha uma falha se o software estiver com defeito. Ambos os significados são
considerados importantes.
1.3. Relação do Teste com Outras Atividades

Discussão sobre como o teste de software está relacionado, mas é diferente, das técnicas
estáticas de gerenciamento de qualidade de software, provas de correção, depuração e
construção de programas. Também se considera informativo analisar o teste do ponto de vista
dos analistas de qualidade de software e dos certificadores.
Comparação entre Teste e Técnicas Estáticas de Gerenciamento de Qualidade de Software,
Teste vs. Provas de Correção e Verificação Formal, e Teste vs. Depuração.
Teste vs. Construção de Programas (consulte Teste de Construção na Área de Conhecimento de
Construção de Software KA [1*, c3s2]).

Você também pode gostar