SóProvas


ID
1311718
Banca
CESPE / CEBRASPE
Órgão
Polícia Federal
Ano
2013
Provas
Disciplina
Engenharia de Software
Assuntos

Acerca dos conceitos da engenharia reversa, julgue os itens subsecutivos.

A depuração de programas utiliza métodos de teste e análise para tentar entender o software. Esses métodos são classificados como caixa-branca (white box) e caixa-preta (black box). Para se conhecer o código e seu comportamento, o teste caixa-branca é menos eficiente que o teste caixa-preta, embora seja mais fácil de ser implementado.

Alternativas
Comentários
  • O teste de caixa-preta não é tão eficiente quanto o teste de caixa-branca para conhecer o código e seu comportamento.

  • Alguém sabe dizer se a definição de depuração está correta?

    Entendo que não.

  • Boa noite Civio Oliveira,

    Primeiro erro da questão: A Depuração e Testes são atividades DISTINTAS. A depuração tem como principal objetivo encontrar e corrigir a CAUSA de um erro de software. NÃO é considerado TESTE. Já o teste tem objetivo de PROCURAR os erros;

    Segundo erro da questão: Teste de Caixa-branca e Caixa-preta são abordagens complementares e não há menos eficiência entre um ou outro.

    .

    .

    .

    At.te,

    Foco na missão

     

  • Gabarito Errado

    Teste de Caixa Branca:

    Teste de caixa-branca é uma técnica de teste que usa a perspectiva interna do sistema para modelar os casos de teste. No teste de software, a perspectiva interna significa basicamente o código fonte. No teste de hardware, cada nó de um circuito pode ser testado.

    Difere do teste de caixa-preta, em que a perspectiva interna do sistema é desconsiderada, sendo testadas e mensuradas somente as interfaces do sistema. Entretanto, ambas as técnicas podem ser usadas em conjunto, no que é chamado teste de caixa-cinza. Dessa forma, o teste é modelado conhecendo-se a estrutura interna do sistema, mas a execução ignora esse aspecto, como na caixa-preta.

    Como os testes são baseados na implementação ao invés da interface, caso a implementação seja alterada, o teste provavelmente também terá que ser. Essa implicação adiciona um peso financeiro maior para mudar o processo de desenvolvimento. Um custo maior também se deve ao fato de que, por exigir o conhecimento interno do sistema, esse teste exige mais conhecimento técnico do testador. Entretanto, uma vantagem desse teste é que, como a estrutura interna é usada como referência, é fácil encontrar os valores de entrada mais úteis para o teste, o que também ajuda na otimização geral do sistema.

     

    Teste de Caixa Preta:

    Teste de caixa-preta é um teste de software para verificar a saída dos dados usando entradas de vários tipos. Tais entradas não são escolhidas conforme a estrutura do programa.

    Quanto mais entradas são fornecidas, mais rico será o teste. Numa situação ideal todas as entradas possíveis seriam testadas, mas na ampla maioria dos casos isso é impossível. Outro problema é que a especificação pode estar ambígua em relação ao sistema produzido, e como resultado as entradas especificadas podem não ser as mesmas aceitas para o teste. Uma abordagem mais realista para o teste de caixa-preta é escolher um subconjunto de entradas que maximize a riqueza do teste. Podem-se agrupar subconjuntos de entradas possíveis que são processadas similarmente, de forma que testar somente um elemento desse subconjunto serve para averiguar a qualidade de todo o subconjunto. Por exemplo, em um sistema que aceita um inteiro como entrada, testar todos os casos possíveis pode gerar pelo menos dezenas de milhares de casos de testes distintos. Entretanto, a partir da especificação do sistema, pode-se encontrar um subconjunto de inteiros que maximizem a qualidade do teste. Depende do propósito do sistema, mas casos possíveis incluem inteiros pares, inteiros ímpares, zero, inteiros positivos, inteiros negativos, o maior inteiro, o menor inteiro.

    Essa técnica é aplicável a todas as fases de teste:

    teste unitário

    teste de integração

    teste de sistema

    teste de aceitação

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • A depuração de programas utiliza métodos de teste e análise para tentar entender o software. Esses métodos são classificados como caixa-branca (white box) e caixa-preta (black box). --> CORRETO!!!

    Para se conhecer o código e seu comportamento, o teste caixa-branca é menos eficiente que o teste caixa-preta, embora seja mais fácil de ser implementado. ERRADO. --- O TESTE CAIXA BRANCA É MAIS EFICIENTE PARA SE CONHECER O CÓDIGO, VEJA:

     

    Teste Caixa Branca:

    - A principal intenção é experimentar o código fonte.

    - Pela razão do teste de código em muitos momentos nos deparamos com porções do código que jamais foram conferidos.

     

    Teste Caixa Preta:

    - Outro tipo que faz com que testemos todos os insumos e resultados pretendidos.

    - Todo efeito inesperado é consequentemente considerado um erro.

    - Assim o foco não é o código fonte.

  • Complementando, acredito que o teste de caixa preta é mais fácil de ser implementado (contrário do que a questão diz), pois não são consideradas as estrutras internas do software.

  • Segundo PRESSMAN, quando o caso e teste descobre um erro, a depuração é a ação que resulta na reparação do erro. A depuração não é teste, mas sempre ocorre em conseqüência do teste. A depuração tenta relacionar sintoma com causa levando assim a correção do erro.

     

    Força Bruta – método mais comum e menos eficiente para isolar a causa de um erro de software. Adotamos a filosofia “deixe o computador encontrar o erro”, são feitas listagem da memória, são invocados rastreadores da execução e o programa é carregado com comandos de saída.

     

    Rastreamento – usada com sucesso em PROGRAMAS PEQUENOS, o código-fonte é rastreado MANUALMENTE até que o lugar da causa é encontrado. Infelizmente, a medida que o número de linhas-fonte aumenta, o número de caminhos potenciais para trás pode se tornar inadmissivelmente grande.

     

    Eliminação de causa – manifestada por indução ou dedução e introduz o conceito de PARTICIONAMENTO BINÁRIO. Os dados relacionados à ocorrência do erro são organizados para isolar causas em potencial. Sendo uma hipótese de causa concebida e os dados mencionados são usados para provar ou rejeitar a hipótese. De forma alternativa uma lista de todas as causas possíveis é desenvolvida e são conduzidos testes para eliminar cada uma. Se os testes iniciais indicam que uma hipótese particular de causa é promissora, os dados são refinados em uma tentativa de isolar o defeito.