Você está na página 1de 8

Fundamentos de Teste - Cap.

➔ O que é qualidade?
O grau em que um componente ou sistema satisfaz as necessidades declaradas e
implícitas de suas diversas partes interessadas. (É diferente do conceito de garantia
de qualidade: atividades focadas em proporcionar confiança de que os requisitos de
qualidade serão cumpridos)

➔ Como os testes podem ser parte da Garantia de Qualidade?


Os testes reduzem o risco de má qualidade do software.

➔ Quais são os objetivos típicos do teste?


Prevenir defeitos. Encontrar defeitos e falhas. Para validar se o objeto de teste
funciona como esperado pelos usuários e outras partes interessadas.

➔ Qual a definição do termo caso de teste?


Um conjunto de condições prévias, insumos, ações, resultados esperados e pós
condições, desenvolvido com base em condições de teste.

➔ Qual a definição de condição de teste?


Um aspecto testável de um componente ou sistema identificado como base para os
testes.

➔ Qual a diferença entre teste e depuração?


A depuração identifica os defeitos. Os testes dinâmicos podem mostrar falhas que
são causadas por defeitos no software. A depuração elimina os defeitos, que são a
fonte das falhas, não a causa raiz dos defeitos.

➔ Exemplo de situação mais comum para uma falha descoberta durante os


testes ou na produção:
O produto falhou quando o usuário selecionou uma opção em uma caixa de diálogo.
Um acidente é claramente perceptível pelo usuário.

➔ Repetir o mesmo teste várias vezes vai contra qual princípio de teste?
Contra o princípio 5 que defende que: A repetição dos mesmos testes não
encontrará novos defeitos. "Se os mesmos testes são repetidos uma e outra vez,
eventualmente estes testes não encontram mais nenhum novo defeito. Para
detectar novos defeitos, os testes e dados de teste existentes podem precisar ser
alterados, e novos testes podem precisar ser escritos". Os testes de regressão
automatizado dos mesmos casos de teste não trarão novas descobertas.
➔ Qual o princípio está relacionado a focar os testes na parte do sistema que
apresentou mais defeitos?
Agrupamento de defeitos. Se forem identificados clusters de defeitos (áreas do
sistema contendo mais defeitos do que a média), então o esforço de teste deve ser
concentrado nessas áreas.

➔ Quais as principais atividades dentro da atividade "Análise de teste" no


processo de teste?
Avaliando a base de teste de testabilidade. Verificar se ela está apropriada ao nível
de teste que está sendo utilizado. Capturar a rastreabilidade bidirecional entre cada
elemento da base de teste e as condições de teste associadas.

➔ Exemplos de produtos de trabalho e suas descrições


Carta de teste: documentação das atividades de teste em testes exploratórios
baseados em sessões; são como fichas com um planejamento enxuto sobre o que
não deixar de testar

Conjunto de teste: um conjunto de scripts de teste ou procedimentos de teste a


serem executados em uma execução de teste específica

Roteiro de teste: uma sequência de instruções para a execução de um teste

Caso de teste: um conjunto de condições prévias, entradas, ações (quando


aplicável), resultados esperados e condições pós-teste, desenvolvidas com base
nas condições do teste

➔ Exemplos de atividades e tarefas de teste


Projeto do teste (Equivalente à atividade ‘Modelagem’ no Syllabus): identificação
dos dados do teste para apoiar os casos de teste

Implementação de testes: priorização dos procedimentos de teste e criação de


dados de teste

Execução do teste: análise das discrepâncias para determinar sua causa

Conclusão do teste: entrada de pedidos de alteração para relatórios de defeitos em


aberto
➔ Qual a melhor descrição para como o valor é agregado ao manter a
rastreabilidade entre a base de teste e os artefatos de teste?
É possível determinar se um novo caso de teste aumentou a cobertura das
exigências. Se todos os casos de teste estiverem ligados a requisitos, então sempre
que um novo caso de teste (com rastreabilidade) for adicionado, é possível ver se
algum requisito previamente descoberto é coberto pelo novo caso de teste.

REVISAR MAIS: 1.4 PROCESSOS DE TESTE, ATIVIDADES E


RASTREABILIDADE

--//--

➔ Qual a definição de Shift-left?


A prática de criar os casos de teste o mais cedo possível. Antes do desenvolvimento
do código. O princípio do teste antecipado. Pode resultar em treinamento, esforço
e/ou custos adicionais no começo do processo, mas espera-se que economize
esforços e/ou custos no final do processo. Para esta abordagem, é importante que
os stakeholders estejam convencidos a aceitar esse conceito.

--//--

REVISAR MAIS: DIFERENÇA ENTRE TESTE DE CONFIRMAÇÃO E TESTE DE


MANUTENÇÃO

Teste durante o ciclo de vida de dev. de software - Cap. 2

➔ Como os testes caixa-branca podem ser aplicados durante os testes de


aceite?
Para testes de aceite, os testes são projetados para cobrir todas as estruturas de
arquivos de dados financeiros suportados e faixas de valores para transferências
entre bancos.

