Questões de Concurso
Comentadas sobre teste de software em engenharia de software
Foram encontradas 1.278 questões
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:
Considerando esse contexto, assinale a alternativa que apresenta o tipo de teste que visa avaliar a experiência do usuário com a interface do sistema.
( ) No TDD, os testes são escritos após a implementação do código, garantindo que todas as funcionalidades já estejam desenvolvidas antes da fase de testes.
( ) O BDD amplia o conceito do TDD ao enfatizar a descrição do comportamento do sistema em uma linguagem natural, permitindo maior colaboração entre desenvolvedores, testadores e analistas de negócio.
( ) No BDD, o formato Given-When-Then (Dado-Quando-Então) é utilizado para estruturar cenários de testes e descrever funcionalidades de forma compreensível para todos os envolvidos no projeto.
( ) O principal objetivo do TDD é garantir que o código seja testável e modular, enquanto o BDD visa melhorar a clareza dos requisitos e a comunicação entre times técnicos e não técnicos.
( ) TDD e BDD melhoram a automação de testes, mas não substituem totalmente os testes manuais, especialmente para áreas que envolvem interação do usuário e avaliações subjetivas.
- Planejou realizar testes funcionais automatizados para as principais regras de negócio, como geração de autos e emissão de relatórios, integrando-os a um pipeline de integração contínua.
- Decidiu omitir os testes de usabilidade, considerando que os usuários finais já estavam habituados com sistemas internos anteriores semelhantes.
- Documentou os casos de teste com base em critérios de aceitação definidos em reuniões com stakeholders de algumas áreas da Secretaria.
- Planejou testes de regressão exploratórios a cada nova entrega do sistema, utilizando um conjunto base de funcionalidades críticas.
- Realizou os testes de homologação em uma única iteração.
Ao analisar essas decisões, um Analista do Tesouro Estadual afirmou corretamente que a
def test_login_success(): result = login("usuario", "senha123") assert result == "Login realizado com sucesso"
Diante do exposto, assinale a alternativa que apresenta a técnica de desenvolvimento empregada pelo desenvolvedor na solução, com a sua respectiva descrição.
I- São aplicados para verificar a interação entre módulos ou serviços.
II- São utilizados para validar o comportamento de componentes isolados, como funções ou métodos.
III- São empregados para garantir a cobertura de código em ambientes de produção.
IV- São comumente executados em ambientes de homologação, mas isso não os restringe a esse contexto.
Assinale a alternativa que traz APENAS características dos Testes de Integração.
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.
A respeito dos processos de desenvolvimento de software cascata e iterativo, de projeto de software orientado a objetos, de testes e de validação de software, julgue o item a seguir.
O teste de lançamento limita-se à verificação de novas funcionalidades de um release, sem a necessidade de reexecução de testes em funcionalidades já existentes.
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.