Logo Passei Direto
Material
Study with thousands of resources!

Text Material Preview

Testes unitários
O que e um teste unitario?
a) Teste que verifica a interacao entre diferentes modulos do sistema
b) Teste realizado em um unico modulo ou unidade do codigo
c) Teste de integracao que envolve multiplos sistemas
d) Teste de aceitacao feito pelo usuario final
Resposta correta: b) Teste realizado em um unico modulo ou unidade do codigo
Explicacao: O teste unitario foca em verificar o funcionamento de uma pequena unidade ou funcao
do codigo, geralmente isolando o comportamento de um unico bloco de codigo.
Qual das alternativas abaixo descreve corretamente a importancia dos testes unitarios?
a) Eles servem para validar o comportamento do sistema como um todo
b) Sao usados para verificar a conformidade com os requisitos do cliente
c) Garantem que funcoes e metodos individuais funcionem corretamente, sem dependencias
externas
d) Sao apenas importantes em sistemas de grande escala
Resposta correta: c) Garantem que funcoes e metodos individuais funcionem corretamente, sem
dependencias externas
Explicacao: Os testes unitarios focam em testar componentes isolados do sistema, sem considerar
o contexto completo da aplicacao.
O que e Mocking em testes unitarios?
a) Ato de testar toda a aplicacao de uma vez
b) Substituicao de componentes reais por versoes simuladas para isolar testes
c) Processo de adicionar novos testes automaticamente
d) Tecnica para verificar a integridade de dados no banco de dados
Resposta correta: b) Substituicao de componentes reais por versoes simuladas para isolar testes
Explicacao: O Mocking e utilizado para substituir objetos reais por versoes falsas ou simuladas,
facilitando o teste de uma parte isolada do codigo sem depender de componentes externos.
Qual e a principal vantagem de automatizar os testes unitarios?
a) Permite testar manualmente varias funcionalidades
b) Garante a execucao do codigo de forma mais rapida e consistente
c) Elimina a necessidade de um desenvolvedor para escrever codigo
d) Faz com que os testes sejam mais complexos
Resposta correta: b) Garante a execucao do codigo de forma mais rapida e consistente
Explicacao: Automatizar os testes unitarios permite que sejam executados de forma rapida e
repetitiva, sem a necessidade de intervencao manual, o que aumenta a consistencia dos
resultados.
O que significa "Test-Driven Development" (TDD)?
a) Desenvolvimento realizado sem a necessidade de testes unitarios
b) Desenvolvimento baseado na escrita de testes antes de implementar a funcionalidade
c) Testes realizados somente no final do ciclo de desenvolvimento
d) Tecnica em que o codigo e escrito sem garantir que seja testavel
Resposta correta: b) Desenvolvimento baseado na escrita de testes antes de implementar a
funcionalidade
Explicacao: No TDD, os desenvolvedores escrevem testes unitarios antes de escrever o codigo da
funcionalidade, garantindo que cada parte do codigo seja testada a medida que e desenvolvida.
Quais das alternativas abaixo e um beneficio de usar TDD?
a) Elimina todos os erros de codigo automaticamente
b) Facilita a manutencao do codigo e garante maior cobertura de testes
c) Faz com que os testes sejam mais rapidos do que o desenvolvimento normal
d) Nao exige refatoracao do codigo durante o desenvolvimento
Resposta correta: b) Facilita a manutencao do codigo e garante maior cobertura de testes
Explicacao: O TDD ajuda a garantir que o codigo seja testado de forma continua, o que melhora a
qualidade geral e facilita a manutencao, pois permite detectar e corrigir erros rapidamente.
Em qual das situacoes e mais util o uso de testes unitarios?
a) Quando ha necessidade de testar a interacao entre diferentes sistemas
b) Para verificar a precisao de um unico algoritmo ou funcao
c) Ao testar a performance de uma aplicacao em producao
d) Durante a verificacao do comportamento do usuario
Resposta correta: b) Para verificar a precisao de um unico algoritmo ou funcao
Explicacao: Testes unitarios sao ideais para verificar o funcionamento correto de funcoes e
algoritmos isolados.
Qual e a principal diferenca entre testes unitarios e testes de integracao?
a) Testes unitarios verificam o sistema como um todo, enquanto testes de integracao verificam
unidades individuais
b) Testes de integracao sao mais rapidos e simples que testes unitarios
c) Testes unitarios verificam funcionalidades isoladas, enquanto testes de integracao validam a
comunicacao entre varias unidades
d) Nao ha diferenca significativa entre ambos os tipos de testes
Resposta correta: c) Testes unitarios verificam funcionalidades isoladas, enquanto testes de
integracao validam a comunicacao entre varias unidades
Explicacao: Os testes unitarios sao realizados em partes isoladas do codigo, enquanto os testes de
integracao verificam como essas partes interagem entre si.
O que significa o termo "cobertura de testes"?
a) A quantidade de linhas de codigo que sao testadas durante a execucao dos testes
b) O numero de testes executados no sistema
c) A complexidade do codigo verificado pelos testes
d) A quantidade de bugs encontrados durante os testes
Resposta correta: a) A quantidade de linhas de codigo que sao testadas durante a execucao dos
testes
Explicacao: A cobertura de testes refere-se a proporcao do codigo que e exercitada pelos testes, o
que ajuda a identificar areas que nao estao sendo testadas.
Qual e o conceito por tras do "refactoring" no contexto de testes unitarios?
a) Melhorar a velocidade de execucao dos testes
b) Modificar o codigo de testes para torna-lo mais claro, sem alterar seu comportamento
c) Excluir testes antigos e substitui-los por novos
d) Alterar o codigo de producao para melhorar a legibilidade
Resposta correta: b) Modificar o codigo de testes para torna-lo mais claro, sem alterar seu
comportamento
Explicacao: Refatoracao e o processo de melhorar o codigo sem mudar sua funcionalidade, e isso
tambem se aplica aos testes unitarios, tornando-os mais legiveis e eficientes.
Qual das alternativas representa um bom exemplo de "assert" em um teste unitario?
a) Verificar se uma lista esta vazia
b) Validar se uma funcao foi chamada corretamente
c) Verificar se uma variavel tem o valor esperado
d) Medir o tempo de execucao de uma funcao
Resposta correta: c) Verificar se uma variavel tem o valor esperado
Explicacao: O "assert" e usado para garantir que um valor esperado seja realmente o valor obtido
durante a execucao do codigo.
Quais dos seguintes frameworks podem ser usados para escrever testes unitarios em Java?
a) Jest e Mocha
b) JUnit e TestNG
c) PyTest e Unittest
d) RSpec e Cucumber
Resposta correta: b) JUnit e TestNG
Explicacao: JUnit e TestNG sao dois dos frameworks mais comuns para escrever testes unitarios
em Java.
Qual e o proposito do "coverage report" nos testes unitarios?
a) Mostrar quais testes passaram e quais falharam
b) Apresentar um relatorio de desempenho do sistema
c) Indicar quais partes do codigo nao foram testadas
d) Gerar um codigo mais eficiente
Resposta correta: c) Indicar quais partes do codigo nao foram testadas
Explicacao: O "coverage report" e utilizado para identificar as areas do codigo que nao foram
cobertas pelos testes, ajudando a melhorar a cobertura de testes.
O que caracteriza um "teste flakey"?
a) Um teste que falha de forma consistente em todos os ambientes
b) Um teste que passa ou falha de forma inconsistente
c) Um teste que e muito dificil de executar
d) Um teste que e muito rapido e sempre passa
Resposta correta: b) Um teste que passa ou falha de forma inconsistente
Explicacao: Testes flakey sao aqueles que podem falhar em algumas execucoes e passar em
outras, sem uma razao clara, o que dificulta a identificacao de problemas reais no codigo.
O que significa a tecnica de "Test Doubles" nos testes unitarios?
a) Criar multiplos testes para o mesmo codigo
b) Substituir a funcionalidade real por um substituto para fins de teste
c) Escrever dois testes para o mesmo cenario
d) Dividir um teste longo em dois testesmenores
Resposta correta: b) Substituir a funcionalidade real por um substituto para fins de teste
Explicacao: "Test Doubles" sao objetos usados para substituir componentes reais em um teste
unitario, como Mocks, Stubs ou Fakes, para isolar a parte do codigo que esta sendo testada.
Quando e apropriado realizar testes unitarios?
a)