➔ Comparativo entre Teste de Componentes e Teste de Sistemas


Os casos de teste para teste de componentes são geralmente derivados das
especificações de componentes, especificações de projeto ou modelos de dados,
enquanto os casos de teste para teste de sistemas são geralmente derivados das
especificações de requisitos ou casos de uso. Exemplos de produtos de trabalho
que podem ser usados como base de teste para testes de componentes incluem
projeto detalhado, código, modelo de dados, especificações de componentes.
Exemplos de produtos de trabalho para teste de sistema incluem especificações de
requisitos de sistema e software casos de uso (funcional e não-funcional)
➔ Objetivo do Teste de Regressão e Teste de Aceite:
O objetivo do teste de regressão é detectar efeitos colaterais não intencionais,
enquanto o objetivo do teste de confirmação é verificar se o defeito original foi
corrigido.

➔ Qual é a melhor definição de um modelo de desenvolvimento incremental?


Definição de requisitos, projeto de software e testes são feitos em fases em que em
cada uma parte do sistema é adicionada. O desenvolvimento incremental envolve
estabelecer requisitos, projetar, construir e testar um sistema em peças.

➔ O que não deve ser um gatilho para testes de manutenção?


Decisão de testar a possibilidade de manutenção do software.

Gatilhos para manutenção:


Testes de manutenção podem acontecer tanto para alterações planejadas como não
planejadas. Os gatilhos são classificados em:
- Modificação: aprimoramentos planejados, alterações corretivas emergenciais,
alterações no ambiente operacional;
- Migração: migrar de uma plataforma para outra, testes de conversão de
dados para garantir que serão mantidos após migrados
- Aposentadoria: quando atinge o fim de sua vida útil

➔ Relações entre as atividades de desenvolvimento e atividades de teste no


ciclo de vida de dev. de software:
- Cada atividade de desenvolvimento deve ter uma atividade de teste
correspondente;
- As atividades de teste devem começar nos estágios iniciais do ciclo de vida
de desenvolvimento de software.
- A revisão deve começar o quanto antes, assim que as rascunhos dos
documentos estiverem disponíveis

➔ Atributos de um Teste de Integração:


- Com base nas especificações da interface
- Focado em encontrar falhas na comunicação. São típicas para Testes de
Integração já que não são incluídas em nenhum outro nível de Teste.
- A abordagem de teste utiliza tanto tipos de teste funcionais quanto estruturais

➔ Existe alguma limitação sobre quais tipos de teste devem ser realizados em
cada nível de teste?
Não. É possível realizar testes funcionais, não-funcionais e caixa-branca em
qualquer nível de teste.
➔ Qual a diferença entre os propósitos dos testes de confirmação e testes de
regressão?
O objetivo do teste de confirmação é verificar se um defeito previamente encontrado
foi corrigido, enquanto o objetivo do teste de regressão é garantir que nenhuma
outra parte do sistema foi afetada adversamente pela correção.

➔ Qual o papel da análise de impacto para os testes de manutenção?


A análise de impacto é utilizada quando se decide se vale a pena uma correção
para um sistema mantido. Pode ser usada para identificar as áreas do sistema que
serão afetadas pela correção, e assim a extensão do impacto (por exemplo, os
testes de regressão necessários) pode ser usada ao decidir se a mudança vale a
pena.

➔ Situações para Teste não-funcional:


Servem para avaliar o quão bem o sistema se comporta. Podem ser testes de
desempenho, usabilidade, segurança, etc.

➔ Qual a relação entre a análise de impacto, testes de regressão e testes de


manutenção?
A análise de impacto é útil para testes de regressão durante os testes de
manutenção. Pode ser usada para selecionar testes de regressão para testes de
manutenção.

➔ Relação entre níveis de teste e tipos de defeitos:


- Componente: defeitos em módulos ou objetos testáveis separadamente
- Integração: defeitos nas interfaces e interações
- Sistema: defeitos em todo o objeto de teste
- Aceite: não focado na identificação de defeitos

➔ Qual tipo de teste relacionado à garantia de que o software conseguirá ser


executado em diferentes hardwares?
Teste de portabilidade.

Teste Estático - Cap. 3

➔ Quais são os papéis de uma revisão formal?


Autor, Moderador, Líder de revisão, Revisor, Redator

➔ Quais atividades são realizadas no âmbito do planejamento de uma revisão


formal?
Definição e verificação do cumprimento dos critérios de entrada para a revisão.
Definir escopo. Estimar esforço e prazo. Selecionar pessoas e alocar funções.
➔ Qual o tipo de revisão deve seguir um processo formal baseado em regras e
listas de verificação?
Inspeção. Na Revisão Técnica o uso de checklist é opcional e a Walkthrough
(Acompanhamento ou Passagem) não exige um processo formal nem checklist,
ambos são opcionais.

➔ Quais os principais benefícios dos testes estáticos?


Os testes estáticos são uma forma barata de detectar e remover defeitos. Defeitos
encontrados precocemente são muitas vezes muito mais baratos de serem
removidos do que defeitos detectados posteriormente no ciclo de vida. ‘Desde que
começamos a usar análise estática, encontramos defeitos de codificação que
podem não ter sido encontrados realizando apenas testes dinâmicos’.

