Prévia do material em texto
Testes unitários O que sao testes unitarios? a) Testes realizados para verificar a integracao de diferentes sistemas. b) Testes que verificam se as partes individuais de um programa funcionam conforme o esperado. c) Testes realizados para garantir que o sistema esta funcionando como um todo. d) Testes que garantem que a interface de usuario e intuitiva. Resposta correta: b) Explicacao: Testes unitarios sao testes de baixo nivel que se concentram em validar pequenas unidades de codigo, geralmente funcoes ou metodos, para garantir que eles se comportem corretamente. Qual a principal vantagem de se escrever testes unitarios? a) Aumentar a quantidade de codigo no projeto. b) Garantir que o sistema esteja livre de bugs de integracao. c) Melhorar a qualidade do codigo e permitir a deteccao precoce de erros. d) Tornar o sistema mais lento durante a execucao. Resposta correta: c) Explicacao: A principal vantagem dos testes unitarios e que eles ajudam a detectar erros e falhas logo no inicio do processo de desenvolvimento, melhorando a qualidade do codigo e tornando mais facil a manutencao do sistema. Qual e a caracteristica principal de um bom teste unitario? a) Ele deve testar o sistema como um todo. b) Ele deve testar unidades especificas de codigo isoladas de outras dependencias. c) Ele deve ser executado apenas quando o sistema esta completamente pronto. d) Ele deve ser escrito em uma linguagem de programacao especifica. Resposta correta: b) Explicacao: O bom teste unitario se concentra em testar unidades pequenas e isoladas do sistema, garantindo que cada parte do codigo funcione corretamente antes de ser integrada ao restante do sistema. Como os testes unitarios ajudam no processo de refatoracao de codigo? a) Garantindo que o codigo seja executado corretamente apos mudancas, sem introduzir novos erros. b) Ajudando a melhorar a documentacao do codigo. c) Tornando o codigo mais dificil de ser alterado. d) Eliminando a necessidade de testes manuais. Resposta correta: a) Explicacao: Os testes unitarios garantem que, ao refatorar o codigo, o comportamento da aplicacao nao seja alterado, ajudando a identificar rapidamente se uma mudanca introduziu novos erros ou quebras. Quais das alternativas abaixo sao boas praticas ao escrever testes unitarios? a) Criar testes complexos que cobrem o maximo de casos possiveis de uma vez. b) Escrever testes curtos, simples e focados em uma unica funcionalidade. c) Evitar o uso de mocks ou stubs, pois eles podem interferir no teste. d) Escrever testes apenas quando um bug for identificado no sistema. Resposta correta: b) Explicacao: Boas praticas de testes unitarios incluem a escrita de testes simples e focados, que validem uma unica funcionalidade por vez, o que facilita a manutencao e a identificacao de problemas. O que sao mocks em testes unitarios? a) Testes que verificam o comportamento de componentes internos do sistema. b) Objetos simulados usados para substituir dependencias externas durante o teste de unidades. c) Ferramentas de monitoramento de codigo. d) Tecnicas de depuracao para encontrar falhas em tempo de execucao. Resposta correta: b) Explicacao: Mocks sao objetos simulados usados para substituir dependencias externas no teste de unidades, permitindo testar a funcionalidade sem depender de recursos como banco de dados, APIs externas ou outros servicos. Quando deve-se escrever testes unitarios durante o desenvolvimento de software? a) Apenas depois que o sistema estiver completamente desenvolvido. b) Antes de comecar a escrever o codigo-fonte, ou enquanto o codigo e desenvolvido (pratica do TDD). c) Somente quando o cliente exigir que todos os requisitos sejam testados. d) Durante a fase de homologacao, antes da entrega final. Resposta correta: b) Explicacao: A pratica recomendada e escrever testes unitarios enquanto o codigo e desenvolvido, ou ate antes, como no caso do Test Driven Development (TDD), onde os testes sao escritos antes do codigo-fonte. Qual ferramenta e comumente usada para realizar testes unitarios em Java? a) Jest b) JUnit c) Selenium d) Mocha Resposta correta: b) Explicacao: O JUnit e a ferramenta mais amplamente utilizada para realizar testes unitarios em Java. Ele oferece uma estrutura facil de usar para escrever e executar testes automatizados. O que caracteriza um "teste falho" em testes unitarios? a) O teste passou, mas o codigo ainda contem erros. b) O teste nao foi executado corretamente. c) O teste nao conseguiu validar a funcionalidade desejada, indicando que o codigo esta com problemas. d) O teste foi executado sem problemas, mas sem fornecer resultados. Resposta correta: c) Explicacao: Um "teste falho" ocorre quando o comportamento do codigo nao corresponde ao esperado, indicando que ha um problema no codigo que precisa ser corrigido. O que e TDD (Test Driven Development)? a) Uma metodologia onde o codigo e escrito sem a necessidade de testes. b) Uma abordagem onde os testes sao escritos antes do codigo-fonte, guiando o desenvolvimento. c) Um processo onde o codigo e escrito primeiro, e os testes sao adicionados posteriormente. d) Um metodo de desenvolvimento onde nao ha necessidade de testes unitarios. Resposta correta: b) Explicacao: O Test Driven Development (TDD) e uma pratica de desenvolvimento onde os testes sao escritos antes do codigo. O ciclo e: escrever um teste, escrever o codigo para passar o teste, e depois refatorar o codigo. Qual e a relacao entre testes unitarios e o conceito de "caixa preta" nos testes? a) Testes unitarios sao realizados com base em dados de entrada e saida, sem se preocupar com a implementacao interna do sistema, como no conceito de "caixa preta". b) Testes unitarios focam em verificar o codigo interno, enquanto os testes de caixa preta nao lidam com o comportamento do sistema. c) Nao ha relacao entre esses conceitos. d) Testes unitarios sao uma forma de teste "caixa branca", ja que examinam internamente o funcionamento do codigo. Resposta correta: d) Explicacao: Testes unitarios sao uma forma de teste "caixa branca", ou seja, eles focam em verificar a implementacao interna do codigo e o comportamento das unidades isoladas, ao contrario dos testes de caixa preta, que se concentram nas entradas e saidas sem considerar a implementacao interna. Qual e o impacto dos testes unitarios no processo de integracao continua (CI)? a) Eles sao desnecessarios para o processo de integracao continua, ja que o CI lida com outros tipos de testes. b) Testes unitarios ajudam a garantir que o codigo que esta sendo integrado ao repositorio nao quebre funcionalidades existentes. c) Eles fazem com que o codigo de integracao continua seja mais lento e dificil de gerenciar. d) Testes unitarios sao executados apenas em ambientes de producao, nao sendo relevantes para a integracao continua. Resposta correta: b) Explicacao: Testes unitarios sao fundamentais para a integracao continua, pois garantem que as partes individuais do sistema continuem funcionando corretamente ao serem integradas, evitando que falhas sejam introduzidas no codigo compartilhado. Qual e o papel dos testes unitarios em sistemas de desenvolvimento agil? a) Garantir que o sistema seja entregue sem erros de integracao. b) Ajudar a equipe a validar rapidamente as funcionalidades e permitir alteracoes frequentes no codigo sem introduzir novos bugs. c) Substituir completamente os testes de integracao e aceitacao. d) Validar que o codigo foi escrito de acordo com as especificacoes detalhadas do cliente. Resposta correta: b) Explicacao: Em metodologias ageis, os testes unitarios ajudam a validar rapidamente as funcionalidades em desenvolvimento, garantindo que mudancas frequentes no codigo nao introduzam novos erros, o que facilita o ciclo de feedback rapido tipico dessas metodologias. Como a cobertura de codigo pode ser medida em testes unitarios? a) Por meio do numero de linhas de codigo que possuem testes. b) Pela quantidadede erros encontrados nos testes unitarios. c) Medindo a porcentagem de codigo executado durante a execucao dos testes unitarios. d) Pela quantidade de casos de teste passados versus falhados. Resposta correta: c) Explicacao: A cobertura de codigo pode ser medida pela porcentagem de codigo que e executado durante a execucao dos testes unitarios, o que ajuda a identificar areas do codigo que ainda nao foram suficientemente testadas. Por que testes unitarios sao importantes para a manutencao de sistemas? a) Eles garantem que o sistema continue funcionando conforme o esperado, mesmo apos alteracoes