Questão de Engenharia de Software — Conceitos e Tipos de Testes de Software — INSTITUTO AOCP 2024
Engenharia de Software›Conceitos e Tipos de Testes de Software
Código
qa631569
Banca
INSTITUTO AOCP
Órgão
SEAP PR
Ano
2024
Cargo
Ag Prof ( )
Como profissional de TI do Poder Executivo do Estado do Paraná, você está responsável por testar um software em desenvolvimento, e o próximo teste a ser realizado será o de integração. Diante disso, assinale a alternativa que melhor descreve o teste de integração.
AVerifica a corretude de unidades individuais do código, como funções ou métodos.
BGarante que as alterações recentes não afetem negativamente as funcionalidades existentes.
CAvalia o desempenho e a capacidade de resposta do sistema sob diferentes condições de carga.
DIdentifica vulnerabilidades e garante que o sistema seja resistente a ataques.
EVerifica a interação entre diferentes módulos ou sistemas.
Revelar gabarito e comentário▾
GabaritoE — Verifica a interação entre diferentes módulos ou sistemas.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Teste de Integração: conceito e níveis de teste
Gabarito: letra E. O teste de integração verifica a interação entre diferentes módulos ou sistemas, focando em descobrir erros associados às interfaces entre componentes que já foram testados individualmente. Essa é a definição clássica da Engenharia de Software, presente em autores como Pressman e Sommerville, e é exatamente o que a alternativa E descreve.
O teste de software é organizado em níveis, cada um com um objetivo específico e um escopo diferente. O teste de unidade (ou unitário) verifica a menor parte testável do código, como uma função ou método, de forma isolada. O teste de integração, por sua vez, verifica se esses componentes, já testados isoladamente, funcionam corretamente quando combinados, ou seja, se a interação entre eles (as interfaces) está correta. O teste de sistema avalia o software como um todo, verificando se ele atende aos requisitos funcionais e não funcionais. Por fim, o teste de aceitação é realizado pelo cliente ou usuário final para validar se o sistema atende às suas necessidades.
A distinção entre os níveis é crucial: enquanto o teste de unidade foca em "cada peça isolada", o teste de integração foca em "como as peças se encaixam". Um erro comum é confundir o teste de integração com o teste de regressão. O teste de regressão é um tipo de teste que pode ser aplicado em qualquer nível (unidade, integração, sistema) e tem como objetivo garantir que alterações recentes no código não introduziram novos defeitos em funcionalidades que já funcionavam. Já o teste de integração é um nível de teste específico, que verifica a interação entre módulos.
Na prática, imagine um sistema de comércio eletrônico com módulos de "carrinho de compras" e "pagamento". O teste de unidade verifica se a função de calcular o total do carrinho está correta. O teste de integração verifica se, ao finalizar a compra, o módulo de carrinho consegue enviar os dados corretamente para o módulo de pagamento e se este processa a transação adequadamente. A falha pode estar na interface entre eles, como um formato de dados incompatível ou uma chamada de função incorreta.
A banca explora a confusão entre os diferentes níveis e tipos de teste. Cada alternativa incorreta descreve um outro tipo de teste, e o candidato que não domina as definições acaba marcando uma delas. A chave é identificar a palavra-chave de cada alternativa e associá-la ao conceito correto.
Níveis de teste
1Unidade
Função/método isolado
2Integração
Interação entre módulos
3Sistema
Software completo
4Aceitação
Validação pelo cliente
5Tipos de teste (transversais)
Regressão
Alterações não afetam o que já funcionava
Desempenho
Carga e capacidade de resposta
Segurança
Vulnerabilidades e resistência a ataques
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Esta alternativa descreve o teste de unidade (ou unitário), que verifica a corretude de unidades individuais do código, como funções ou métodos, de forma isolada. O teste de integração, ao contrário, verifica a interação entre essas unidades, não a corretude de cada uma individualmente.
Alternativa B — ❌ Incorreta
Esta alternativa descreve o teste de regressão, que garante que as alterações recentes não afetem negativamente as funcionalidades existentes. O teste de regressão é um tipo de teste que pode ser aplicado em qualquer nível, mas não é o foco do teste de integração, que verifica a interação entre módulos.
Alternativa C — ❌ Incorreta
Esta alternativa descreve o teste de desempenho (ou de carga/estresse), que avalia o desempenho e a capacidade de resposta do sistema sob diferentes condições de carga. O teste de integração não tem como foco o desempenho, mas sim a corretude da interação entre módulos.
Alternativa D — ❌ Incorreta
Esta alternativa descreve o teste de segurança, que identifica vulnerabilidades e garante que o sistema seja resistente a ataques. O teste de integração não tem como foco a segurança, mas sim a corretude da interação entre módulos.
Alternativa E — ✅ Correta ⟵ GABARITO
Esta alternativa descreve corretamente o teste de integração, que verifica a interação entre diferentes módulos ou sistemas. O objetivo é descobrir erros associados às interfaces entre componentes que já foram testados individualmente, garantindo que a comunicação entre eles esteja correta.
PEGA ESSA DICA!
Para diferenciar os níveis de teste na prova, foque na palavra-chave de cada um: unidade = função/método isolado; integração = interação entre módulos; sistema = software completo; aceitação = validação pelo cliente. Já os tipos de teste (regressão, desempenho, segurança) são transversais e podem ser aplicados em qualquer nível.