Questões de Concurso
Comentadas sobre teste de software em engenharia de software
Foram encontradas 1.353 questões
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.
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:
I. Testes de Regressão automatizados são cruciais para garantir que novas funcionalidades ou correções de bugs não tenham introduzido efeitos colaterais indesejados em partes do sistema que antes funcionavam corretamente. II. O Test-Driven Development (TDD) é uma prática em que os testes automatizados são escritos depois que o código de produção está completamente finalizado, servindo apenas como uma forma de documentar o comportamento do sistema. III. A automação de testes elimina completamente a necessidade de testes manuais, pois os scripts automatizados são capazes de cobrir 100% dos cenários de uso, incluindo testes de usabilidade e exploratórios, que avaliam a experiência do usuário.
Está correto o que se afirma em:
Durante o desenvolvimento de um sistema de gestão de financiamentos em uma agência de fomento governamental, a equipe de qualidade foi responsável por planejar a estratégia de testes do software. Após a implementação dos módulos do sistema, como cadastro de solicitantes, análise de crédito, gestão de contratos e geração de relatórios, a equipe decidiu realizar um teste em que todos os módulos foram integrados simultaneamente, sem nenhuma integração parcial ou incremental, formando o sistema completo, para então verificar o funcionamento conjunto de todos os componentes de uma única vez. Considerando os conceitos de testes de software, a abordagem de teste de integração descrita no caso é denominada:
Os testes funcionais compõem uma categoria essencial na estratégia de qualidade de software, sendo amplamente utilizados para verificar a conformidade do sistema com seus requisitos. Diante disso, analise as afirmativas a seguir sobre testes funcionais e suas técnicas:
II. A técnica de particionamento de equivalência divide o domínio de entrada em grupos de valores que devem ser tratados de forma idêntica pelo sistema, permitindo reduzir o número de casos de teste sem comprometer a cobertura dos cenários representativos.
III. Testes funcionais e testes de unidade são equivalentes em escopo e propósito, pois avaliam o comportamento do sistema sob a perspectiva do usuário final, sem analisar detalhes de implementação.
IV. A análise de valor limite é uma técnica de teste funcional que concentra os casos de teste nos extremos das classes de equivalência, como valores imediatamente abaixo, exatamente no limite e imediatamente acima dele, em que a probabilidade de ocorrência de erros é maior.
Estão CORRETAS:
Analise as afirmativas abaixo e assinale a alternativa INCORRETA:
I. A verificação tem como objetivo assegurar que o software está sendo desenvolvido corretamente, em conformidade com as especificações e requisitos definidos nas fases anteriores.
II. A validação busca confirmar se o software desenvolvido atende às necessidades reais e ao uso pretendido pelo usuário final (o "produto certo").
III. Testes de aceitação, realizados com a participação do usuário ou cliente, são atividades que caracterizam exclusivamente a verificação de software.
IV. Revisões técnicas formais e inspeções de artefatos (como documentos de requisitos e diagramas) são técnicas tipicamente associadas à verificação de software.
Está CORRETO o que se afirma em:
Um órgão público iniciou o desenvolvimento de um novo sistema para gestão de processos administrativos digitais. Durante o projeto, a equipe enfrentou dificuldades relacionadas à definição do escopo, mudanças frequentes solicitadas pelos usuários e inconsistências entre documentação e funcionalidades implementadas. Considerando princípios de engenharia de software, especialmente no que se refere ao levantamento de requisitos, estratégias de teste e documentação técnica, analise as assertivas a seguir e assinale V (verdadeiro) ou F (falso):
(__) O levantamento de requisitos envolve identificação de necessidades dos stakeholders, podendo utilizar entrevistas, observação do ambiente de trabalho e análise de documentos institucionais.
(__) Requisitos funcionais descrevem restrições de desempenho, segurança e usabilidade, enquanto requisitos não funcionais detalham comportamentos específicos do sistema.
(__) A rastreabilidade de requisitos auxilia na verificação de que cada requisito identificado possui correspondência nas etapas de desenvolvimento e testes.
(__) Testes de sistema buscam avaliar o comportamento do software como um todo, considerando integração entre componentes e aderência aos requisitos especificados.
(__) A documentação técnica perde relevância após a fase de implementação, pois a manutenção evolutiva baseia-se predominantemente na leitura direta do código-fonte.
(__) Mudanças em requisitos ao longo do projeto podem demandar reavaliação de impactos, inclusive sobre cronograma, arquitetura e casos de teste.
Assinale a alternativa que apresenta a sequência correta de V (verdadeiro) e F (falso):