-
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.