Questões de Concurso
Sobre teste de software em engenharia de software
Foram encontradas 1.425 questões
( ) Nos testes de integração descendente (top-down), os testes são iniciados pelos componentes nos níveis mais baixos na estrutura do software.
( ) Testes de unidade realizam a verificação em blocos menores de código, geralmente funções ou métodos.
( ) Os testes de desempenho podem ser realizados em todas as etapas do processo de teste de software.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
No que se refere ao processo e à estratégia de teste de aplicações web e à ferramenta SonarQube, julgue o item subsequente.
A pirâmide para teste de aplicações web prevê um fluxo de processo da direita para a esquerda e adota uma estratégia bottom-up, em que os elementos de infraestrutura são testados antes dos componentes visíveis ao usuário.
No que se refere ao processo e à estratégia de teste de aplicações web e à ferramenta SonarQube, julgue o item subsequente.
O SonarQube para IDE, em cenários de falha na identificação da branch local ou na ausência de um repositório Git, utiliza por padrão a branch designada como main no servidor.
Coluna 1
1. Carga.
2. Estresse.
3. Estabilidade.
Coluna 2
( ) Aumenta-se progressivamente o número de usuários que usam o site simultaneamente até que ele colapse, exibindo erros e com tempos de resposta inaceitáveis. Assim, verifica-se com quantos usuários o site deixa de funcionar como deve.
( ) Utiliza-se uma carga nominal de 800 usuários usando o site ao mesmo tempo, sabendo-se que é esperado que ele suporte um pico de até 1.000 usuários. Faz-se isso por um período de 24 horas e, depois, analisa-se o desempenho do site nessa janela de tempo, verificando alguns dados como, por exemplo, se os tempos de resposta se mantêm dentro do especificado ou se o consumo de memória aumentou durante esse tempo. Assim, verifica-se se o site continua funcionando por um período com o mesmo número de usuários sem degradar.
( ) Espera-se que o site suporte 1.000 usuários simultâneos. Dessa forma, aplicam-se os 1.000 usuários, verificando se o site aguenta esse volume de pico, sem degradar, por 1 hora. Assim, é possível verificar se o site funciona bem com o volume máximo de usuários que se espera dele no dia a dia, em determinados períodos de tempo.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
1. Login de usuário.
2. Busca de produtos.
3. Adicionar um produto ao carrinho de compras.
4. Finalizar a compra (checkout).
Depois de um certo tempo em produção, foi decidido implementar no site a funcionalidade “Lista de desejos” e, por causa dela, se decidiu testar novamente as funcionalidades 1, 3 e 4. O tipo de teste realizado nas funcionalidades do site por causa da “Lista de desejos” foi o de:
Seja a função em C que deveria atender o seguinte enunciado:
Construir uma função chamada somar, que recebe dois valores inteiros e retorna a soma deles.
int somar(int a, int b) {
return a - b;
}
Um testador executa um caso de teste chamando a função somar(10,5).
O resultado esperado deve ser 15.
O resultado obtido foi 5.
A diferença entre o resultado esperado e o resultado obtido é devido a um comportamento incorreto, observado na função durante sua execução. Esse problema, no contexto de testes de software, é classificado como:
No que diz respeito aos testes de sistema, ao TDD (Test‑Driven Development) e às métricas de qualidade de código, julgue o item a seguir.
O TDD contribui para a melhoria do design do código, pois estimula a criação de unidades menores, coesas e de responsabilidade única, o que facilitará a manutenção.
No que diz respeito aos testes de sistema, ao TDD (Test‑Driven Development) e às métricas de qualidade de código, julgue o item a seguir.
No TDD, primeiro escreve‑se o código funcional, depois os testes automatizados e, por fim, o refactoring, o que garante maior produtividade no início do projeto.
No que diz respeito aos testes de sistema, ao TDD (Test‑Driven Development) e às métricas de qualidade de código, julgue o item a seguir.
Testes de sistema podem incluir testes de desempenho, usabilidade e segurança, desde que avaliem o sistema de maneira integrada.
1. São realizados para assegurar que múltiplos componentes funcionem corretamente quando combinados. Este tipo de teste envolve a combinação de unidades testadas em grupos para verificar se elas funcionam corretamente em interação umas com as outras. Tais testes visam detectar problemas que podem surgir nas interfaces entre os módulos, abordando erros de comunicação e interações indesejadas entre diferentes partes do programa.
2. São vitais para garantir que alterações no software, como a adição de novos módulos, não introduzam erros indesejados em funcionalidades existentes. A execução de um subconjunto de testes já realizados é essencial após quaisquer modificações. Este tipo de teste visa descobrir problemas que possam ter surgido em decorrência de mudanças na configuração do software, garantindo assim que os comportamentos esperados não sejam afetados.
Traduzidos e adaptados de: PRESSMAN, Roger S. Software Engineering: a practitioner’s approach. 5th ed., 2001.
Os trechos 1 e 2, tratam, respectivamente, de: