SóProvas


ID
1043845
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

No que concerne a teste de software, julgue os próximos itens.


Para realizar testes de unidade ou estrutural, pode-se utilizar uma representação conhecida como grafo de fluxo de controle de um programa. A partir do grafo, executam- se todos os caminhos do programa, principalmente na presença de laços.

Alternativas
Comentários
  • O erro da questão ocorre quando a mesma afirma que a técnica de Grafo de Fluxo Controle pode ser utilizada tanto nos testes de unidade como nos testes estruturais. Na verdade, essa é uma técnica utilizada somente para os testes estruturais, mais  conhecidos  como testes de "caixa branca". 

    Segue um boa explicação no excelente artigo da USP sobre Aspectos teóricos e empíricos sobre testes de cobertura de software:

    "A técnica estrutural apresenta uma série de limitações e desvantagens decorrentes das limitações inerentes às atividades de teste de programa enquanto estratégia de validação [RAP85, FRA87, HOW87, NTA88]. Esses aspectos introduzem sérios problemas na automatização do processo de validação de software [MAL91]. Independentemente dessas desvantagens, essa técnica é vista como complementar à técnica funcional [PRE92] e informações obtidas pela aplicação desses critérios têm sido consideradas relevantes para as atividades de manutenção, depuração e confiabilidade de software [OST88, HAR90, PRE92, VEE94, VAR95].

    Na técnica de teste estrutural, também conhecida como teste caixa branca (em oposição ao nome caixa preta), os aspectos de implementação são fundamentais na escolha dos casos de teste. O teste estrutural baseia-se no conhecimento da estrutura interna da implementação. Em geral, a maioria dos critérios dessa técnica utiliza uma representação de programa conhecida como grafo de fluxo de controle ou grafo de programa." Fonte: http://www.labes.icmc.usp.br/site/sites/default/files/NotaDidatica31.pdf.

    Bons estudos!

  • Pessoal prestem atenção nesse pequeno parágrafo: " O teste de caixa-branca (também chamado de teste estrutural) é aplicável nas fases de unidade, integração, regressão e sistema do processo de teste, e geralmente usado na fase de unidade. Estratégias usadas no teste de caixa-branca incluem o teste de fluxo de controle, teste de fluxo de dados e ramificação da execução, além da análise estática." Fonte: Wikipédia (com adaptações entre parênteses)

    "Para realizar testes de unidade ou estrutural, pode-se utilizar uma representação conhecida como grafo de fluxo de controle de um programa. A partir do grafo, executam- se todos os caminhos do programa, principalmente na presença de laços."


    O erro da questão é afirmar que teste de unidade e estrutural são a mesma coisa, ou seja, são sinônimos. O teste de unidade é apenas uma fase onde pode ser aplicada a técnica de teste estrutural. Na verdade teste estrutural e  teste caixa branca é que são a mesma coisa.

  • Grande amigos, o comando da questão não fala que teste de unidade é a mesma coisa que estrutural. Questão de análise textual. Leiam dessa forma: "Para realizar testes de unidade e testes estruturais ..."


    Pode-se utilizar a representação de grafo de fluxo de controle de um programa no teste estrutural? Sim. E no teste unitário? Aí complicou. Em teste unitário não se executa todos os caminhos do programa. Unidade é a menor parte testavel de um programa. Os testes unitários são testes de entrada e saída em um módulo, classe ou procedimento.

  • André Veras

    Leiam dessa forma: "Para realizar testes de unidade e testes estruturais ..."

    Eu discordo, não podemos afirmar que essa frase pode ser lida dessa forma. OU e E não são a mesma coisa, nem na computação e nem nas diversas gramáticas da língua portuguesa. O examinador se refere sim que o teste estrutural pode ser chamado de teste de unidade. Com o OU subentende-se que pode ser usado um dos dois nomes pra esse tipo de teste, ou seja, ele afirma pelo OU que teste estrutural pode ser chamado de teste de unidade, isso concerteza já invalida a questão, tornando-a errada.

  • Eu já acho que o erro está em dizer que a partir do grafo são executados TODOS os caminhos do programa. Apenas o conjunto base de caminhos é executado porque é inviável testar todos os caminhos, mesmo pra programas pequenos.

  • Alternativa Errada .... segundo fragmento abaixo:

    "Dentre as técnicas de teste existentes podemos citar: Técnica de Teste Baseado em 

    Erros: está baseada em certos tipos de erros utilizados para derivar casos de teste. Os casos 

    de teste gerados são específicos para mostrar a presença ou ausência desses erros (ex. Análise 

    de Mutantes); Técnica FUncional: estabelece casos de teste baseados na especificação e na 

    identificação dos requisitos funcionais (ex. Análise do Valor Limite, Grafos de Causa-Efeito, 

    Teste de Partição); Técnica Estrutural: utiliza o código fonte e a particular implementação 

    para estabelecer os casos de teste (ex. Teste Baseado em Fluxo de Controle, Teste Baseado em 

    Fluxo de Dados)." 

    Sendo assim, podemos constatar que o teste mencionado é um tipoCAIXA BRANCA, ou seja, aplicado diretamente no código ....

    O erro está em dizer que o grafo cobre TODOS os caminhos .... 

    Este tipo de erro é recorrente no CESPE que insiste em dizer que os testes atingem 100% de eficiência, o que não é verdade.

    fonte:http://www.lbd.dcc.ufmg.br/colecoes/sbes/1993/0022.pdf


    Bons Estudos!!!
  •  

    O GRAFO DE FLUXO E UTILIZADO NA ABORDAGEM ESTRUTURAL, OU CAIXA BRANCA.

    NA ABORDAGEM ESTRUTURAL OU TESTE DE CAIXA PRETA POSSUI AS SEGUINTES REPRESENTAÇÕES

    COMPLEXIDADE CICLOMATICA

    TESTES DE CAMINHO

    TESTE DE ESTRUTURAS DE CONTROLE

     

     

     

  • Alessandro Silva você inverteu os nomes branco/preto, não?

  • O erro ao meu ver é misturar o conceito de grafo com o de "Testes de estruturas de controle"

    Para realizar testes de unidade ou estrutural, pode-se utilizar uma representação conhecida como grafo de fluxo de controle de um programa. (ok)

    "executam- se todos os caminhos do programa, principalmente na presença de laços." é uma função do método "Testes de caminhos" e "testes de estruturas de controle (laços, estruturas condicionais, etc.)" presente nos testes estruturais (de caixa branca).



  • O erro é falar "executam- se todos os caminhos do programa". Testes exaustivos são inviáveis. Por isso é que se planeja teste.

  • Só para engrandecer o debate.

    Testes de Caixa Branca/ Caixa Preta são Técnicas de Teste.  Teste de Unidade, Integração, Sistema, Aceitação são Níveis de Teste.

    Segue o comentário da questão no material do Estratégia Concursos:

    "Primeiro, Teste de Unidade não é sinônimo de Teste Estrutural. Ademais, não faz
    sentido utilizar grafo de fluxo de controle para realizar testes de unidade, que são
    responsáveis por testar uma unidade e não envolve fluxo de controle"

  • é praticamente impossível testar todos os caminhos de um programa. ai está o erro, dizer todos os caminhos 

  • Ajustando a alternativa, eu faria assim:
    Para realizar o teste estrutural (ou de caixa-branca), pode-se utilizar uma representação conhecida como grafo de fluxo de controle ou de dados. A partir do grafo, executam-se alguns caminhos do programa, pois não é viável testar todos os caminhos. O percentual de possíveis caminhos que o teste verifica é chamado de nível de cobertura do teste.
  • Para realizar testes de unidade ou (teste de unidade não se confunde com teste estrutural - ERRADO) estrutural (Caixa Branca - CORRETO), pode-se utilizar uma representação conhecida como grafo de fluxo de controle de um programa. A partir do grafo, executam-se todos os caminhos do programa (é impossível se testar todos os caminhos possíveis de um programa - ERRADO), principalmente na presença de laços.


    Bons estudos!

  • Em 30/01/19 às 12:15, você respondeu a opção C.

    !

    Em 30/01/19 às 15:51, você respondeu a opção C.

    !