Questão 67581

Tecnologia da Informação · 2025

Questão

ID 67581

Disciplina: Tecnologia da Informação

Assuntos: Unidade, Componente, Módulo, Usuário

Ano: 2025 Banca: PERFIL - ENADE Órgão: Quarto Simulado Pnd


Em uma disciplina de Engenharia de Software, o professor está ensinando sobre a importância de testes automatizados e a diferença entre os níveis de teste. Ele apresenta a 'Pirâmide de Testes', de Mike Cohn, que sugere uma distribuição ideal de esforços: uma base larga de **Testes de Unidade**, uma camada intermediária menor de **Testes de Integração** (ou de Serviço), e um topo estreito de **Testes de Interface do Usuário (UI)** (ou End-to-End). Ele explica: "Os **Testes de Unidade** verificam a menor parte testável de uma aplicação, como uma função ou um método, de forma isolada. Eles são rápidos, baratos e fáceis de escrever. Os **Testes de Integração** verificam se diferentes unidades do sistema funcionam bem juntas (ex: se a aplicação consegue se comunicar corretamente com o banco de dados). Os **Testes de UI** simulam um usuário real interagindo com a aplicação através da interface gráfica. Eles são lentos, frágeis (quebram com pequenas mudanças na UI) e caros de manter." Ele então propõe o cenário de uma função Python que deveria somar dois números, mas contém um bug.

Função com bug: `def somar(a, b): return a - b`

Qual tipo de teste automatizado seria o mais apropriado, rápido e eficaz para detectar este bug?

Alternativas da questão 67581
Pular para o conteúdo principal