Questões de Concurso
Sobre desenvolvimento de software em engenharia de software
Foram encontradas 1.013 questões
I. O Git trabalha com uma estrutura de árvores em três níveis: work directory, stage (ou index) e head. II. O comando git commit serve para enviar as alterações locais a um repositório remoto. III. O comando git pull é equivalente ao comando git fetch seguido do comando git merge. IV. O comando git reset serve para desfazer alterações, sem alterar a referência head. V. O comando git checkout pode ser utilizado para trocar de uma branch para outra.
Analise o diagrama de sequência a seguir.
VALENTE, M. T. Engenharia de Software Moderna: princípios e práticas para desenvolvimento de software com produtividade. 2020.
De acordo com o diagrama, assinale a alternativa correta.
O desenvolvimento de software envolve um conjunto de atividades de produção que estão sujeitas a falhas humanas. Para se reduzir o risco de entrega de um produto de software com falhas ou defeitos, é necessário que o processo de desenvolvimento de software seja acompanhado por uma atividade de garantia de qualidade. Na garantia de qualidade, um elemento crítico é a atividade de teste de software, destinada a descobrir os erros, falhas ou defeitos do software antes do seu uso, bem como mostrar que os requisitos do produto de software foram cumpridos e que ele faz o que é proposto a fazer. Considerando as abordagens e técnicas empregadas no teste de software analise as asserções a seguir.
I. Uma das abordagens do teste de software concentra-se nos requisitos funcionais do software, que procuram derivar conjuntos de condições de entrada, que permitam avaliar todos os requisitos funcionais do software. Os métodos empregados nessa abordagem procuram identificar funções incorretas ou ausentes, erros de interfaces, erros nas estruturas de dados ou no acesso a bancos de dados externos, erros de desempenho e erros de inicialização e término.
II. Uma técnica empregada para avaliação dos requisitos funcionais é o Teste de Caminho Básico, o qual possibilita o exame de detalhes procedimentais do projeto por meio da definição de um conjunto básico de caminhos de execução. A partir deste conjunto básico, são derivados casos de testes, garantindo executar cada instrução do programa pelo menos uma vez durante a atividade de teste.
III. O particionamento de equivalência é uma técnica que se concentra em testes de estruturas de controle. Essa técnica divide o domínio de entrada de um programa em classes de dados, a partir das quais os casos de testes são derivados. Ela baseia-se numa avaliação de classes de equivalência para uma condição de entrada, sendo que uma classe representa um conjunto de estados válidos e inválidos para as condições de entrada.
IV. A complexidade ciclomática é uma métrica de software que proporciona uma medida quantitativa da complexidade lógica de um programa. Essa métrica pode ser utilizada em algumas abordagens de testes de software, como no método de teste de caminho básico, onde o valor computado pode definir um limite máximo para o número de testes que deve ser realizado para garantir que todas as instruções sejam executadas ao menos uma vez.
São corretas apenas as asserções
I. É usado para verificar o código sem realmente executá-lo. Este tipo de ferramenta ajuda a encontrar vulnerabilidades em potencial no código-fonte, evitando que ocorram várias vulnerabilidades do tipo zero-day. Common Weakness Enumeration (CWE) é uma das classificações de avisos mais comuns produzidos por estas ferramentas. CWE é uma lista oficial ou dicionário de pontos fracos de segurança comuns exploráveis por invasores para obter acesso não autorizado ao sistema.
II. Da mesma forma que as ferramentas que executam testes de caixa preta, estes analisadores dinâmicos podem identificar vulnerabilidades do programa, como injeções de SQL, estouros de buffer e similares.
III. Este tipo de ferramenta analisa o comportamento do aplicativo, implementando uma análise de segurança contínua, sendo uma das tecnologias de segurança usadas em tempo de execução.
Os itens I, II e III correspondem, correta e respectivamente, a
Julgue os itens a seguir, relativos a técnicas, processos e ferramentas voltados para o desenvolvimento de software.
São desvantagens do ciclo de desenvolvimento em cascata que
o modelo iterativo e incremental procura atenuar: pouco
controle dos riscos, dificuldade de incorporação de mudanças
aos projetos e descoberta tardia de erros de análise e de
projeto.
Diante do exposto, marque V para as afirmativas verdadeiras e F para as falsas.
( ) No princípio interdisciplinar e colaborativo são usadas equipes com uma ampla variedade de formações e treinamentos, e com membros abertos às diferentes perspectivas e habilidades de uma equipe diversificada. Embora a participação na equipe deva ser relativamente consistente ao longo do projeto, pode ser sensato incluir, ocasionalmente, participantes externos à organização – como clientes, fornecedores e outros especialistas no assunto – para determinados modos ou atividades.
( ) As personas permitem que os designers se relacionem e criem empatia com os usuários, além de incentivá-los a ver os problemas do produto da perspectiva do usuário. Personas são criadas no início do processo de design. Como representações de usuários, as personas definem tanto o usuário-alvo quanto o problema para uma equipe de design. Pequenas iterações podem ser feitas para personas, mas grandes revisões redefinem o design para o início.
( ) Em um processo de desenvolvimento de produtos de design thinking, as histórias permitem que os conceitos sejam visualizados e experimentados antes de serem projetados e desenvolvidos. Inicialmente, a equipe de desenvolvimento constrói as histórias e depois as compartilha com as outras partes interessadas no processo de desenvolvimento do produto. As partes interessadas podem incluir usuários finais e parceiros em potencial.
A sequência está correta em
Considerando o exposto, analise as afirmativas a seguir.
I. Os princípios do Scrum são empregados para orientar as atividades de desenvolvimento dentro de um processo que incorpora as seguintes atividades metodológicas: planejar; codificar; construir; testar; e, distribuir.
II. A Extreme Programming (programação extrema) envolve um conjunto de regras e práticas constantes no contexto de quatro atividades metodológicas: planejamento; projeto; codificação; e, testes.
III. O projeto XP segue rigorosamente o princípio KISS (keep it simple, stupid!).
IV. As reuniões de equipe para o Kanban são semelhantes àquelas realizadas na metodologia XP.
V. O DevOps combina desenvolvimento (development) e operações (operations) e seu fluxo de trabalho envolve diversas etapas que formam ciclos contínuos até que o produto desejado exista de fato.
Está correto o que se afirma apenas em
Em relação ao processo de integração contínua de software, analise as seguintes afirmativas.
I. Um dos benefícios de se trabalhar com integração contínua é permitir que os problemas causados pelas interações entre diferentes desenvolvedores sejam detectados e reparados tão logo seja possível.
II. A integração contínua é uma boa estratégia para sistemas muito grandes, quando se leva muito tempo para que o sistema seja construído (build) e testado.
III. Na integração contínua, assim que o trabalho em uma tarefa é concluído, ele é integrado ao sistema como um todo e, após essa integração, todos os testes de unidade do sistema devem passar.
Estão CORRETAS as afirmativas: