Buscar

Testes de Caixa-Branca

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Testes de caixa-branca
Apresentação
O teste de caixa-branca, juntamente com o processo de teste de software, consiste em atividades 
importantes de garantia da qualidade. É considerado uma das áreas de conhecimento da 
Engenharia de Software, segundo a Institute of Electrical and Electronics Engineers (IEEE), e, 
portanto, usa como base sólidos princípios estabelecidos na engenharia para que sejam 
suficientemente confiáveis e possam ser usados em máquinas do mundo real eficientemente.
Nesta Unidade de Aprendizagem, você aprenderá sobre a técnica de teste de software do tipo 
caixa-branca. Esta é uma técnica que se baseia nos caminhos internos do sistema, na sua estrutura 
e implementação, ou seja, demanda conhecimento do código do produto em teste para ser 
aplicada.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Definir o que é um teste de caixa-branca e suas características.•
Identificar um teste de caixa-branca.•
Aplicar testes de caixa-branca utilizando o Java.•
Desafio
Os testes de software são essenciais para assegurar um produto final de boa qualidade. Podem ser 
realizados a partir de várias técnicas diferentes, e uma delas é o teste de caixa-branca. Nesse tipo 
de teste é necessário entender o código e extrair mais detalhes sobre o funcionamento e fluxo 
lógico, para que possa analisar os níveis de complexidade e também as exigências para os testes.
 
Apresente em forma de lista os detalhes de como pretende trabalhar em cada etapa.
Infográfico
Os testes de caixa-branca são realizados com olhar interno para os códigos-fontes dos softwares. 
Esses testes são essenciais para validar o bom funcionamento do sistema e a qualidade do código-
fonte escrito pelo desenvolvedor. Logo, um bom processo de levantamento, projeto e execução 
dos testes é tão importante quanto a codificação do sistema.
Acompanhe neste Infográfico o processo de teste de caixa-branca a partir de uma demanda.
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/a0eee72c-f275-43a9-9b2a-ac703090e69c/74599bee-d742-484d-9412-3409e7020dba.png
Conteúdo do livro
Na disciplina de testes de software, várias técnicas já foram criadas ao longo da evolução da 
produção e teste de sistemas nas fábricas de software. Uma dessas técnicas é o teste de caixa-
branca. A técnica de caixa-branca tem um olhar interno no funcionamento do sistema.
Os testes são aplicados nas estruturas internas dos sistemas em níveis de componentes do código-
fonte, onde as lógicas do programa já estão escritas, prontas para serem testadas. Existem critérios 
para a aplicação desses testes de modo a atender os objetivos de cada um e você verá mais 
detalhes sobre eles.
No capítulo Testes de caixa-branca, da obra Testes de software e gerência de configuração, você 
entenderá melhor o assunto, pois é a base teórica desta Unidade de Aprendizagem.
Boa leitura. 
TESTES DE 
SOFTWARE E 
GERÊNCIA DE 
CONFIGURAÇÃO 
Breno Cristóvão Rocha
Testes de caixa-branca
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Definir teste de caixa-branca e suas características.
  Identificar um teste de caixa-branca.
  Aplicar testes de caixa-branca utilizando o Java.
Introdução
O objetivo de qualquer teste de software é encontrar erros, inconformi-
dades e funcionamento inadequado. Na disciplina de testes de software, 
várias técnicas foram criadas ao longo da evolução da produção e dos 
testes de sistemas nas fábricas de software. Uma dessas técnicas é o 
teste de caixa-branca.
A técnica de caixa-branca atenta mais ao funcionamento interno do 
sistema. Os testes são aplicados nas estruturas internas dos sistemas, no 
nível dos componentes do código-fonte, em que as lógicas do programa 
já estão escritas e prontas para serem testadas.
Neste capítulo, você vai estudar o teste de caixa-branca, suas carac-
terísticas e seus critérios. A ideia é que você aprenda a identificar esse 
tipo de teste de maneira correta e, assim, possa aplicá-lo.
Conceito e características
O teste de caixa-branca é uma técnica também conhecida como teste estrutural. 
Esse teste é utilizado para testar módulos juntamente aos seus componentes 
elementares, de modo a verifi car seu nível de qualidade. Segundo Pressman 
e Maxim (2016), o teste de caixa-branca usa a visão interna do sistema, então 
necessita do conhecimento acerca do seu funcionamento interno. Em síntese, 
essa técnica tem como fundamento examinar os detalhes procedimentais e os 
caminhos lógicos do software.
Para Schach (2008), esse tipo de teste deve ser chamado de teste de caixa transpa-
rente. Segundo esse autor, uma caixa-branca é tão opaca quanto uma caixa-preta. 
Desse modo, a denominação não faz sentido se o objetivo do teste é realmente 
enxergar o que se passa dentro do sistema.
Ao contrário do que ocorre nos testes de caixa-preta, a aplicação dos testes 
de caixa-branca fornece resultados que possibilitam uma análise diretamente 
relacionada ao código-fonte do sistema em teste. Dessa forma, as atividades 
de depuração e manutenção do código têm como base as informações obtidas 
pela aplicação dos testes (PRESSMAN; MAXIM, 2016).
Há diferentes critérios de aplicação para as técnicas de testes. Cada técnica 
deve ser analisada de acordo com a necessidade e/ou objetivo em questão. 
Afinal, cada critério possibilita diferentes domínios de entradas, o que acarreta 
análises de resultado distintas. Os critérios podem ser utilizados em todas as 
fases de testes, embora seja mais comum o uso em testes de unidade e testes de 
integração (BARBOSA et al., 2007). A seguir, você vai conhecer os principais 
elementos do teste de caixa-branca.
  Notação de grafo de fluxos: também conhecida como “grafo de pro-
