Questões de Concurso
Sobre teste de software em engenharia de software
Foram encontradas 1.364 questões
• Realizado na instalação dos desenvolvedores.
• Conduzido em um ambiente controlado.
• Conta com a participação de usuários e desenvolvedores.
Esse tipo de teste é chamado de
No TDD, o refatoramento do código deve ser realizado antes de se escrever a aplicação que deve ser testada.
1. Teste de Unidade
2. Teste de Módulo
3. Teste de Subsistemas
4. Teste de Sistemas
5. Teste de Aceitação
6. Teste Final
( ) Testa se o sistema cumpre seus requisitos funcionais e não funcionais.
( ) Testa conjuntos de módulos que foram integrados em subsistemas
( ) Testa componentes individualmente.
( ) Testa módulos individualmente.
( ) Testa o sistema com os dados fornecidos pelo cliente.
A sequência correta é
I. Referem-se a testes que são conduzidos na interface do software. Examinam algum aspecto fundamental do sistema, sem se preocupar com a estrutura lógica interna do software.
II. Testes exaustivos podem ser impraticáveis, mas podem ser aplicados testes que examinam caminhos lógicos importantes e estruturas de dados essenciais podem ser submetidas à prova quanto à sua validade.
III. São baseados em um exame rigoroso do detalhe procedimental. Caminhos lógicos internos ao software e colaborações entre componentes são testados, definindo-se casos de teste que exercitam conjuntos específicos de condições e/ou ciclos.
IV. Focalizam os requisitos funcionais do software, permitindo ao engenheiro de testes derivar conjuntos de condições de entrada que vão exercitar plenamente todos os requisitos funcionais de um programa.
V. Tentam encontrar erros: em funções incorretas ou omitidas, de interface, de comportamento ou desempenho, de iniciação e término.
VI. Ao usá-los, o engenheiro de testes pode derivar casos de teste que garantam que todos os caminhos independentes de um módulo tenham sido exercitados pelo menos uma vez.
A associação dos tipos de teste de CP ou testes de CB com as características de I a VI é apresentada, correta e respectivamente, em:
I. O sistema deve ser resistente a falhas, ou seja, falhas de processamento não devem causar a interrupção da sua função global. O teste deve forçar o software a falhar de diversos modos e verificar se a reabilitação é adequadamente realizada.
II. As informações armazenadas pelo sistema devem ser protegidas de todo o tipo de invasão e ataque. O teste deve tentar invadir o sistema e atacar suas vulnerabilidades de forma a verificar se os mecanismos de proteção são realmente capazes de protegê-lo.
III. O sistema deve ser capaz de suportar grande demanda por recursos. O teste deve submeter o sistema a situações extremas de demanda por recursos, frequência ou volume anormais.
Isabel indicou, de forma adequada e respectiva, os seguintes testes para as situações I, II e III:
Preenchem as lacunas correta e sequencialmente:
I – Teste de software é a execução do software de maneira controlada para avaliar se ele se comporta ou não conforme o especificado. Visa a verificar e relatar o estado do software, a qualquer momento, em termos significativos a todos que precisam dessa informação.
II – O testador não pode “ter pena” do software. Ao contrário, quanto mais severamente o software for exercitado, menores as chances de ele falhar.
III – Se existem problemas no software, é melhor e mais rápido o cliente encontrá-lo do que a equipe de testes.

Considere as definições dos quadrantes de testes ágeis:
I. Testes que focam no negócio e criticam o produto: são os testes de aceitação feitos na homologação do produto ou de suas partes, testes betas e testes exploratórios. São testes feitos não com o objetivo de dizer que o software funciona, mas de encontrar defeitos. Bons analistas de testes possuem técnicas para encontrar defeitos que poucos desenvolvedores conhecem.
II. Testes que focam na arquitetura e suportam o time: são os testes unitários e de componentes. Estes são realizados e são de responsabilidade dos próprios desenvolvedores. O papel do analista de testes nesse quadrante é o de apoiar, suportar e expandir conhecimentos entre os desenvolvedores sempre que necessário. De preferência isso é feito em par com o desenvolvedor no momento de elaborar os testes unitários automatizados.
III. Testes que focam na arquitetura e criticam o produto: são os testes de performance, de carga e de segurança. Esses são de responsabilidade dos analistas de testes e costumam ser feitos quando partes da aplicação já estão prontas e, especialmente, antes da entrada de um release em produção.
IV. Testes que focam no negócio e suportam o time: são testes funcionais diferenciados, que idealmente utilizam a técnica de Behavior-Driven Development e Acceptance Test-Driven Development. Isto é, são testes e cenários de exemplo realizados pelos testadores em conjunto com os clientes, usuários e analistas de negócio. Com base nesses exemplos e cenários os desenvolvedores terão melhores condições de desenvolver e entender os requisitos.O foco desses testes não é encontrar o maior número de defeitos e sim ajudar clientes e desenvolvedores a se entenderem melhor.
A associação correta entre as definições I, II, III e IV e os quadrantes Q1, Q2, Q3 e Q4 é apresentada em