Questões de Concurso
Comentadas sobre teste de software em engenharia de software
Foram encontradas 1.278 questões
Os testes unitários são aplicados em subprogramas individuais ou em componentes maiores construídos com unidades altamente coesas e são executados:
I. sempre com acesso ao código que está sendo testado.
II. normalmente com o suporte de ferramentas de depuração.
III. sempre pelos programadores que escreveram o código.
IV. para verificar o funcionamento dos elementos de software separadamente.
Está correto o que consta de
O Test-Driven Development (TDD) é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. As etapas do processo fundamental de TDD são mostradas abaixo em ordem alfabética:
I. Escrever um teste para a funcionalidade identificada e implementá-lo como um teste automatizado.
II. Executar o teste, junto com os demais testes já implementados, sem implementar a nova funcionalidade no código.
III. Identificar e implementar uma outra funcionalidade, após todos os testes serem executados com sucesso.
IV. Identificar uma nova funcionalidade pequena para ser incrementada com poucas linhas em um código.
V. Implementar a nova funcionalidade no código e reexecutar o teste.
VI. Refatorar o código com melhorias incrementais até que o teste execute sem erros.
VII. Revisar a funcionalidade e o teste, caso o código execute sem falhar.
Considerando o item IV a primeira etapa e o item III a última etapa, a sequência intermediária correta das etapas do processo é:
Sobre testes de software, identifique como verdadeiras (V) ou falsas (F) as seguintes afirmativas:
( ) Um teste bem-sucedido identifica defeitos.
( ) Casos de teste são especificações das entradas para o teste e da saída esperada do sistema.
( ) Um teste caixa-preta é um teste estrutural, em que partes específicas de componentes são testadas.
( ) Um teste de aceitação foca em cada unidade do software, ou seja, seu código-fonte.
Assinale a alternativa que apresenta a sequência correta, de cima para baixo.
A respeito do Selenium, analise as afirmativas abaixo.
I O Selenium consiste em uma suíte de ferramentas para auxiliar a automação de testes baseados na interface Web.
II O Selenium WebDriver consiste em uma API para auxiliar a automação de testes baseados na interface Web.
III O Selenium WebDriver consiste em um plug-in para o Firefox que auxilia a automação de testes baseados na interface Web.
IV No Selenium WebDriver, é possível gravar o passo a passo de um usuário acessando uma página Web, a partir de um navegador.
Estão corretas as afirmativas
Considere as seguintes afirmativas a respeito de critérios de cobertura de teste .
I O grafo de fluxo de controle representa um programa na forma de um grafo onde as arestas são operadores e os nós são operandos de uma expressão.
II O critério de cobertura “todos os caminhos” não é um critério muito utilizado, em razão de duas dificuldades principais: alguns programas geram infinidade de caminhos e existem caminhos que nunca serão executados (independentemente dos valores passados como parâmetro).
III Se uma suíte de testes atinge 100% de cobertura de statements (linhas de código), o programa foi completamente testado e, se existir algum bug, será detectado pelos testes.
IV Os critérios de teste estruturais também são conhecidos como critérios de teste caixa branca.
Estão corretas as afirmativas
Com relação a criptografia, desenvolvimento orientado a testes (TDD — test driven development) e Hibernate, julgue o seguinte item.
O TDD possibilita o desenvolvimento de softwares fundamentado em testes. O ciclo de desenvolvimento do TDD segue os seguintes passos:
• escrever um teste que inicialmente não passa;
• adicionar uma nova funcionalidade do sistema;
• fazer o teste passar;
• realizar a integração contínua do código;
• escrever o próximo teste.
A respeito do TDD, é correto afirmar que
( ) Teste é a forma de avaliação de qualidade mais comum porque é a que fornece melhor custo-benefício, comparada com verificação formal e tolerância a falhas. ( ) As atividades relacionadas ao teste do software devem começar assim que o primeiro módulo do sistema estiver codificado. ( ) A diferença entre teste caixa-preta e teste caixa-branca está apenas na forma como os testes são gerados, pois os dois métodos detectam o mesmo tipo de falha. ( ) Teste de unidade só pode ser aplicado quando o sistema estiver completamente desenvolvido, pois uma unidade raramente funciona independente de outras. ( ) O teste funcional ou caixa-preta consiste em definir as classes de equivalência e escolher valores-limite em cada classe como dados de teste. ( ) O conceito de cobertura de arcos só se aplica ao teste estrutural, uma vez que é preciso conhecimento do código para gerar o grafo de fluxo de controle.
A sequência correta de preenchimento dos parênteses, de cima para baixo, é
I - Uma das regras simples do TDD é que será escrito um código novo apenas se falhar um teste automatizado. II - Teste de um só passo (one step test), teste quebrado (broken test) e teste de exceção (exception test) são nomes de padrões (patterns) para TDD. III- Vermelho-Verde-Refatorar é o “mantra” que resume o ciclo geral de TDD: vermelho – escrever um pequeno teste que não funcione e que talvez nem mesmo compile inicialmente; verde – fazer rapidamente o teste funcionar, mesmo incorrendo em alguma infração necessária; refatorar – eliminar todas as duplicatas criadas, para que apenas o teste funcione.
Quais estão corretas?
Na metodologia ágil XP são realizados testes que são muito ligados com as user stories e buscam testar o sistema do ponto de vista do usuário. Este tipo de teste objetiva validar com o cliente o que foi definido nos requisitos do software, de forma a verificar se o produto desenvolvido está de acordo com o que foi estabelecido. As funcionalidades do sistema são validadas, as entradas podem ser simuladas e o comportamento de saída pode ser observado. Como o sistema é testado com todos os componentes interligados e configurados, inclusive bancos de dados e gerenciadores de filas, há garantias de que cada serviço oferecido está funcionando.
(Adaptado de: https://github.com/fga-gpp-mds/A-Disciplina/wiki/Programação-Extrema-(XP))
O texto se refere
I. É um tipo de teste de software. II. Visa detectar e corrigir defeitos existentes em programas. III. É capaz de detectar defeitos do tipo bad smell (termo que significa incorreções técnicas ou anomalias que não evitam o sistema de ser executado, mas causam efeitos inesperados durante a execução).
Está correto o que se afirma em
I - Problemas de uso de memória e ponteiros nulos. II - Violação de padrões de código, de acordo com alguma configuração. III - Vulnerabilidades de segurança.
Quais problemas podem ser detectados por meio de ferramentas de análise estática?
I - Escrever código de teste. II - Verificar se o teste falha. III - Escrever código de produção. IV - Executar teste até passar (reescrevendo o código de produção, se for necessário, até que o teste passe). V - Refatorar código de produção e/ou de teste para melhorá-lo.
Considerando que se deseja incluir um novo caso de teste, assinale a alternativa que apresenta a sequência de ações que devem obrigatoriamente ocorrer para essa inclusão, segundo o TDD.
I - Mesmo que os desenvolvedores se assegurem de que todos os testes sejam executados com sucesso antes de integrar seu código (check-in), ainda assim é possível que testes de regressão falhem quando o novo código for integrado, causando uma “quebra de build”. O desenvolvedor responsável por esse novo código deve consertar o problema para que o build possa ser refeito, avaliando a lista de tarefas que tem a executar, a fim de definir a prioridade desse conserto, ao longo de seu dia de trabalho. II - Para assegurar que um build possa dar retorno imediato, é necessário que possa ser gerado em um tempo curto. Se alguns testes de regressão são muito demorados (por exemplo, scripts de interface), podem-se usar estratégias, como ter um processo de build separado que rode os testes mais demorados, ou versões diferentes de construção completa e resumida de build que rodariam durante a noite ou durante as horas de trabalho, respectivamente. III - Ao longo de uma iteração, novos testes automatizados são construídos. Todos os novos testes automatizados construídos para uma dada história devem ser incluídos na respectiva suíte de regressão.
Quais afirmativas estão corretas?