grama”, essa é uma forma de representar o fluxo de controle do pro-
grama. Isso significa que essa não é uma técnica ou um critério de teste. 
É uma ferramenta para auxiliar no entendimento do fluxo de controle, 
o que leva à melhor compreensão da abordagem para o projeto e da 
execução de testes de caixa-branca.
  Complexidade ciclomática: é uma métrica útil para prever módulos 
com altos indicadores de erros. Isso quer dizer que essa métrica de 
software pode ser usada para se obter uma medida do tipo quantita-
tiva em relação à complexidade da lógica de um programa. Ela tem 
fundamento na teoria dos grafos para os cálculos de complexidade e 
pode ser usada na fase de planejamento de testes. Além disso, pode ser 
usada na fase de projetos de testes para responder quantos caminhos 
independentes existem no conjunto base do programa, estabelecendo 
um limite superior da quantidade de testes a serem executados.
Testes de caixa-branca2
  Caminho básico: essa técnica de teste foi proposta por Thomas J. 
McCabe. Ela permite ao projetista de teste criar um conjunto base de 
caminhos de execução a partir da derivação de uma medida da com-
plexidade lógica de um procedimento.
  Caminhos independentes: são quaisquer caminhos do programa que 
levam a um novo conjunto de comando ou a uma nova condição. Uma 
técnica eficiente para descobrir e definir o número de caminhos inde-
pendentes é usar a métrica de complexidade ciclomática no contexto 
do método de teste de caminho básico.
  Teste de estrutura de controle: funciona bem como um complemento 
para o teste de caminho básico e amplia a sua abrangência. Usando-os em 
conjunto se obtém uma melhor qualidade para a caixa-branca (PRESSMAN; 
MAXIM, 2016). Os critérios de teste estrutural se baseiam em diferentes 
tipos de conceitos e também nos componentes de programas para determinar 
os requisitos de teste necessários (BARBOSA et al., 2007).
  Teste de condição: é um método de projeto de teste que exercita as 
condições lógicas de um módulo de programa. Esse tipo de teste é 
feito em condições booleanas simples ou compostas. Por meio dele, é 
possívelobservar os desvios possíveis e avaliar ambos os resultados, 
tanto o verdadeiro quanto o falso (PEZZÈ; YOUNG, 2008). As con-
dições simples são variáveis booleanas ou expressões relacionais que 
podem estar precedidas ou não de um operador NOT. Já as condições 
compostas têm duas ou mais condições simples, operadores booleanos 
e parênteses.
  Teste de ciclo: segundo Pressman e Maxim (2016), o teste de ciclo é 
uma técnica de projeto de teste do tipo caixa-branca e tem seu foco na 
validação da construção dos ciclos. Ele pode ser definido em quatro 
classes diferentes: ciclos simples, ciclos concatenados, ciclos aninhados 
e ciclos não estruturados (Figura 1).
3Testes de caixa-branca
Figura 1. Classes de ciclos.
Fonte: Pressman e Maxim (2016).
  Teste de fluxo de dados: utiliza uma análise do fluxo de dados como fonte 
