Questões de Concurso Sobre engenharia de software
Foram encontradas 14.872 questões
Sobre esse tipo de teste, analise as afirmativas a seguir.
I. Deve ser conduzido antes dos testes de integração e conduzido preferencialmente por uma equipe de testes.
II. Tem como objetivo confrontar o software em funcionamento com seus requisitos funcionais e não funcionais, sendo executado em um ambiente muito semelhante ao de produção.
III. Pode ser dividido em fases alfa (em ambiente de desenvolvimento) e beta (em ambiente que emula a produção) e realizado integralmente pela equipe de testes.
Está correto o que se afirma em
<script>alert('teste')</script>
Ao submeter a requisição, a aplicação retornou uma resposta que resultou na exibição de um alerta no navegador, evidenciando a execução do script inserido.
A técnica empregada caracteriza um tipo de análise de software conhecido como
Por meio de conceitos como Inversão de Controle (IoC) e Injeção de Dependências (DI), o Spring promove o baixo acoplamento entre componentes, enquanto o Spring Boot simplifica a configuração e a inicialização de projetos por meio de convenções e autoconfiguração.
Considere o seguinte trecho de código utilizando Spring Boot:
Sobre o código apresentado, considerando os conceitos do Spring Framework e o comportamento padrão do Spring Boot, assinale a afirmativa correta.
Considere uma API back-end com camadas bem definidas (controladores, serviços e repositórios). A equipe deseja estabelecer uma estratégia de testes que reduza regressões e identifique falhas tanto na lógica interna quanto na interação entre componentes, sem confundir os objetivos de cada tipo de teste.
Assinale a alternativa que descreve corretamente a diferença entre testes unitários e testes de integração nesse cenário.
O versionamento de código é uma prática essencial no desenvolvimento de sistemas modernos, especialmente em projetos colaborativos. Ferramentas como o Git permitem o controle histórico das alterações, o trabalho simultâneo de múltiplos desenvolvedores e a rastreabilidade das mudanças realizadas ao longo do ciclo de vida do software, reduzindo conflitos e facilitando manutenção e auditoria.
Considere uma equipe de desenvolvimento back-end que trabalha de forma colaborativa em um repositório Git, realizando alterações frequentes no código de uma API corporativa. Nesse contexto, assinale a alternativa que descreve corretamente uma prática adequada de uso do Git para garantir controle de versões e colaboração eficiente entre os membros da equipe
A adoção de práticas DevOps busca reduzir o tempo entre a mudança no código e a disponibilização confiável em produção, promovendo colaboração entre desenvolvimento e operações. Nesse contexto, pipelines de CI/CD automatizam etapas como compilação, testes, análise de qualidade e implantação, diminuindo erros humanos e aumentando previsibilidade do processo de entrega, especialmente em equipes que trabalham com mudanças frequentes no back-end.
Considere uma equipe que mantém uma API back-end com atualizações semanais. A equipe deseja reduzir falhas em produção e garantir que cada alteração enviada ao repositório passe por validações automáticas antes de ser implantada. Assinale a alternativa que descreve corretamente uma prática coerente com CI/CD para atingir esse objetivo, minimizando riscos e retrabalho.
I. A estratégia de ramificação deve reduzir conflitos de integração e favorecer integração frequente ao tronco principal.
II. As mudanças no esquema do banco de dados devem ser versionadas, automatizadas e reversíveis.
III. A segurança deve ser integrada desde as etapas iniciais do pipeline, incluindo análise automatizada de vulnerabilidades e dependências.
Considerando essas premissas e as boas práticas de gestão da configuração e entrega de software, assinale a alternativa correspondente.
(PÁDUA FILHO, Wilson de. Engenharia de software: projetos e processos. 4. ed. Rio de Janeiro: LTC, 2019. pág. 74.)
Considerando os princípios de coesão, acoplamento e separação de responsabilidades aplicados à qualidade de software, assinale a afirmativa correta.
• Relacionamentos entre casos de uso;
• Fragmentos combinados em diagramas de sequência;
• Composição entre objetos; e
• Navegabilidade e acoplamento entre classes.
Em relação à especificação UML e aos conceitos de modelagem orientada a objetos, assinale a afirmativa correta.
I - Tudo no Git passa por uma soma de verificação (checksum) antes de ser armazenado e é referenciado por esse checksum.
II - “preparado” significa que os dados estão armazenados de forma segura em seu banco de dados local
III - O diretório Git é onde o Git armazena os metadados e o banco de dados de objetos de seu projeto.
Das afirmativas acima, qual(is) está(ão) correta(s)?
I. O Scrum Master atua como um escudo para o time, removendo impedimentos e protegendo a equipe de interferências externas que possam comprometer o foco da Sprint.
II. Cabe exclusivamente ao Scrum Master a definição das prioridades do Backlog do Produto e a negociação com as partes interessadas (stakeholders).
III. É responsabilidade do Scrum Master assegurar que os eventos e processos definidos pelo framework sejam compreendidos e seguidos por todos os envolvidos.
Das afirmativas acima, qual(is) está(ão) correta(s)?
I. Os diagramas de sequência têm como objetivo primordial representar a estrutura estática dos dados, exibindo entidades, seus respectivos atributos e os relacionamentos de associação entre elas.
II. Embora não exista na UML um diagrama dedicado exclusivamente à modelagem física de bancos de dados, o diagrama de classes é frequentemente utilizado para modelar estruturas de dados e suas relações.
III. Na notação de um diagrama de classes, uma classe é representada por um retângulo, o qual pode ser subdividido em compartimentos para especificar seus atributos e operações.
Das afirmativas acima, qual(is) está(ão) correta(s)?
Assinale a afirmativa INCORRETA.
Considere as afirmações, avaliando quais são verdadeiras e quais são falsas.
(_) O modelo cascata é mais adequado quando os requisitos do sistema estão bem definidos e são estáveis desde o início do projeto.
(_) Em contextos em que os requisitos mudam frequentemente, modelos iterativos ou incrementais tendem a ser mais apropriados que o modelo cascata.
(_) O modelo cascata é altamente recomendado para projetos em que os requisitos são incertos, pois permite revisões constantes em qualquer fase anterior do processo.
(_) Em contextos em que os requisitos mudam frequentemente, modelos iterativos ou incrementais tendem a ser mais apropriados que o modelo cascata.
A sequência CORRETA, de cima para baixo, é