➔ O que é teste baseado em checklist?


Técnica de teste baseada na experiência em que o testador experiente usa uma
lista de itens a serem anotados, verificados ou lembrados, ou um conjunto de regras
ou critérios contra os quais um produto deve ser verificado. As listas de verificação
são entregues aos revisores no início da revisão formal.

Funções na Revisão Formal:


- Líder de revisão: assume a responsabilidade geral sobre a revisão, decide
envolvidos quando e onde acontecerá a revisão
- Gestor/Gerente: decide sobre a execução das revisões; responsável pelo
planejamento da revisão
- Facilitador/Moderador: garantir a execução das reuniões, mediar entre os
pontos de vista
- Revisor: participantes da revisão; identificam possíveis defeitos no produto
de trabalho; podem representar diferentes perspectivas (testador, programador,
designer, usuário)
- Redator/Registrador/Escriba: coletar defeitos encontrados na revisão
individual e registrar possíveis novos defeitos, além de pontos em aberto e decisões
da reunião de revisão.

* É possível uma pessoa desempenhar mais de uma função dependendo do tipo da


revisão.

Tipos de Revisão:
Todas têm em seus objetivos a detecção de defeitos potenciais

● Revisão Informal:
- Pode ser realizada por um colega do autor ou mais pessoas
- Não pode envolver reunião de revisão
- Foco em detectar defeitos e gerar ideias para resolver pequenos
problemas rapidamente, mais comum no dev. ágil
- Uso de checklists opcional

● Acompanhamento/Walkthrough/Caminhada:
- A única em que a Reunião de revisão é liderada pelo Autor
- Uso de checklists opcional
- Processo formal opcional (Vide simulado A gabarito 16 D)
- Objetivos adicionais: troca de ideias sobre técnicas, treinamento de
participantes

● Revisão técnica:
- Reunião de revisão opcional e preferencialmente conduzida por
Facilitador
- Uso de checklists opcional
- Preparação individual exigida
- Redator obrigatório (preferência que não seja autor)
- Objetivos adicionais: troca de ideias sobre técnicas, treinamento de
participantes
- Registro de defeitos e relatórios de revisão produzidos

● Inspeção:
- Segue um processo formal baseado em regras e listas de verificação.
A única que exige obrigatoriamente um processo formal.
- Reunião de revisão obrigatória e liderada por Facilitador
- Uso de checklists obrigatório
- Preparação individual exigida
- Redator obrigatório (preferência que não seja autor)
- Objetivos adicionais: troca de ideias sobre técnicas, treinamento de
participantes
- Registro de defeitos e relatórios de revisão produzidos

➔ Quem dirige uma reunião de inspeção de uma revisão formal?


Facilitador. Não pode ser o autor.

Técnicas de Teste - Cap. 4

➔ O que é teste de caixa-preta?


Uma técnica de teste baseada em uma análise da especificação de um componente
ou sistema. Baseada no comportamento, na análise da base de teste apropriada
(por exemplo, documentos de requisitos formais, especificações, casos de uso,
histórias de usuários ou processos comerciais), que descrevem o comportamento
funcional e não-funcional.

➔ O que são testes exploratórios?


Uma abordagem aos testes onde os testadores projetam e executam
dinamicamente testes baseados em seu conhecimento, exploração do item de teste
e nos resultados dos testes anteriores.
➔ O que é cobertura de decisão?
É a cobertura dos resultados das decisões. O teste de decisão é uma técnica que
valida os resultados possíveis a partir de um ponto de decisão no código. A
cobertura é medida como o número de resultados de decisão executados pelos
testes dividido pelo número total de resultados de decisão no objeto de teste. Ex.:
Trecho de código com If e Else > 1 Caso de teste = 50% de cobertura de decisão | 2
Casos de teste = 100% de cobertura de decisão

A cobertura de decisão é uma medida da proporção de resultados de decisão no


código fonte exercida por testes. (Se a alternativa indicar ‘proporção de caminhos
possíveis’ está errada porque dois caminhos diferentes podem exercitar todos os
resultados de decisão, exceto um, e mudando apenas um único resultado de
decisão, um novo caminho é seguido. Portanto, proporção de resultados de decisão
se encaixa melhor)

➔ O que é cobertura de declaração/instrução?


Teste de declaração/instrução valida as instruções executáveis do código. Como se
fosse por ‘linha de código’. É uma métrica, que é a porcentagem de declarações no
código fonte que foram executadas. Não mede a aprovação/reprovação e não
fornece declarações verdadeiro/falso.

A cobertura das declarações é uma medida da proporção de declarações


executáveis no código fonte exercida por testes. (Se a alternativa indicar ‘número de
de declarações exercida por testes’ está errada porque a cobertura é expressa em
porcentagem. Portanto, trata-se de uma proporção e não de um número)

100% de cobertura de decisão também garante 100% de cobertura de declaração

--//--

Risco é probabilidade e impacto

Você também pode gostar