de informações para derivar o caso de teste. Isso significa que esses critérios 
são baseados em definições, associações de uma variável e os seus usos 
possíveis dentro de um programa (BARBOSA et al., 2007). As variáveis 
podem ser: de definição, de uso computacional ou de uso predicativo.
Thomas J. McCabe também desenvolveu a métrica cliclomática em 1976. Ele fez 
graduação A.B. em matemática pelo Providence College e cursou mestrado pela Universi-
dade de Connecticut. Desde 1966, trabalha para o Departamento de Defesa e Segurança 
Nacional dos Estados Unidos da América em desenvolvimento e gestão de sistemas.
Como identificar um teste de caixa-branca
Como você já sabe, existem vários critérios para a aplicação de um teste de 
caixa-branca. A seguir, você vai conhecer cada um deles para entender melhor 
os seus propósitos.
Testes de caixa-branca4
Notação de grafo de fluxo
A notação de grafo de fl uxo é uma ferramenta usada para representar o fl uxo 
de controle lógico. Dessa forma, é possível representar um fl uxograma de 
controle do programa em um grafo de fl uxo correspondente (Figura 2).
Figura 2. (a) Fluxograma e (b) grafo de fluxo.
Fonte: Pressman e Maxim (2016).
Veja que a Figura 2(a) representa um fluxograma que ilustra a estrutura de 
controle do programa. Já a Figura 2(b) mostra o mapeamento do fluxograma 
em um grafo de fluxo de maneira correspondente. Com o fluxograma e o grafo 
de fluxo representados, é possível identificar melhor como serão aplicados os 
critérios para os testes.
Caminho básico
Os caminhos básicos aplicados na Figura 2(b), ou seja, o grafo de fl uxo, são o 1 e o 4. 
Isso signifi ca que um teste projetado para forçar a execução desses caminhos base 
terá como resultado um teste que executará com certeza pelo menos uma vez cada 
comando. Além disso, cada condição terá seus testes de verdadeiro e falso testados.
Caminho independente
Pressman e Maxim (2016) afi rma que um caminho independente pode ser iden-
tifi cado na Figura 2(b), ou seja, no grafo de fl uxo, ao se considerar a seguinte 
sequência de passos.
5Testes de caixa-branca
a) 1 – 11.
b) 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11.
c) 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11.
d) 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11.
Isso mostra que um novo conjunto de comandos de processamento foi 
acessado ou que uma nova condição foi testada. Em termos de grafos, um novo 
caminho deve incluir no mínimo uma aresta que não tenha sido atravessada 
antes de o caminho ter sido definido.
Complexidade ciclomática
No critério de complexidade ciclomática, pode ser aplicado o cálculo ciclo-
mático com o exemplo da Figura 2(b), ou seja, o grafo de fl uxo. Acompanhe 
os itens a seguir.
  A complexidade ciclomática corresponde exatamente ao número de 
regiões do grafo. Nesse exemplo, o grafo de fluxo tem quatro regiões.
  A complexidade ciclomática V(G) para o grafo de fluxo é definida como 
V(G) = E – N + 2. “E” é o número de arestas e “N” é o número de nós do 
grafo. Nesse exemplo, a fórmula assume V(G) = 11 arestas – 9 nós + 2 = 4.
  A complexidade ciclomática V(G) para o grafo de fluxo é definida 
como V(G) = P +1. “P” é o número de nós predicados no grafo. Nesse 
exemplo, a fórmula é V(G) = 3 nós predicados + 1 = 4.
Teste de condição
Os testes de condições têm como foco exercitar os seguintes critérios 
(PRESSMAN; MAXIM, 2006):
  erros de operador booleano;
  erros de variáveis booleanas;
  erros de parêntese booleano;
  erros de operador relacional;
  erros de expressão aritmética.
Testes de caixa-branca6
Teste de ciclo
  Ciclo simples: para se iniciar o teste do ciclo simples, é preciso pular 
o ciclo totalmente. Depois, passar completamente pelo ciclo uma vez 
e, em seguida, duas vezes. Observe que para esse ciclo há passagens 
máximas permitidas.
  Ciclo aninhado: testar ciclos aninhados com a mesma abordagem de 
ciclos simples levaria a um número exorbitante de testes, tornando o 
processo inviável. Uma abordagem criada por Beizer ajuda a reduzir 
esse número. Essa abordagem envolve as seguintes etapas: (1) ao testar, 
iniciar no ciclo mais interno e manter os demais com valores mínimos; 
(2) testar o ciclo interno acrescentando outros valores fora do intervalo 
ou excluídos, mantendo os externos em valores mínimos; (3) direcionar 
o teste para fora, fazendo o teste para o próximo ciclo, mantendo os 
valores mínimos nos ciclos externos e os valores típicos nos outros 
ciclos aninhados; (4) continuar com os passos até que todos os ciclos 
sejam testados.
  Ciclo concatenado: esse ciclo pode ser testado da mesma forma que 
