

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Análise estática é descrita como o tipo de teste que verifica a lógica interna de software em busca de falhas ou vulnerabilidades.
Certo
Errado
Um time de desenvolvimento está trabalhando em um novo aplicativo e está realizando testes para garantir a qualidade do software.
Nesse contexto, os testes de software têm o objetivo de
garantir que o software seja lançado o mais rápido possível, sem erros.
identificar e corrigir erros no software antes de ser lançado.
diminuir o custo de produção do software.
adicionar novos recursos ao software.
Nos testes de software, os stubs, diferentemente dos mocks, são mais apropriados para a verificação do comportamento da aplicação em contraste com a verificação de estado durante um teste unitário.
Certo
Errado
Um teste de software de regressão estará corretamente projetado quando se considera, em cada uma das funções principais do software, apenas os testes que tratam de uma ou mais classes de erros.
Certo
Errado
Assinale a alternativa que o descreve corretamente o teste caixa preta.
Testa a funcionalidade interna do sistema, verificando o comportamento do código-fonte
Envolve o conhecimento dos detalhes de implementação para projetar os casos de teste
Avalia a funcionalidade do software sem conhecer os detalhes de implementação interna
Testa somente o desempenho do software em condições extremas
Um teste de regressão em desenvolvimento de software, tem como missão:
identificar defeitos no código-fonte
verificar se as novas funcionalidades não interferem nas existentes
testar a aplicação em diferentes ambientes
avaliar o desempenho do sistema
realizar testes de usabilidade
A finalidade do teste de esforço é determinar o modo como, por exemplo, a aplicação web e seu ambiente do lado do servidor responderão a várias condições operacionais.
Certo
Errado
Em certa instituição, a equipe de engenharia de software adota uma abordagem de desenvolvimento incremental, com entregas regulares de novas funcionalidades a cada iteração. A equipe está avaliando a estratégia de teste para garantir a qualidade do sistema em cada fase.
Entre as seguintes práticas elencadas a seguir, a que seria mais eficaz para identificar regressões de software e assegurar que as funcionalidades existentes continuem funcionando corretamente à medida que novas partes do sistema são integradas é:
focar principalmente em testes unitários para cada novo módulo desenvolvido, garantindo que cada unidade funcione individualmente, sem precisar verificar a integração com os módulos existentes.
executar testes de aceitação apenas ao final do desenvolvimento de todas as funcionalidades planejadas, para garantir que o sistema atende aos requisitos do cliente e só então testar a integração.
implementar testes de sistema no início de cada iteração para validar o comportamento geral do sistema, sem necessidade de repetir os testes das funcionalidades já implementadas.
adotar uma abordagem de testes de regressão automatizados, executando um conjunto de testes em cada iteração para verificar que funcionalidades antigas não foram impactadas por novas alterações no sistema.
conduzir revisões de código manuais antes de cada integração, uma vez que a verificação visual dos desenvolvedores detectará possíveis impactos nas funcionalidades existentes.
Os erros de código inacessível que sejam detectados em uma verificação de análise estática automatizada de software integram a classe de defeitos de
gerenciamento de armazenamento.
dados.
interface.
entrada/saída.
controle.
Os testes de carga e os testes de esforço são testes de desempenho que exigem instrumentação de hardware e software, uma vez que frequentemente é necessário medir a utilização dos recursos de forma precisa.
Certo
Errado
O Visual Studio é um ambiente integrado de desenvolvimento (IDE) desenvolvido pela Microsoft que suporta diversas linguagens de programação, tais como C#, Visual Basic, C++, F#, JavaScript, TypeScript, Python e outras. Um de seus aspectos mais relevantes é o robusto suporte para a construção, execução e depuração de testes unitários. Considere as seguintes afirmações sobre alguns recursos para testes unitários presentes no Visual Studio:
I. IntelliTest permite gerar valores de entrada e saída para suas funções como pequenos blocos de testes, expandindo-os automaticamente quando seu código for incrementado, o que reduz o esforço para criação de testes unitários.
II. Live Unit Test produz comentários sobre como as alterações de código afetam os testes existentes e se o novo código gerado é coberto por testes já criados.
III. CodeLens permite a inspeção, execução, depuração e navegação direta para os testes unitários a partir do próprio editor de código.
Está correto o que se afirma em
I, apenas.
I e II, apenas.
I e III, apenas.
II e III, apenas.
I, II e III.
No contexto de testes automatizados, assinale a alternativa que apresenta o que é a técnica de "mocking".
Um tipo de teste que visa garantir a compatibilidade do software com dispositivos móveis
A técnica de simular o comportamento de objetos ou componentes externos ao sistema, para isolar a unidade de código sendo testada
Uma forma de criar testes que verificam a aparência e usabilidade da interface gráfica do usuário (GUI)
Um método de aumentar a cobertura de testes por meio da execução paralela de múltiplos casos de teste
Os testes de regressão são realizados por ocasião da ocorrência de mudanças no software.
Certo
Errado
Considere que um novo software foi desenvolvido e está prestes a entrar no ambiente de produção de uma empresa, mas, antes disso, serão realizados testes finais. Para isso, um conjunto de representantes dos usuários finais deve participar desse estágio de testes. Caso se perceba que o software está tendo o comportamento esperado, ele será implantado em produção.
Qual estágio de teste está descrito no cenário acima?
Aceitação
Componente
Configuração
Desempenho
Usabilidade
Quanto às tarefas de testes de software, assinale a alternativa correta.
Testes de regressão são desenvolvidos de modo incremental durante o desenvolvimento do software, para avaliar se alterações no software introduziram comportamentos inesperados.
É fundamental que o time de garantia de qualidade seja o mesmo que desenvolveu o produto.
Em testes automatizados, o desenvolvedor deve se preocupar apenas com o resultado do retorno, e não com o corpo dos métodos e das funções.
Testes unitários avaliam o sistema como um conjunto unificado de funcionalidades.
O desenvolvimento dos testes automatizados deve ser iniciado assim que o produto for considerado pronto para entrega.
Considerando que o teste funcional objetiva determinar se um recurso funciona corretamente sem problemas, é possível automatizar esse tipo de teste mesmo que o sistema seja web, em que é possível simular os retornos esperados.
Certo
Errado
Um conceito-chave na atividade de codificação na XP, ainda que incompatível com a execução de testes unitários, é a programação em pares, em que duas pessoas trabalham juntas em uma mesma estação de trabalho para criar código.
Certo
Errado
Relacione adequadamente os tipos de testes de software às suas respectivas descrições.
1. Unitário.
2. Integração.
3. Funcional.
4. Aceitação.
5. Desempenho.
( ) Validar se o software é aceitável para uso de acordo com os requisitos e as necessidades de negócios.
( ) Garantir que essas partes funcionem bem juntas como um sistema coeso.
( ) Verificar se o código-fonte de cada unidade funciona conforme o esperado.
( ) Certificar-se de que o software execute as ações esperadas e forneça os resultados corretos.
( ) Medir como o sistema se comporta sob diferentes condições de carga, identificando gargalos de desempenho.
A sequência está correta em
1, 3, 2, 5, 4.
4, 5, 3, 1, 2.
3, 4, 2, 5, 1.
4, 2, 1, 3, 5.
Tendo em vista que RPA (Robotic Process Automation) pode ser utilizada em um contexto similar e com pontos semelhantes à automação de testes (AT), e considerando as diferenças no emprego dessas ferramentas pelas equipes de desenvolvimento e produção de software, assinale a opção correta.
As ferramentas de AT podem ser usadas facilmente pelos indivíduos da equipe de produção, mas requerem que estes apresentem conhecimento aprofundado em linguagens de programação e em inteligência artificial.
As ferramentas de RPA não podem ser usadas com facilidade pelos indivíduos da equipe de desenvolvimento, pois demandam conhecimento aprofundado em linguagens de programação e em inteligência artificial.
As ferramentas de AT podem ser usadas facilmente pelos indivíduos da equipe de produção, independentemente da sua capacidade técnica ou de codificação.
As ferramentas de RPA podem ser usadas pelos indivíduos da equipe de produção, mas exigem um grau elevado de capacidade técnica e de codificação.
As ferramentas de RPA podem ser usadas por indivíduos da equipe de produção, mesmo com capacidade técnica básica no uso dessa ferramenta ou sem conhecimento aprofundado em codificação.
O trecho código a seguir mostra um trecho de um sistema de biblioteca digital feita em JAVA e também o código de testes unitários com JUnit para as funções de inserção e remoção.
public class Livro { ..
...
public class Biblioteca {
private List<Livro> livros = new ArrayList<>();
public void adicionarLivro(Livro livro){( ..
public boolean removerLivro(Livro livro){ ..
public List<Livro> getLivros()({..
...
public class BibliotecaTest {
private Biblioteca biblioteca;
private Livro livro1, livro2;
@Before
public void setUp() {
biblioteca = new Biblioteca ();
livro1 = new Livro("Dom Casmurro");
livro2 = new Livro("O Pequeno Principe");
}
@Test
public void testLista() {
biblioteca.adicionarLivro(livro1);
assertEquals (1, biblioteca.getLivros().size());
biblioteca.removerLivro (livro1);
assertTrue (biblioteca.getLivros(). isEmpty()) ;
}
}
Considerando que a lista de livros da biblioteca esteja vazia, o código de execução de testes unitários testLista garante que a lista de livros
fica vazia mesmo após inserção.
volta a ser vazia após inserção e remoção.
não gera erro ao remover um livro que não existe.
não remove o livro após ser inserido.
tem um conteúdo incerto que não pode ser determinado.