Observei que muitos colegas marcaram erroneamente a alternativa C, vamos sanar as dúvidas sobre tal alternativa:
c) no primeiro o teste é feito de forma obscura sem saber o que o programa faz, enquanto que no segundo é feito de forma clara, analisando as entradas e saídas esperadas pelo programa.
Primeiramente, o primeiro tipo ( teste de caixa-preta) "..é feito de uma forma obscura...",
Neste momento tal afirmação pode ser interpretada como NÃO CONHECIMENTO DO CÓDIGO FONTE, ok, até dou razão para isto, porém seguimos a leitura: "...sem saber o que o programa faz.... "
Impossível! Eu sou o desenvolvedor e falo pra vc testar meu código na abordagem de caixa-preta, eu entrego o programa pra vc e falo :"Testa aí" somente isto, com certeza vc ficaria:"???? Ok Max eu não preciso ver o código-fonte, mas o que o sistemas faz?" Entretanto se achismos, Pressman menciona isto em seu livro [Engenharia de Software]:
"Os testes de caixa-preta são projetados para responder às seguintes questões:
....
> Que efeitos as combinações especificas de dados vão ter na operação do sistema?
> Que taxas e volumes de dados o sistema pode tolerar?"
...
Bom se você ainda ta convencido do erro da questão, a última parte: "..segundo é feito de forma clara, analisando as entradas e saídas esperadas pelo programa"
Analisar entradas e saídas é claramente um atributo da abordagem de caixa-preta e não caixa-branca, conforme menciona a alternativa.
Lembrando que o GABARITO DA QUESTÃO: ALTERNATIVA A