os ciclos simples, embora possa haver ciclos concatenados que não são 
independentes entre si. Nesse caso, você deve usar o teste de ciclos 
aninhados.
  Ciclo desestruturado: esse ciclo, sempre que possível, deve ser avaliado 
para ser redesenhado e/ou refatorado de modo que possa ser testado 
com as formas dos ciclos simples, aninhados ou concatenados.
Teste de fluxo de dados
Para realizar os testes de fl uxo de dados, é preciso estabelecer que as variáveis 
assumem:
  definição — acontece quando uma variável recebe a atribuição de um 
valor;
  uso computacional — acontece quando uma variável é utilizada para 
computar;
  uso predicativo — acontece quando uma variável é usada em uma 
estrutura condicional.
7Testes de caixa-branca
Estabelecidos os conceitos, é necessário entender os dois critérios listados a seguir.
  Todas as definições: é o critério mais básico conhecido entre os ba-
seados em análise de fluxo de dados. Ele estabelece que cada variável 
seja exercitada ao menos uma vez, independentemente de ser por uso 
computacional ou predicativo.
  Todos os usos: é um critério bastante utilizado. Ele requer que todas 
as associações entre definições de variáveis sejam executadas em uso 
computacional e uso predicativo, por meio de um caminho em que não 
ocorram definições.
O método do caminho básico pode ser executado sem a representação com uso de grafos 
ou fluxos. Porém, essas representações são úteis como uma notação que ajuda a entender 
o fluxo de controle e, dessa forma, ilustrar a abordagem (PRESSMAN; MAXIM, 2016).
Como aplicar testes de caixa-branca 
utilizando Java
Para aplicar os testes de caixa-branca usando o caminho base com cálculo 
ciclomático para determinar caminhos linearmente independentes, primei-
ramente você precisa de um código-fonte já com suas estruturas lógicas. 
Assim, é possível desenhar o grafo de fl uxo correspondente. Esse código 
ordena uma lista de letras informadas em ordem crescente. A seguir, veja os 
passos necessários.
Passo 1: extrair o grafo de fluxo correspondente 
do código-fonte
Primeiramente, é preciso identifi car onde ocorrem os nós no código-fonte 
(Figura 3).
Testes de caixa-branca8
Figura 3. Extração de grafo de fluxo.
Fonte: Adaptada de Murta (2011, documento on-line).
Em seguida, é preciso criar o grafo de fluxo com base na identificação 
dos nós (Figura 4).
Figura 4. Grafo de fluxo do código.
Fonte: Adaptada de Murta (2011, documento on-line).
Passo 2: calcular a complexidade ciclomática 
do diagrama de fluxo resultante
  V(G) = 4 regiões.
  V(G) = 16 arestas.
 V(G) = 14 nós.
  Cálculo: V(G) = E – N + 2, ou seja, V(G) = (16 – 14) + 2 = 4.
O resultado do cálculo são 4 caminhos linearmente independentes.
9Testes de caixa-branca
Passo 3: determinar um conjunto base de caminhos 
independentes
  Caminho 1: 1, 2, 12, 13, 14.
  Caminho 2: 1, 2, 3, 4, 10, 11, 13, 14 (impossível).
  Caminho 3: 1, 2, 3, 4, 5, 6, 7, 9, 4, 10, 11, 12, 14.
  Caminho 4: 1, 2, 3, 4, 5, 6, 8, 9, 4, 10, 11, 13, 14.
