Prévia do material em texto
ENGENHARIA DE SOFTWARE – EXERCICIOS UNIDADE 3 Questão 1 “Testes de verificação e validação são complementares. Em hipótese alguma deverão ser encarados como atividades redundantes. Tanto um quanto o outro possuem naturezas e objetivos distintos, fortalecendo o processo de detecção de erros e aumentando a qualidade final do produto”. Em relação às ocasiões que identificam a real ocorrência de um erro, analise as afirmativas a seguir: I. Quando há discrepância entre os requisitos e sua respectiva tradução em funções de software. II. Quando o produto deixa de contemplar uma funcionalidade prevista nos requisitos do cliente. III. Quando o usuário final não consegue utilizar corretamente o sistema por não estar bem instruído a contento. Em relação ao contexto apresentado, é correto o que se afirma em: () I e III, apenas. () I, II e III. (x) I e II, apenas. () II e III, apenas. () I, apenas. Comentário A resposta correta é I e II, apenas.I. Quando há discrepância entre os requisitos e sua respectiva tradução em funções de software: Isso indica que o produto não está de acordo com o que foi especificado inicialmente, o que pode resultar em erros de implementação ou interpretação dos requisitos.II. Quando o produto deixa de contemplar uma funcionalidade prevista nos requisitos do cliente: Isso indica que o software não atende completamente às necessidades ou expectativas do cliente, o que pode ser considerado um erro de implementação ou planejamento.III. Quando o usuário final não consegue utilizar corretamente o sistema por não estar bem instruído a contento: Esta situação não necessariamente indica a ocorrência de um erro no software. Pode ser uma questão relacionada à documentação, treinamento ou experiência do usuário, e não necessariamente um defeito no produto de software em si.Portanto, as afirmativas I e II estão relacionadas a situações em que a ocorrência de um erro é identificada, enquanto a afirmativa III refere-se mais a uma questão de usabilidade e experiência do usuário, não necessariamente indicando a ocorrência de um erro no software. Questão 2 Técnica de teste baseada na identificação e utilização de sequências de teste que abrangem diferentes domínios de entrada. Ele busca identificar classes de equivalência para os dados de entrada e gera sequências de teste que cubram essas classes de forma abrangente. Este método é eficaz para garantir uma cobertura adequada dos diferentes cenários de entrada em um sistema. Assinale a alternativa que apresenta o método descrito anteriormente: () Método TT () Método UIO () Método TDD () Método W (x) Método DS Comentário O método DS é uma técnica de teste baseada na identificação e utilização de sequências de teste que abrangem diferentes domínios de entrada. O Método DS busca identificar classes de equivalência para os dados de entrada e gera sequências de teste que cobrem essas classes de forma abrangente, garantindo uma cobertura adequada dos diferentes cenários de entrada em um sistema. Questão 3 Sobre os casos de testes, analise as asserções a seguir: I. O caso de teste é um conjunto de condições usadas para teste de software. Ele pode ser desenvolvido para identificar defeitos na estrutura interna do software ou ainda, garantir que os requisitos do software que foi construído sejam plenamente atendidos. PORQUE II- casos de teste com baixa qualidade não exercitam partes críticas do programa. Analisando-se as asserções apresentadas, conclui-se que: (x) As asserções I e II são verdadeiras, e a II justifica a I. () As asserções I e II são verdadeiras, e a II não justifica a I. () A asserção I é verdadeira, e a II é falsa. () A asserção I é falsa, e a II é verdadeira. () As asserções I e II são falsas. Comentário As duas asserções são verdadeiras, e a segunda justifica a primeira.I. O caso de teste é, de fato, um conjunto de condições e critérios utilizados para testar o software. Ele pode ser desenvolvido para identificar defeitos na estrutura interna do software, por meio de testes estruturais, como testes de unidade, ou para garantir que os requisitos do software sejam plenamente atendidos, por meio de testes funcionais, como testes de aceitação do usuário.II. Casos de teste com baixa qualidade não exercitam partes críticas do programa. Isso significa que se um caso de teste não cobrir adequadamente partes críticas ou cenários relevantes do software, pode haver falhas que passam despercebidas, resultando em uma cobertura de teste insuficiente. Portanto, é fundamental que os casos de teste sejam bem elaborados e abranjam adequadamente as partes críticas do programa, a fim de garantir uma avaliação completa e eficaz do software.Assim, a asserção II reforça a importância dos casos de teste (asserção I), destacando que a qualidade dos casos de teste é crucial para garantir uma cobertura adequada e eficaz do software durante o processo de teste. Questão 4 O desenvolvimento dirigido a testes (TDD, do inglês Test-Driven Development), presente no XP, é uma abordagem para o desenvolvimento de programas em que se intercalam testes e desenvolvimento de código. Assinale a alternativa que apresenta o objetivo desta prática: () Mensurar, em uma taxa de erros por linha de código, o desempenho dos programadores envolvidos no processo. (x) Identificar e corrigir falhas durante o desenvolvimento, e não apenas ao final dele. () Identificar as falhas do levantamento de requisitos, a fim de mudar as estratégias desta fase. () Permitir que o cliente tenha acesso às falhas do projeto consideradas impossíveis de corrigir. () Rastrear o ciclo de uso do software, a fim de detectar as falhas residuais e permanentes do projeto. Comentário O objetivo principal do Desenvolvimento Dirigido por Testes (TDD) é identificar e corrigir falhas durante o desenvolvimento, e não apenas ao final dele. Essa prática incentiva os desenvolvedores a escreverem testes automatizados antes de escreverem o código de produção, o que permite a detecção precoce de defeitos e facilita sua correção imediata. Dessa forma, o TDD promove uma abordagem proativa para garantir a qualidade do software, integrando o processo de teste diretamente ao processo de desenvolvimento. Questão 5 Relacione a técnica de teste de software com o possível erro detectado: I. Teste caixa preta. II. Teste caixa branca. ( ) Erros de desempenho. ( ) Erros de comportamento. ( ) Erros de lógica em laços e condicionais. A seguir, assinale a alternativa que contém a sequência correta da associação: () I; I; I () I; II; I (x) I; I; II () I; II; II () II; I; II Comentário A associação correta entre a técnica de teste de software e o possível erro detectado é:I. Teste caixa preta: Erros de desempenho; Erros de comportamento.II. Teste caixa branca: Erros de lógica em laços e condicionais.Portanto, a sequência correta é: I; I; II.- Teste caixa preta é focado no comportamento do software, portanto, é mais adequado para detectar erros de desempenho e erros de comportamento.- Teste caixa branca é direcionado para examinar a lógica interna do software, incluindo laços e condicionais, sendo mais apropriado para detectar erros de lógica nesse contexto.