Questões de Concurso
Comentadas sobre teste de software em engenharia de software
Foram encontradas 1.353 questões
Nesse contexto, surgem metodologias que colocam os testes no centro do desenvolvimento, não apenas para verificação, mas como guia para construção do software, melhorando qualidade e alinhamento com o negócio. Em uma delas, usam-se especificações em linguagem natural, permitindo um entendimento comum entre clientes, analistas e desenvolvedores, surgindo, também, a chamada living documentation, que se mantém atualizada por ser executável como testes automatizados.
Assinale a opção que indica a metodologia em questão.
Após propor uma nova versão do fluxo, a equipe deseja avaliar, em ambiente controlado e observando diretamente, a interação do usuário, se a nova interface reduz as dificuldades de uso e melhora a taxa de conclusão da tarefa.
Nesse contexto, o método mais indicado é
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
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.
1) Orquestração de falhas, dimensionamento automático conforme a demanda e governança em todos os clusters;
2) Padronização dos ambientes locais, em que cada desenvolvedor executa a mesma imagem;
3) Inicialização das dependências reais de serviço por execução de teste, sem bancos de dados compartilhados e sem estado obsoleto.
4) Inicialização das dependências reais de serviço por execução de teste e sem bancos de dados compartilhados e sem estado obsoleto.
Marque a alternativa que representa, respectivamente, as ferramentas que podem ser usadas para cada um dos casos apresentados anteriormente:
I- Em ferramentas de teste como NUnit, testes unitários substituem a necessidade de versionamento de código-fonte, pois a rastreabilidade das alterações passa a ser garantida exclusivamente pelo histórico de execução dos testes.
II- Em TDD, a sequência clássica envolve escrever inicialmente um teste automatizado que falha, implementar o código mínimo para fazê-lo passar e, em seguida, refatorar preservando o comportamento verificado pelos testes.
III- No Domain-Driven Design, a adoção de uma linguagem ubíqua dispensa a delimitação de bounded contexts, pois um único vocabulário de domínio deve ser compartilhado integralmente por todos os módulos, subsistemas e equipes da organização.
IV- No Scrum, o incremento produzido ao final de uma Sprint deve estar potencialmente utilizável quando atende à Definition of Done, mas isso não significa que cada incremento precise ser obrigatoriamente implantado em produção ao término de toda Sprint.
Analisadas as sentenças, estão CORRETAS apenas:
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.