Questões de Concurso Sobre engenharia de software
Foram encontradas 14.525 questões
Por não existir relação direta entre as práticas ágeis de integração contínua e de entrega contínua, pode-se garantir a agilidade do processo pela realização de tais atividades em paralelo, ainda que relacionadas à mesma versão.
Na atividade de TDD (test-driven development), a escrita de teste primeiro define implicitamente tanto uma interface quanto uma especificação do comportamento para a funcionalidade que está sendo desenvolvida, estando, entretanto, a viabilidade do uso dessa abordagem limitada aos processos de desenvolvimento de software que seguem as práticas ágeis.
A integração contínua constitui um dos pilares das práticas ágeis: a constante integração das respectivas partes deve ocorrer diariamente e ser realizada concomitantemente à atividade de programação em pares.
As ferramentas de controle de versão Git e SVN oferecem o mesmo grau de confiabilidade no armazenamento das informações e são ambas implantadas conforme o conceito de sistemas de controle de versão distribuído.
Para a análise estática de código, a ferramenta Findbugs, que permite a verificação dos problemas relativos a defeitos e convenções de codificação em um software, é mais completa que a Checkstyle, que possibilita apenas a detecção dos problemas relativos a convenções de codificação.
Os comandos da ferramenta Git são relativamente simples: para adicionar, por exemplo, um arquivo novo ao repositório no Git, basta utilizar o comando commit depois de efetuar o comando add.
As ferramentas do projeto Selenium são adequadas para a realização de testes funcionais automatizados de aplicações web. A API Selenium WebDriver, por exemplo, permite a realização de testes de aplicações web por meio dos métodos get() e findElement().
O teste de integração objetiva tanto a verificação da correta implantação dos requisitos funcionais quanto a dos requisitos não funcionais, como desempenho e vulnerabilidade.
No teste de integração, enfatiza-se a construção da estrutura do sistema: à medida que as diversas partes do software são colocadas para trabalhar juntas, é preciso verificar se a interação entre elas funciona de maneira adequada, sem a ocorrência de erros.
O teste de unidade, cujo foco são as menores unidades do programa, como as funções, os procedimentos, os métodos ou as classes, somente pode ser realizado após a implantação de todas as unidades do programa.
Simulações e benchmarks são técnicas de modelagem bastante utilizadas para a avaliação de desempenho de sistemas de software.
A recursividade é uma técnica que pode ser utilizada na implementação de sistemas de lógica complexa, com a finalidade de minimizar riscos de ocorrência de defeitos no software.
Em sistemas em tempo real orientados a eventos, é adequada a utilização de um modelo de controle orientado à interrupção.
A finalidade do processo de homologação de um software é a identificação de defeitos no funcionamento desse software, sob o ponto de vista da expectativa do usuário.
Na técnica dinâmica de geração de dados, a análise de fluxo dos dados é utilizada para determinar as variáveis de entrada responsáveis pelo comportamento incorreto do programa.
Nos testes de integração, quando um problema é detectado, o código-fonte do sistema deve ser analisado para se identificarem os componentes do software a serem depurados.
A rastreabilidade de requisitos identifica a dependência existente entre requisitos distintos, o que possibilita a avaliação do impacto em decorrência da alteração de um requisito em outro requisito, mesmo após a implantação desse requisito em ambiente de produção.
No processo tradicional de desenvolvimento em cascata, a gestão de configuração começa a atuar no momento em que todos os testes são concluídos.
Nos processos iterativos de desenvolvimento de software, o tratamento de mudanças em requisitos deve ser priorizado com a realização de um processo formal de gerenciamento de mudanças.
Como forma de prever a qualidade do produto de software em operação, recomenda-se que sejam feitas várias avaliações de qualidade ao longo do desenvolvimento, mantendo-se e analisando-se os resultados obtidos.