Passo 4: criar caso de teste que obrigue a execução 
de cada caminho do conjunto base
Teste de caminho 1
Observe a Figura 5, a seguir.
Figura 5. Teste em código Java (caminho 1).
Fonte: Adaptada de Murta (2011, documento on-line).
Teste de caminho 2
O teste de caminho 2 é impossível. Afi nal, se uma lista desordenada entra no loop 
do nó 4, ele com certeza vai percorrer os nós internos para assim chegar ao nó 10.
Testes de caixa-branca10
Teste de caminho 3
Observe a Figura 6, a seguir.
Figura 6. Teste em código Java (caminho 3).
Fonte: Adaptada de Murta (2011, documento on-line).
Teste de caminho 4
Observe a Figura 7, a seguir.
Figura 7. Teste em código Java (caminho 4).
Fonte: Adaptada de Murta (2011, documento on-line).
11Testes de caixa-branca
BARBOSA, E. F. et al. (ed.). Introdução ao teste de software. Rio de Janeiro: Elsevier, 2007.
MURTA, L. G. P. Verificação, validação e testes. 2011. Disponível em: http://www2.ic.uff.
br/~leomurta/courses/2011.1/es2/aula6.pdf. Acesso em: 25 fev. 2019.
PEZZÈ, M.; YOUNG, M. Teste e análise de software: processos, princípios e técnicas. Porto 
Alegre: Bookman, 2008.
PRESSMAN, R. S.; MAXIN, B. R. Engenharia de software: uma abordagem profissional. 
8. ed. Porto Alegre: AMGH, 2016.
SCHACH, S. R. Engenharia de software: os paradigmas clássico & orientado a objetos. 
7. ed. Porto Alegre: AMGH, 2008.
Leituras recomendadas
DELMARO, M. E.; MALDONADO, J. C.; JINO, M. Introdução ao teste de software. 2. ed. Rio 
de Janeiro: Elsevier, 2016.
MCCABE, T. J. McCabe IQ glossary of terms. [2019]. Disponível em: http://www.mccabe.
com/iq_research_iqgloss.htm. Acesso em: 25 fev. 2019.
Testes de caixa-branca12
Dica do professor
Conhecendo as ferramentas, os critérios e complementos que podem ser usados no projeto e 
execução dos testes de caixa-branca, é importante saber em que momento usar os recursos 
necessários para um projeto de teste de qualidade.
Na Dica do Professor, você verá de forma cadenciada como ocorre o uso das ferramentas, a 
aplicação dos critérios, complementos e ferramentas para aplicação do teste de caixa-branca.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/a50314aa64e4e6ec91d2dd3a51a2db57
Exercícios
1) Os testes de caixa-branca são bem distintos dos testes de caixa-preta. Esses testes são 
utilizados para testar módulos juntamente com seus componentes elementares de modo a 
verificar seu nível de qualidade. A respeito dos testes caixa-branca, assinale a alternativa 
correta.
A) Os testes de caixa-branca também são conhecidos como testes estruturais. Isso quer dizer 
que os testes olham o funcionamento interno do software e fornecem resultados que são 
diretamente relacionados ao código fonte do programa.
B) Os testes caixa-branca são testes funcionais, por isso testam os módulos do sistema para 
verificar sua qualidade e retornam um relatório de avaliação, que, pelo resultado obtido, é 
comparado a um resultado esperado.
C) Os testes de caixa-branca são diferentes dos testes de caixa-preta porque neles o analista de 
teste não pode saber o que acontece dentro do código, por isso são conhecidos como caixa-
branca.
D) Os testes caixa-branca não são diferentes dos testes de caixa-preta, pois o teste de caixa-
branca é tão opaco quanto o teste de caixa-preta. Ambos os tipos testam se um ou mais 
componentes funcionam da mesma maneira.
E) Os testes de caixa-branca são melhores que os testes de caixa-preta porque testam os 
códigos do sistema, o analista de teste tem acesso ao código-fonte e desconhece a estrutura 
interna do sistema.
2) Os testes de estrutura de controle são complementares ao teste de caminho básico e 
melhoram a sua qualidade. Existem técnicas de aplicação dos testes que se baseiam em 
diferentes tipos de conceito, e também nos componentes de programas para determinar os 
requisitos de testes necessários. Qual tipo de teste no sistema o teste de condição exercita?
A) O teste de condição exercita se um dado de entrada obedece ao formato de condição válido 
para ser gravado no sistema. 
B) O teste de condição é usado para verificar se um ciclo aninhado paralelamente com um ciclo 
externo foi percorrido corretamente. 
C) O teste de condição exercita se uma faixa de valores limite é válida como entrada de valores 
no sistema.
D) O teste de condição exercita as condições lógicas de um módulo de programa. Realizado em 
condições booleanas para os desvios possíveis.
E) Os testes de condição determinam a complexidade do grafo de fluxo e assim se sabe quantos 
caminhos possíveis para realização do teste.
3) A complexidade ciclomática é uma métrica para calcular a complexidade lógica de um 
programa. A respeito desta métrica, assinale a alternativa correta.
A) A complexidade ciclomática serve para descobrir quantos nódulos existem em um grafo de 
fluxo.
B) A complexidade ciclomática detecta o nível de complexidade da lógica e indica qual tipo de 
teste deve ser usado para a funcionalidade, se testes caixa-preta, caixa-branca ou 
exploratórios.
C) A complexidade ciclomática é usada para medir quantos ciclos devem ser executados em um 
ciclo aninhado. 
D) A complexidade ciclomática é uma métrica apenas para avaliar o nível de complexidade da 
lógica, e assim instruir o analista de teste a criar um teste mais complexo.
E) A complexidade ciclomática serve para calcular quantos caminhos independentes existem em 
um conjunto-base.
4) A notação de grafos de fluxo auxilia a representar o fluxo de controle lógico de um 
programa. Sobre a notação de grafos de fluxos, assinale a alternativa correta.
A) O grafo de fluxo é desenhado apenas a partir do fluxograma. No lugar dos símbolos do 
fluxograma devem ser usados os nós e as arestas.
B) É uma ferramenta que pode ser usada para extrair o grafo de fluxo de um código e também 
de um fluxograma. A partir de sua ilustração com nós e arestas é possível calcular a 
complexidade ciclomática.
C) Os grafos de fluxo têm a função de calcular a complexidade lógica de um programa ao 
mostrar a quantidade de desvios e a quantidade de nós.
D) Os grafos de fluxo é uma técnica de testes de software caixa-branca que testam todos os 
caminhos possíveis representados pelo gráfico. Dessa maneira é possível ter boa cobertura de 
testes do código.
E) Os testes de caixa-branca utilizam os grafos de fluxo para aplicar os testes de ciclo, 
percorrendo os caminhos no grafo de modo a cobrir todos os desvios possíveis.
5) Teste de ciclos têm foco na validação da estrutura dos ciclos dentro de um programa. Dentre 
os ciclos possíveis, estão os aninhados. Os ciclos aninhados não podem ser testados da 
mesma forma que os ciclos simples. Com relação aos ciclos aninhados, assinale a alternativa 
correta.
A) Os ciclos aninhados devem ser testados usando a abordagem proposta por Beizer, pois, de 
outra forma, não será possível realizar os testes devido ao número excessivo de loops 
necessários.
B) Os ciclos aninhados devem ser testados primeiramente pulando o ciclo todo e depois devem 
ser completamente percorridos 1 vez, e demais vezes de acordo com o máximo permitido.
C) Os ciclos aninhados devem ser rescritos ou refatorados, pois eles não apresentam uma 
estrutura passível de testes como a do ciclo simples.
D) Os ciclos aninhados devem ser desagrupados em ciclos simples, e assim podem ser testados 
da mesma forma. Isso simplifica o processo e facilita o teste do programa.
E) Ciclos aninhados devem ser testadosde acordo com o teste de condição. Para cobrir o ciclo, 
é necessário antes definir tanto os caminhos quanto os valores a serem aplicados nas 
condições.
Na prática
É necessário entender como projetar testes de caixa-branca para que sejam eficientes e cumpram 
com a sua proposta. Existem ferramentas, critérios e também técnicas que complementam os 
testes de caixa-branca, de modo a deixá-los bem completos e eficientes.
Conheça Na Prática o trabalho que Samuel desenvolveu na empresa que trabalha para analisar as 
funcionalidades liberadas pelo desenvolvedor, realizar o trabalho de projetar e implementar os 
testes de software utilizando a técnica de teste de caixa-branca. 
Aponte a câmera para o 
código e acesse o link do 
conteúdo ou clique no 
código para acessar.
https://statics-marketplace.plataforma.grupoa.education/sagah/af89666b-ab47-4aca-827f-69c8ef3bfe04/cee0292d-910c-4687-ac6c-0fb939b60b36.png
Saiba +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor:
Teste de software: técnica de teste de caixa-branca
O teste de caixa-branca é executado levando em conta a estrutura do código-fonte. Mas como é 
feita a análise de código-fonte? Veja e aprenda.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Teste de software na indústria: um estudo qualitativo
Confira a tese de mestrado de Sérgio Luis Barbieri, publicada no ano de 2018 pela Universidade de 
Sâo Paulo (USP), que aborda as técnicas utilizadas no teste de caixa-branca. Conteúdo indicado 
para leitura: Capítulo 2 (p.18-32).
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
https://www.youtube.com/embed/UtN4BGK82Ew
https://teses.usp.br/teses/disponiveis/100/100131/tde-12062018-115510/publico/Dissertacao_Sergio_Barbieri_NUSP9414338.pdf

Continue navegando

Outros materiais