

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.
Os testes de software são uma parte fundamental do desenvolvimento de sistemas, pois garantem que o produto atenda aos requisitos especificados, funcione corretamente e seja livre de defeitos. Eles desempenham um papel crucial na manutenção da qualidade, segurança e confiabilidade do software. Os testes de pré-lançamento são realizados antes de o software ser disponibilizado ao público, com o objetivo de assegurar sua qualidade e funcionalidade. Considerando essas informações, analise as assertivas a seguir, sobre alguns testes de pré-lançamento, julgando-as V, se verdadeiras, ou F, se falsas.
( ) O teste alfa é o último estágio de testes de pré-lançamento, realizado externamente para um grupo selecionado de usuários externos (alfa testers) que testam o software em um ambiente real.
( ) O teste beta é o segundo estágio de testes de pré-lançamento, realizado internamente pela equipe de desenvolvimento e algumas partes interessadas.
( ) O teste gama é o primeiro estágio de testes de pré-lançamento, antes do teste beta, com foco na identificação de problemas não críticos.
Qual alternativa preenche, CORRETAMENTE, os parênteses, na ordem em que aparecem?
F - F - F.
V - V - F.
V - F - V.
F - V - F.
V - V - V.
Julgue os itens a seguir, a respeito de testes de software.
I A herança torna mais simples os testes de classes, pois os testes das operações herdadas contemplam os testes em todos os contextos de uso.
II O teste de release deve ser realizado por uma equipe que não esteve envolvida no desenvolvimento do sistema.
III Os testes de estresse ajudam a identificar o ponto de degradação de um sistema, permitindo implementar controles para evitar sobrecarga.
Assinale a opção correta.
Apenas o item I está certo.
Apenas o item II está certo.
Apenas os itens I e III estão certos.
Apenas os itens II e III estão certos.
Todos os itens estão certos.
O time de Tl de um Tribunal Regional do Trabalho que está desenvolvendo uma aplicação web configurou o Selenium WebDriver para realizar testes de funcionalidades no navegador Chrome. Durante os testes, identificaram que o script falha ao tentar interagir com o botão de "Enviar", apresentando o erro NoSuchElementException. O desenvolvedor analisou o código e percebeu que o botão é carregado dinamicamente após a conclusão de uma animação. Nesse contexto, a abordagem mais adequada que o time deve adotar para resolver o problema e garantir que o botão seja corretamente identificado e clicado nos testes é
configurar o WebDriver para ignorar exceções e continuar a execução.
atualizar o Selenium WebDriver e o Selenium IDE para as versões mais recentes.
implementar Implicit Wait no script para executar após o carregamento do botão.
aumentar o tempo de execução do script para garantir que o botão seja carregado.
utilizar Explicit Wait para aguardar a presença do botão na página antes de interagir.
O teste de software é essencial para identificar e corrigir defeitos antes que o produto seja lançado, garantindo-se, assim, que o software atenda aos requisitos de qualidade definidos.
Certo
Errado
Pressman e Maxim (2021) afirmam que em Engenharia de Software existem sete grandes categorias as quais apresentam desafios contínuos para os engenheiros de software, dentre elas, destacamos a categoria que faz uso da heurística para solucionar problemas complexos que não são passiveis de computação ou de análise direta, aplicações nesta área incluem: robótica, sistemas de tomadas de decisão, reconhecimento de padrões, provas de teoremas e jogos.
Assim, assinale a alternativa que corresponde corretamente ao nome da categoria de software destacada acima.
Aplicações Web/aplicativos móveis.
Software de Inteligência Artificial.
Software de sistemas.
Software de engenharia.
Software de linha de produtos.
O teste de software constitui parte integrante do ciclo de vida de desenvolvimento de software, visando ter certeza sobre funcionalidade, desempenho e experiência do usuário, sendo uma parte importante e imprescindível, pois ajudam a garantir a qualidade do código. Entre os tipos de testes, enquanto um tem por objetivo validar os diferentes módulos juntos como um todo e identificar os bugs e problemas relacionados a eles, outro se concentra em testar partes/unidades individuais de um aplicativo de software no início do ciclo de vida, sendo que qualquer função, procedimento, método ou módulo pode ser uma unidade a ser submetida a esse tipo de teste para determinar sua correção e o comportamento esperado.
Os dois tipos de testes descritos são conhecidos, respectivamente, como testes:
De integração e funcional.
De desempenho e funcional.
De desempenho e unitário.
De integração e unitário.
São exemplos de testes funcionais de software
unidade, integração e carga.
regressão, aceitação e desempenho.
sistema, carga e integração.
integração, desempenho e unidade.
aceitação, unidade e sistema.
Um desenvolvedor está construindo um sistema de controle de estoque e decide implementar Testes Unitários em sua solução. Acerca desse assunto, avalie as sentenças a seguir:
Testes unitários são mais eficazes quando escritos após a implementação completa do sistema ao reduzir o retrabalho e o tempo de desenvolvimento.
PORQUE
A principal função dos testes unitários é verificar o comportamento isolado de unidades de código, como métodos ou funções, utilizando técnicas como mocks e stubs para simular dependências externas.
Acerca dessas sentenças, assinale a alternativa CORRETA.
As duas sentenças são verdadeiras, e a segunda é uma justificativa correta da primeira.
As duas sentenças são verdadeiras, mas a segunda não é uma justificativa correta da primeira.
A primeira sentença é verdadeira, e a segunda é falsa.
A primeira sentença é falsa, e a segunda é verdadeira.
Testes de sistema são aplicados após os testes de integração e têm a finalidade de validar os requisitos funcionais e não funcionais em um ambiente que simula o uso real do software.
Certo
Errado
Durante o desenvolvimento de um novo módulo para controle de jornada de trabalho de servidores da Justiça do Trabalho, a equipe de sistemas identificou requisitos funcionais que impactavam diretamente o cálculo de horas extras e banco de horas, exigindo precisão jurídica.
O módulo foi implementado com base em regras definidas pela área de gestão de pessoas e homologado por magistrados.
O time decidiu aplicar testes automatizados para garantir estabilidade nas regras e facilitar futuras alterações de jornada previstas por novas normas de Resoluções do CNJ.
O Analista responsável orientou, adequada e corretamente, os seguintes cuidados:
Adotar uma combinação de testes unitários com JUnit, testes de integração com Mockito simulando dependências, e testes funcionais automatizados validados com base nos requisitos legais definidos pela área jurídica.
Aplicar testes exploratórios baseados na intuição dos desenvolvedores, aliados a ferramentas tradicionais como “teste de mesa”, considerando que a experiência prática, nessa situação, substitui a documentação formal dos requisitos e dos critérios de aceitação.
Priorizar testes manuais funcionais com roteiros predefinidos baseados em requisitos, evitando o uso de ferramentas como JUnit, pois os testes automatizados são frágeis para cálculos complexos de horas.
Realizar testes unitários com JUnit e Mockito nos métodos de cálculo, dispensando a verificação das integrações com as APIs de ponto eletrônico e folha de pagamento.
Utilizar apenas cobertura de código (code coverage) como critério de qualidade, considerando o sistema testado, desde que a cobertura supere 90%, não necessitando considerar, nesse caso, os requisitos críticos das normas do CNJ.
Os testes de software são atividades essenciais no desenvolvimento de sistemas, utilizados para verificar se o software funciona corretamente, se atende aos requisitos especificados e se se mantém confiável após modificações. Esses testes abrangem diferentes aspectos, como funcionalidade, desempenho, integração e segurança, sendo fundamentais para reduzir falhas e garantir a qualidade do produto final. Nesse contexto, informe se é verdadeiro (V) ou falso (F) o que se afirma a seguir e assinale a alternativa com a sequência correta.
( ) Nos testes de integração, o foco é no cliente ou usuário final; é verificado se o sistema atende às necessidades do usuário e aos requisitos do contrato.
( ) Nos testes de regressão, o foco é garantir que mudanças ou correções não afetem funcionalidades já existentes. Um exemplo é corrigir um bug no pagamento online e testar se a consulta de saldo ainda funciona.
( ) Nos testes de caixa branca, o foco é no comportamento do software sem conhecer o código interno; são avaliadas entradas e saídas, verificando se o sistema cumpre os requisitos.
( ) Nos testes de desempenho, é avaliado como o sistema se comporta sob carga ou estresse. Um tipo comum é o stress test, que testa limites máximos e falhas do sistema.
F – V – F – V.
F – V – V – V.
V – V – F – F.
F – V – V – F.
V – F – F – V.
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:
Divergência.
Inconsistência.
Erro.
Defeito.
Falha.
O processo de testes, apesar de ser reconhecidamente uma etapa crucial no desenvolvimento de um software, muitas vezes é negligenciado. Esses tem enorme valor para a qualidade do software desenvolvido com ou sem utilização de metodologias ágeis de desenvolvimento.
Sobre o processo de testes de software, é INCORRETO afirmar que:
os testes garantem que o software está livre de erros e bugs.
os testes podem ser usados para a descoberta e eliminação de comportamentos indesejáveis, incorretos ou fora das especificações.
os testes podem ser usados para a validação de funcionalidades, como uma forma de validar a implementação dos requisitos levantados com o cliente.
os testes são parte de um amplo processo de validação (o produto atende aos requisitos) e de verificação (o produto foi construído corretamente) do produto construído.
Assinale a alternativa que apresenta CORRETAMENTE o objetivo principal da utilização de testes unitários no desenvolvimento de software:
Identificar falhas de segurança no código.
Garantir o correto funcionamento de unidades específicas do código.
Validar a integração entre diferentes módulos do sistema.
Realizar testes de desempenho em larga escala.
Em uma equipe de desenvolvimento de softwares, um requisito fundamental para a manutenção da qualidade e do funcionamento das aplicações desenvolvidas é a implementação de testes de software. Ao executar esses testes é possível identificar falhas, erros e comportamentos inesperados antes que o produto seja implementado para o usuário final. Sobre as possibilidades de implementação de testes de software, analise as afirmativas a seguir.
I. Os testes de aceitação são realizados pelo cliente com os seus dados e os resultados determinam se a equipe de desenvolvimento está de acordo com a implementação realizada.
II. Os testes de integração buscam explorar funcionalidades de maior granularidade no sistema, envolvendo mais classes e, eventualmente, pacotes distintos.
III. Testes unitários exploram pequenas unidades de código, normalmente classes, que são testadas de forma isolada do restante do sistema.
Está correto o que se afirma em
I, II e III.
I, apenas.
II, apenas.
II e III, apenas.
Qual das alternativas abaixo descreve corretamente e com precisão o conceito de Jogo Digital?
É um tipo de software com finalidade exclusivamente educativa que visa ensinar conceitos científicos.
É experiência analógica que permite ao jogador influenciar ativamente o desenrolar de uma narrativa através de regras e feedback.
É uma experiência interativa para gerar desafios e proporcionar entretenimento, em diversas plataformas digitais.
É um software interativo que permite aos seus usuários apenas jogar jogos de tabuleiro e cartas.
É um programa de computador que não requer interação do jogador, sendo considerada uma experiência passive.
Seja a função em C que atende 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;
}
O testador, além de testar o funcionamento externo da função (o que ela faz) também testou a sua lógica e estrutura, verificando como a soma é realizada por ela (como ela faz). Foi realizado, portanto, um teste de caixa:
Preta.
Cinza.
Legada.
Unitária.
Segmentada.
A equipe de Analistas do Tribunal Regional do Trabalho está desenvolvendo um sistema para automatizar o trâmite e gerenciar os processos eletrônicos. Durante a fase de testes, é necessário adotar uma abordagem robusta e adequada para garantir a qualidade do software, considerando diversos aspectos, incluindo o desempenho e a segurança. Para isso, a equipe deve
executar testes de unidade para validar a comunicação entre diferentes módulos do sistema e verificar se a interface do usuário está funcionando corretamente.
conduzir testes de fumaça para identificar defeitos críticos no código-fonte e assegurar que cada função individualmente atenda aos requisitos especificados. Embora sejam testes demorados, são cruciais para garantir que o sistema possa ser implantado no ambiente de produção.
priorizar os testes de integração, simulando o comportamento de usuários finais e certificando-se de que o sistema atende aos requisitos de desempenho e segurança. Estes testes exigem que todo o sistema esteja ativo e em execução em ambiente de produção.
realizar testes de aceitação para avaliar a compatibilidade entre diferentes componentes técnicos do sistema, garantindo que a arquitetura esteja alinhada com os padrões estabelecidos.
executar testes de performance, submetendo o sistema a situações intensas de uso e avaliar seu comportamento, determinando se atende aos requisitos de desempenho, localizando gargalos, medindo a estabilidade durante picos de tráfego etc.
O teste de caixa preta é eficaz para verificar erros de implementação ou falhas lógicas no código, pois examina os processos internos do sistema e a estrutura do código.
Certo
Errado
Maria é uma analista de Ti em um Tribunal Regional do Trabalho. Ela está implementando um novo sistema para gerenciamento de processos trabalhistas e quer realizar testes no código do sistema para garantir que todas as funcionalidades atendam aos requisitos corretamente antes de lançar o sistema em produção e decidiu utilizar o JUnit que
é um framework utilizado para testes de desempenho e carga em aplicativos Java.
é um framework de teste de unidade para Java que facilita a criação e execução de testes automatizados.
permite a geração automática de relatórios de cobertura de código sem precisar de ferramentas adicionais.
é especificamente projetado para testar interfaces de usuário em aplicações Java Swing.
é uma ferramenta que permite a execução paralela de testes de integração distribuídos.