SóProvas


ID
3425818
Banca
IBFC
Órgão
TRE-PA
Ano
2020
Provas
Disciplina
Engenharia de Software
Assuntos

Uma das técnicas mais comuns utilizadas para o desenvolvimento/execução de testes de software é chamada de Caixa-Preta. Selecione os tipos de teste que são aplicáveis essa técnica:


A - unitário.

B - integração.

C - sistema/funcional.

D - aceitação.


Assinale a alternativa correta.

Alternativas
Comentários
  • Infelizmente a IBFC, em muitas vezes, faz um 'copia e cola' do wikipedia:

    "

    Caixa-preta

    ...

    Essa técnica é aplicável a todas as fases de teste – teste unitário, teste de integração, teste de sistema e teste de aceitação. A aplicação de critérios de teste leva o testador a produzir um conjunto de casos de teste (ou situações de teste). 

    ..."

    Fonte: https://pt.wikipedia.org/wiki/Teste_de_software#Caixa-preta

    GABARITO ALTERNATIVA D

  • Também não sabia disso:

    Seu professor está certo: o teste de unidade pode ser caixa-preta ou caixa-branca. A diferença é menos sobre o que o testador sabe, mas mais sobre como você gera casos de teste.

    Com o teste de caixa preta, você só olha para a interface e (se existir) a especificação para um componente. Quando uma função tem uma assinatura  , então eu posso gerar imediatamente alguns casos de teste apenas testando inteiros interessantes: zero, um, menos um, números com vários dígitos, INT_MAX, INT_MAX - 1 e assim por diante. Os testes de caixa preta são ótimos porque são independentes da implementação. Mas eles também podem perder casos importantes.

    Com um teste de caixa branca, analiso a implementação, ou seja, o código-fonte e gero casos de teste a partir dele. Por exemplo, talvez eu queira obter uma cobertura de caminho de 100% para uma função. Eu então escolho valores de entrada para que todos os caminhos sejam tomados. Os testes de caixa branca são ótimos porque eles podem exercer exaustivamente um pedaço de código, com muito mais confiança do que um teste de caixa preta. Mas eles podem estar testando apenas detalhes de implementação, e não um comportamento realmente importante. Em alguns casos, eles são claramente uma perda de tempo.

    Como um teste de caixa branca é derivado da implementação, ele só pode ser escrito posteriormente. Um teste de caixa preta é derivado do design / interface / especificação e, portanto, pode ser escrito antes ou depois da implementação. O TDD não é nem uma caixa preta nem uma caixa branca. Como todo comportamento é expresso pela primeira vez por um teste e, em seguida, o código mínimo para esse comportamento é implementado, o TDD resulta em casos de teste semelhantes a um teste de caixa branca. Mas quando olhamos para o fluxo de informações, os testes de TDD não são derivados do código-fonte, mas de requisitos externos. Portanto, o TDD é mais parecido com uma caixa preta.

  • Técnicas típicas de teste de caixa preta incluem:

    Testes baseados em Grafo;

    Particionamento de equivalência;

    Análise de valor limite;

    Teste de tabela de decisão;

    Teste de todos os pares;

    Tabelas de estado de transição;

    Teste de caso de uso;

  • Técnica de teste e nível de teste são definições distintas e podem ser combinadas.

    Teste unitário pode ser feito conhecendo o código interno (caixa-branca) quando se quer, por exemplo, trabalhar casos que exercitem partes específicas da implementação.

    E também pode ser feito não conhecendo o código interno (caixa-preta), testando apenas saídas da unidade através de uma interface disponível.

    Encontre algum (bom) autor sobre o assunto e poste aqui se teste unitário está vinculado estritamente a teste de caixa-preta. Eu não achei...

    Gabarito: D

  • Essa eu errei, e com gosto!