Você está na página 1de 7

IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software

Nome: Cesar Tegani Tofanini RA: 085590

Definição de conceitos
1. Verificação
Refere-se ao conjunto de atividades, em qualquer etapa do processo de desenvolvimento, que garante
que o software ou modelo implementa corretamente uma função específica. Está sendo construído o
produto corretamente?
2. Validação
Refere-se a um conjunto de atividades, em qualquer etapa do processo de desenvolvimento, que
garante que o software construído corresponde aos requisitos do cliente. Está sendo construído o
produto certo?
3. Estado do programa
Associado à execução do programa. É dado pelo estado de todos os itens de um ambiente, afetados por
um programa em execução, como valor da memória (variáveis do programa), do ponteiro de instruções,
banco de dados, etc.
4. Engano, Erro, Defeito, Falha
Defeito (fault) – Passo, processo ou definição de dados incorretos, algo que esteja deficiente.
Engano (mistake) – Ação humana que pode provocar um erro ou um defeito. Estes dois conceitos são
estáticos, pois estão associados a um programa ou conceito e não dependem de uma execução.
Erro (error) – Se caracteriza por um estado inconsistente ou inesperado do programa, pode ser ativado
por um defeito.
Falha (failure) – Causado por um ou mais erros, é caracterizada pela identificação de que o estado
produzido na execução de um programa é diferente do estado esperado. É um evento notável.
5. Software correto (“correct”)
É o programa livre de falhas, ou seja, em conformidade com os requisitos de software. Um programa
100% confiável.
6. Software confiável (“reliable”)
É definida em termos estatísticos como a probabilidade de operação livre de falhas de um programa de
computador, em um ambiente especificado, durante um tempo especificado.
7. Software seguro (“safe”)
É aquele onde, após uma análise no contexto de todo o sistema, especifica-se uma lista de eventos
indesejáveis e as respostas desejadas do sistema para esses eventos, desta forma, mesmo que o sistema
falhe, os prejuízos não podem ser catastróficos.
8. Teste e Depuração
Teste: Atividade dinâmica que consiste em executar um programa ou modelo utilizando algumas
entradas em particular e verificar se seu comportamento está de acordo com o esperado. Um teste é
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
bem sucedido quando revela um erro ou defeito.
Depuração: É comumente definida como a tarefa de localização e remoção de defeitos.
9. Dado de teste. Domínio de entrada
Dado de teste: É o elemento do domínio de entrada de um determinado programa.
Domínio de entrada: É o conjunto de todos os valores possíveis que podem ser utilizados para executar
um determinado programa.
10. Resultado esperado, Resultado obtido
Resultado esperado: Elemento desejado do domínio de saída de um determinado programa quando
usado um dado de teste.
Resultado obtido: Elemento obtido a partir da execução de um determinado programa.
Se o resultado obtido na execução for diferente do resultado esperado para o caso de teste utilizado, um
defeito é revelado.
11. Domínio de saída
É o conjunto de todos os possíveis resultados produzido por um programa.
12. Oráculo
Instrumento que decide se o resultado uma determinada execução coincide com o resultado esperado.
13. Caso de teste. Conjunto de casos de teste.
Caso de teste. Dados de entrada, condições e procedimentos mais o resultado esperado para a execução
do programa com aquele dado de teste.
Conjunto de casos de teste. Todos os casos de teste usados durante uma determinada atividade de
teste.
14. Teste Exaustivo de Entrada.
Critério de teste onde o conjunto de dados de entrada é formado por todas as combinações possíveis do
domínio de entrada do programa com o objetivo de detectar todos os seus defeitos.
15. Teste Estrutural Exaustivo.
Critério de teste onde o conjunto de dados de entrada deve exercitar todos os caminhos, estruturas e
dados de um programa.
16. Estado do Programa.
Duplicado, ver conceito 3.
17. Condição de Alcançabilidade (“reachability”).
Conceito que diz que um dado de entrada para um modelo ou programa deve atingir um determinado
comando, objetivando a ativação de um defeito.
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
18. Condição de Necessidade (“necessity”).
Conceito que diz que, uma vez que um erro é ativado, esta ação deve produzir um estado inconsistente
do ambiente onde o programa ou modelo está sendo executado.
19. Condição de Propagação (“propagation”).
Depois que o estado inconsistente de um modelo ou programa é obtido, este estado deve ser propagado
para a saída, gerando uma falha.
20. Testabilidade.
A testabilidade é simplesmente o quão fácil um programa ou modelo pode ser testado. Para isso,
algumas características são desejadas: Operabilidade, Observabilidade, Controlabilidade,
Decomponabilidade, Simplicidade, Estabilidade e Compreensibilidade.
21. Revelador/Não Revelador de Defeito.
Revelador. Um caso de teste revelador é aquele que quando usado para testar um determinado
programa, detecta um defeito.
Não Revelador. Um caso de teste não revelador é aquele que quando usado para testar um determinado
programa, não detecta um defeito.
22. Controlabilidade, Observabilidade.
Controlabilidade. Característica de um sistema onde os estados e variáveis do software e do hardware
podem ser controlados diretamente pelo testador. Testes podem ser especificados, automatizados e
reproduzidos convenientemente.
Observabilidade. Característica de um sistema onde as entradas fornecidas como parte do teste
produzem resultados distintos. Saída incorreta e erros internos são facilmente identificados.
23. Critério de teste, Critério de parada.
Critério de teste. São as regras usadas para selecionar os requisitos de teste ou para determinar se os
requisitos foram satisfeitos.
Critério de parada. Regra para decidir quando parar uma atividade de teste. Pode ser determinados por
fatores externos ao critério, como tempo e orçamento.
24. Elementos requeridos.
São os itens de um modelo ou programa que um determinado critério de teste exige para ser atendido.
25. Critério de adequação.
Maneira de avaliar se um caso de teste ou um conjunto de dados de teste satisfaz as exigências de um
determinado critério de teste.
26. Elementos exercitados.
Elementos requeridos que foram atingidos durante a execução de um teste.
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
27. Elementos exercitáveis/não exercitáveis.
Elementos exercitáveis. Elementos de um programa ou modelo requeridos por um critério de teste que
possuem um dado de entrada que os exercita.
Elementos não exercitáveis. Elementos requeridos de um modelo ou programa por um critério de teste
para que não possuem um dado de entrada que permita seu teste de modo individual.
28. Critério de seleção.
Procedimento para escolher os dados de teste que satisfaçam um critério.
29. Critério válido (detecção).
Um critério é válido se para cada defeito do programa, existe um conjunto de casos de teste que o
satisfaça e consegue revelar o defeito.
30. Critério confiável (consistência).
Um critério é confiável se todos os conjuntos de casos de teste que o satisfazem são equivalentes, ou
seja, têm a mesma capacidade de revelar defeitos.
31. Hierarquia de critérios, relação de inclusão.
Conceitos relacionados. Uma relação de inclusão entre critérios caracteriza uma hierarquia entre eles.
Podemos dizer que um critério C1 está contido em um critério C2 quando o conjunto de casos de teste
requeridos por C1 também é requerido por C2 e existe um caso de teste requerido por C2 que não é
requerido por C1.
32. Complexidade de critérios.
É definida como o número máximo de casos de teste requeridos por ele, no pior caso.
33. Testes de Unidade
O teste de unidade tem como foco as menores unidades de um programa, que podem ser funções,
procedimentos, métodos ou classes. Cada unidade é testada separadamente, pode ser aplicado a
medida que ocorre a implementação das unidades e pelo próprio desenvolvedor, sem a necessidade de
dispor –se do sistema totalmente finalizado.
34. “Driver” (controlador)
Módulo isolado que fornece dados de teste ao modulo a ser testado e apresenta os resultados
necessários.
35. “stub” (controlado)
Programa simulado que substitui um módulo subordinado ao modulo sendo testado. O stub permite que
cada unidade seja testada de forma isolada.
36. Teste “Black Box” (funcional/não funcional)
O teste funcional também é conhecido como teste caixa preta pelo fato de tratar o software como uma
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
caixa cuja implementação é desconhecida e da qual só é possível visualizar o lado externo, ou seja, os
dados de entrada fornecidos e as respostas produzidas como saída..
37. Teste “white Box” (estrutural)
Técnica de teste de software que considera e testa a estrutura interna do código, exige acesso ao código
fonte e verifica se os componentes internos operam de maneira adequada. O teste deve percorrer os
diversos caminhos do código baseando-se nos dados de teste selecionados.
38. Classe de equivalência
Partição de um domínio de entrada ou saída para qual se presume com base em uma especificação que
o comportamento do programa para cada item será o mesmo. Ou seja, conjunto de dados de entrada
que apresentam características comuns.
39. Partição, Particionamento de equivalência
Partição. Subconjunto contendo itens com características comuns. Uma partição para testes é chamada
de classe de equivalência.
Particionamento de Equivalência. Critério de teste associado à técnica de teste funcional em que os
casos de teste são construídos segundo as classes de dados do domínio de entrada, partindo do
pressuposto que todos os elementos de uma classe têm a mesma capacidade de revelar defeitos.
40. Análise de Valores Limites
Critério de teste associado à técnica de teste funcional em que os casos de teste são selecionados nos
limites das classes de equivalência.
41. Grafo de Causa-efeito
Grafo com os nós de entrada representando condições lógicas definidas por variáveis de entrada e nós
de saída representando os resultados correspondentes. Este critério ajuda na definição de um conjunto
de casos de teste que exploram ambigüidades e incompletude nas especificações.
42. Tabela de decisão
Maneira sistemática de construir uma tabela que representa condições lógicas definidas por variáveis de
entrada e resultados correspondentes. Esta tabela é gerada a partir do grafo correspondente.
43. Teste baseado em Fluxo de Controle
Conjunto de critérios de teste associado à técnica de teste estrutural em que os casos de teste são
construídos segundo as estruturas de controle do código (Comandos, desvios ou caminhos).
44. Teste de Nós (comandos)
Critério de teste estrutural em que os casos de teste são construídos de forma que um determinado
conjunto de nós do seu grafo de controle seja exercitado.
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
45. Teste de Ramos ou Arcos
Critério de teste em que os Casos de Teste são construídos de forma que um determinado conjunto de
ramos ou arcos do seu grafo de controle seja exercitado.
46. Teste de Condição (“condition testing”)
Critério de teste em que os casos de teste são construídos de forma a avaliar as condições formadas por
operadores lógicos de forma que todas as possibilidades sejam exercitadas.
47. Teste de Domínio (“domain testing”)
Estrutural. Teste caixa-branca onde se considera os possíveis dados necessários para exercitar trechos
específicos do grafo de controle de um programa.
Funcional. Teste de caixa-preta onde o domínio de entrada do programa é considerado. Utiliza o
conceito de classes de equivalência para dividir o domínio de entrada em subdomínios, desta forma,
diminuindo a quantidade de casos de testes necessários e melhorando a forma de escolha dos mesmos.
48. Teste de Caminhos Básicos (McCabe)
Critério de teste em que os casos de teste são selecionados de forma a executar caminhos
independentes (com nós ou condições ainda não exercitados). Usa uma medida de complexidade lógica
como guia para obter casos de testes que exercitam um conjunto básico de caminhos de execução.
49. Complexidade Ciclomática
Métrica de software que fornece uma medida quantitativa da complexidade lógica de um programa. O
número de caminhos independentes no código é igual a complexidade ciclomática.
50. Teste de Laços
Critério de teste associado à técnica de teste estrutural que se concentra na validade das construções
dos laços do software.
51. Teste baseado em Fluxo de Dados
Critério de testes que seleciona caminhos de teste de um programa de acordo com a localização das
definições e dos usos das variáveis. Este critério baseia-se nas associações entre a definição de uma
variável e seus possíveis usos subseqüentes.
52. Teste Comportamental
Baseado no uso do software, focando na interação entre o usuário e a aplicação, como os eventos e
troca de informações entre os envolvidos ocorre.
53. Teste Inter-tarefas
Detectam erros de sincronização de tarefas. Tarefas assíncronas que se comunicam são testadas com
diferentes taxas de dados e cargas de processamento para determinar se ocorrerão erros de
sincronização.
IA369i - Tópicos em Engenharia de Computação VI - Tema: Teste de Software
Nome: Cesar Tegani Tofanini RA: 085590
54. Teste de Integração
Teste em que as unidades de um software, tipicamente já testadas individualmente, são integradas e
testadas de forma incremental. Basicamente visa identificar erros de interface entre as unidades.
55. Teste de validação
Nível de teste que visa verificar se um sistema já integrado satisfaz os critérios de aceitação definidos
pelo cliente ou usuário final
56. Teste de Sistema
Série de testes cuja finalidade principal é exercitar por completo o sistema inserido em seu contexto,
com hardware, pessoas e informações.
57. Teste de regressão
Re-execução de algum subconjunto de testes após algum tipo de manutenção do sistema para garantir
que as modificações não propaguem efeitos colaterais indesejáveis.
58. Teste de usabilidade
Tipo de teste que simula as condições de utilização do software sob o ponto de vista do usuário final.
59. Analisadores Estáticos
Analisadores de aspectos do código fonte como, a formatação ou a estrutura de um software sem que
ele tenha que ser executado (Erros de digitação, Análise Sintática).
60. Auditores de Código
Caso específico de um analisador estático que verifica se o código de um software atende a um
determinado padrão ou requisito de qualidade.
61. Processadores de Asserções
Sistema de pré ou pós-processamento para dizer se as informações inseridas pelo programador,
denominadas asserções, sobre o comportamento de um programa são de fato cumpridas durante as
execuções reais.
62. Gerador de Dados de Teste
Ferramentas que auxiliam o testador a criar ou selecionar dados de teste segundo um determinado
critério.
63. Verificadores de Teste
Ferramentas que medem a cobertura interna dos testes realizados.
64. “Script” de Teste
Conjunto de instruções para execução de uma seqüência de passos de um teste; podem ser usados em
testes manuais ou automatizados.

Você também pode gostar