Questões de Concurso
Sobre teste de software em engenharia de software
Foram encontradas 1.425 questões
Associe os níveis de teste às respectivas características.
1. Teste de integração.
2. Teste unitário.
3. Teste de sistema.
( ) O ideal é que seja conduzido pelos próprios desenvolvedores, para prevenir o aparecimento de falhas logo no início.
( ) Avalia o comportamento do software como um todo, agindo sobre todas as camadas de forma unificada.
( ) Foca nas interfaces de comunicação e na troca de informações entre as partes internas ou com APIs externas.
( ) Recomenda-se que seja executado por uma equipe de testes independente, e não pelos desenvolvedores, para evitar testes "viciados" que mascarem falhas.
Assinale a opção que indica a relação correta, na ordem apresentada.
Sobre os processos de verificação, validação e testes de software descritos por Sommerville, informe verdadeiro (V) ou falso (F) para as assertivas abaixo e, em seguida, marque a opção que apresenta a sequência correta.
( ) A validação tem como objetivo demonstrar que o sistema está em conformidade com sua especificação (o sistema foi construído corretamente?).
( ) O Teste de Unidade foca no teste de componentes individuais, como funções ou métodos de classes, de forma isolada.
( ) O Teste de Aceitação é uma fase de teste de sistema na qual os usuários finais testam o software para decidir se ele está pronto para implantação.
( ) O Teste de Regressão consiste em executar novamente testes anteriores para garantir que mudanças recentes no código não introduziram novos defeitos.
I. Teste de integração II. Teste de aceitação III. Teste de unidade IV. Teste de sistema
A ordem correta de execução desses quatro tipos de teste, para que o processo de testes seja adequadamente realizado, é
Com base nos conceitos de teste de software assinale a alternativa CORRETA.
I.O Canary Deployment consiste em liberar uma nova versão do sistema para um subconjunto de usuários ou servidores antes da liberação completa.
II.Essa estratégia permite monitorar métricas como taxa de erro e desempenho em produção, possibilitando rollback com impacto reduzido em caso de falhas.
III.O Canary Deployment requer mecanismos de controle de tráfego (como balanceadores de carga ou feature flags ) para direcionar apenas parte das requisições para a nova versão.
É correto o que se afirma em:
( ) O TDD segue um ciclo curto que envolve escrever um teste, fazê-lo falhar e implementar o código mínimo.
( ) No TDD, os testes podem ser utilizados como documentação viva do comportamento esperado do código.
( ) O TDD recomenda que o desenvolvedor escreva apenas o código suficiente para fazer o teste passar.
( ) A utilização de TDD elimina totalmente a necessidade de testes automatizados adicionais no projeto.
A sequência correta de passos no ciclo Red-Green-Refactor do TDD é:
( ) O teste unitário tem por finalidade avaliar o sistema completo e integrado, verificando sua conformidade com os requisitos especificados.
( ) O teste de integração tem como objetivo identificar falhas na comunicação e na interação entre módulos ou componentes do sistema.
( ) O teste de regressão é realizado após modificações no sistema, com o propósito de verificar se funcionalidades previamente implementadas continuam operando corretamente.
( ) O teste caixa branca fundamenta-se na análise da estrutura interna do código, considerando fluxos lógicos, decisões e caminhos de execução.
Uma universidade possui um sistema acadêmico desenvolvido em PHP com framework próprio. Atualmente, o deploy é feito manualmente via FTP (File Transfer Protocol) para o servidor de produção. Em períodos de matrícula, erros de publicação causam indisponibilidade do sistema. A equipe decidiu implementar um pipeline de CI/CD (Integração Contínua/Implantação Contínua). O repositório está no GitLab e os servidores utilizam Linux. É obrigatório garantir: versionamento rastreável, execução automática de testes antes do deploy e controle formal sobre liberações para produção.
Assinale a alternativa que atende de forma CORRETA aos requisitos técnicos e de governança para o novo processo de deploy:
Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.
Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.
Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.
I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.
II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.
III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.
IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.
Assinale a alternativa CORRETA:
Assinale a alternativa correta considerando os princípios dos testes de caixa branca.
Acerca da UML (Unified Modeling Language) e dos fundamentos de teste de software, julgue o item seguinte.
De acordo com o princípio do early testing, o planejamento das atividades de teste deve ter início nas fases iniciais do desenvolvimento, o que tende a reduzir o custo e o esforço de correção de defeitos.
Acerca da UML (Unified Modeling Language) e dos fundamentos de teste de software, julgue o item seguinte.
Nos testes de caixa‑branca, os casos de teste são elaborados com base no conhecimento da estrutura interna e da lógica de implementação do componente avaliado.
Acerca da UML (Unified Modeling Language) e dos fundamentos de teste de software, julgue o item seguinte.
Um teste unitário, por avaliar a menor unidade testável de software, não deve empregar objetos simulados ou dublês de teste para isolar dependências externas, sob pena de descaracterizar a sua natureza.
Com base nos fundamentos da engenharia de software, julgue o item a seguir.
Nos testes de caixa‑preta, a elaboração de casos de teste pode basear‑se na especificação funcional esperada do sistema, independentemente do conhecimento da estrutura interna do código.
I.Testes negativos utilizam entradas inválidas, inesperadas ou fora das regras de negócio para verificar a robustez do sistema.
II.Em um teste negativo, espera-se que o sistema trate o erro de forma controlada, sem falhas ou comportamentos inesperados.
III.Testes negativos são aqueles em que o sistema deve falhar obrigatoriamente para que o teste seja considerado bem-sucedido.
É correto o que se afirma em:
I.O esforço de teste deve ser distribuído igualmente entre todas as funcionalidades, garantindo cobertura uniforme do sistema.
II.A seleção de casos de teste deve priorizar cenários críticos de negócio e combinações representativas de dados, em vez de tentar cobrir todas as possibilidades.
III.Técnicas como particionamento de equivalência e análise de valor limite são utilizadas para reduzir o número de testes mantendo boa cobertura funcional.
É correto o que se afirma em: