Prévia do material em texto
Teste e inspeção de software: técnicas e automatização Professor(a): Stella Marys Dornelas Lamounier (Mestrado acadêmico) 1) 2) Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! Testes podem ser processados de forma manual ou automatizada. Os testes manuais são muitas vezes utilizados para testar os requisitos do sistema, e os automatizados são utilizados em sistemas mais complexos e de grande porte. Sobre a captação de recursos para esta empresa, analise as assertivas a seguir e identifique as corretas: I. Softwares do tipo ad hoc são amplamente empregados em testes manuais, os quais exigirão do testador, no mínimo, curiosidade para realizar as atividades. II. Um modelo de teste que pode ser empegado em testes automatizado é o modelo de regressão. III. Um plano de testes poderá ser utilizado tanto de forma manual quanto de maneira automatizada. IV. Testes automatizados seguem a linha da Pirâmide de testes, composta por: testes de ambiente, testes de codificação e testes de sistemas/testes de GUI. V. Técnicas manuais são modelos que empregam a interferência humana e sistemas criados pela própria empresa de desenvolvimento. São verdadeiras: Alternativas: I, III e IV apenas. II, III e IV apenas. III, IV e V apenas. I, II e III apenas. CORRETO I, III e V apenas. Código da questão: 64222 Um framework muito utilizado para a criação de testes automatizados de unidade é o JUNIT, cuja execução está relacionada à linguagem Java e que pode ser criado utilizando a IDE “NetBeans”. Analise a figura a seguir a assinale a palavra-chave que identifica, no código fonte, onde começará a execução do teste. Figura 1 – Código fonte Fonte: elaborada pela autora. Alternativas: testExecutaCalculo. Resultado_esperado. Resultado_obtido. assertEquals. Resolução comentada: IV é incorreta, pois a pirâmide de testes é constituída por testes unitários, testes de integração e testes de sistemas/testes de GUI, cada um com sua particularidade. V é incorreta, pois os testes manuais empregam apenas a interferência humana, o que demanda mais mão de obra especializada, elevando o tempo e o custo do projeto. Avaliação enviada com sucesso 3) 4) @Test. CORRETO Código da questão: 64232 De forma geral, os testes são divididos em uma pirâmide que representa as atividades sequenciais de cada modelo. Na base dessa pirâmide, temos os __________, responsáveis por realizar testes em partes isoladas do sistema. Posteriormente, no meio dela, temos os _________, cuja funcionalidade é a de testar a combinação das partes que compõem o sistema. Por fim, os _____________ são responsáveis por testar as funcionalidades do sistema, como interface, cores, botões e fontes. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Testes unitários; testes de integração; testes de sistemas. CORRETO Testes de integração; testes unitários; testes de sistemas. Testes sistemas; testes de unitários; testes de integração. Testes de sistemas; testes de integração; testes de unitários. Testes unitários; testes de sistemas; testes de integração. Código da questão: 64219 Inspeções de testes devem ser aplicadas antecipadamente nos artefatos de software, mas, para que isso ocorra de forma correta, é preciso cumprir as etapas de inspeção de software. Sobre as etapas de inspeção, analise as assertivas a seguir e identifique as corretas: I. É na discriminação que são criados todos os documentos a serem analisados. II. Na etapa de retrabalho, o moderador realiza todas as correções de artefatos. III. Na etapa de continuação, o autor é quem decide se os artefatos devem ou não ser reavaliados. IV. Todo o planejamento de inspeção é realizado pelo moderador, que tem como responsabilidade organizar e separar os documentos que serão inspecionados. V. Na etapa de detecção, são feitas as atividades que encontram defeitos nos artefatos. São verdadeiras: Alternativas: II, III e IV apenas. IV e V apenas. CORRETO I, II e III apenas. I, III e V apenas. I, III e IV apenas. Código da questão: 64229 Resolução comentada: Na utilização do JUnit, na IDE NetBeans, a execução do teste só é realizada dentro do bloco marcado pela palavra-chave @Test. Caso ela não apareça no código fonte, por mais que o teste ou o bloco a ser testado esteja correto, é impossível que sua execução aconteça. Resolução comentada: Esses testes compõem um ciclo capaz de testar as principais etapas no desenvolvimento de um software. Infelizmente é impossível testar o sistema por inteiro, deste modo é fundamental iniciar testando um pequeno conjunto de blocos, passando para a integração de cada bloco e depois testando o sistema como um todo através de suas principais funcionalidades. Resolução comentada: As afirmativas I, II e III estão incorretas: I. Na discriminação é criada a lista de defeitos. II. Quem realiza a etapa de retrabalho é o autor. III. A etapa de continuação é realizada pelo moderador. Avaliação enviada com sucesso 5) 6) O __________ é o profissional responsável pela execução dos testes. O profissional responsável pela modelagem e pela elaboração dos casos de testes é o ___________ e o profissional que é responsável pela montagem da infraestrutura de teste é o ___________. Assinale a alternativa que completa adequadamente as lacunas: Alternativas: Líder de teste, analista de automação de teste; arquiteto de teste. Gerente de teste, analista de automação de teste e tester. Tester; gerente de teste; analista de automação de teste. Líder de teste; gerente de teste; arquiteto de teste. Tester; analista de teste; arquiteto de teste. CORRETO Código da questão: 64212 Testes estruturais ou de caixa branca são utilizados para testar a parte interna do sistema, isto é, o código fonte do software. Este modelo aborda a complexidade ciclomática, que tem como funcionalidade garantir que todos os caminhos sejam testados. Analise o grafo a seguir, aplique a técnica da complexidade ciclomática e assinale a alternativa que demonstra corretamente a quantidade de caminhos a serem percorridos pelo testado. Figura 1 – Testes do caminho básico Fonte: elaborada pela autora. Alternativas: Sete. Dois. Três. CORRETO Quatro. Seis. Código da questão: 64224 Resolução comentada: O tester é o principal responsável pela execução dos testes, é ele que realiza testes como de caixa branca, testes unitários etc. O analista de teste tem como responsabilidade modelar os testes e, muitas vezes, deverá deter conhecimentos de Análise de Sistemas e UML e precisará conhecer muito bem o sistema que está sendo construído. Por fim, o arquiteto de teste, como o próprio nome diz, tem a responsabilidade de montar uma infraestrutura para testes, escolhendo ferramentas, sistemas operacionais e o ambiente para a equipe. Resolução comentada: O cálculo da complexidade ciclomática é feito a partir da equação matemática: V(G) = arestas – nós + 2. Na figura, temos oito arestas representadas pelas setas e sete nós representados pelo círculo. Aplicando a fórmula, temos: 8 – 7 + 2 = 3 Avaliação enviada com sucesso 7) 8) 9) Técnicas de inspeção de software têm como objetivo detectar defeitos em artefatos de forma precoce. Neste contexto, é possível aplicar uma técnica para cuja execução não há necessidade de se ter sequer um planejamento, uma vez que ela é realizada de acordo com o conhecimento e a experiência do revisor. Assinale a assertiva que demonstre a técnica que apresenta estas características. Alternativas: Caixa branca. Ad-hoc. CORRETO Técnica em V. Caixa preta. Checklist. Código da questão: 64225 Ter conhecimento sobre técnicas de testes de software e sua empregabilidade é de extrema importância paraque a entrega do sistema tenha a qualidade tão desejada pelo cliente. Mas testes de software não se limitam apenas a técnicas, é preciso dividi-los em ambientes que configurem a utilização correta em cada um destes espaços. Nesse contexto, um conjunto de ambientes de testes é dividido em três. Assinale a assertiva que nomeie corretamente cada um desses ambientes. Alternativas: Ambiente de desenvolvimento, ambiente de testes, ambiente de inspeção. Ambiente de desenvolvimento, ambiente de testes, ambiente de produção. CORRETO Ambiente de planejamento, ambiente de codificação e ambiente de produção. Ambiente de levantamento de requisitos, ambiente de codificação e ambiente de produção. Ambiente de produção, ambiente de desenvolvimento, ambiente de entrega. Código da questão: 64218 Testes automatizados foram criados para aumentar a qualidade do software; são dotados de ferramentas e de frameworks que podem substituir, em algumas atividades, os testes manuais. Assinale a alternativa que apresenta uma característica de testes automatizados: Alternativas: Têm baixo investimento. São rápidos. CORRETO Têm atividades realizadas exclusivamente por pessoas e por isso representam um maior custo humano. Menor confiabilidade. Resolução comentada: O uso da técnica ad-hoc, apesar de sua informalidade, tem ganhado muito espaço entre as empresas de desenvolvimento de software, visto que sua execução é rápida e objetiva, sem a presença de protocolos e de documentos que, muitas vezes, podem atrapalhar o andamento das inspeções. Porém, deve-se tomar muito cuidado com ela, pois é muito dependente do conhecimento do revisor; assim, se porventura for um profissional com pouca experiência, muitos testes podem passar de forma despercebida. Resolução comentada: Ambientes de testes devem ser divididos de acordo com a criação de um sistema. Após o levantamento de requisitos, passa-se para a fase de desenvolvimento, na qual serão realizados testes que visam encontrar erros de programação, rotinas e caminhos. Encerrada esta fase, é hora de se preocupar com o ambiente de teste, ou seja, é momento de verificar se as funcionalidades e a usabilidade dos sistemas estão de acordo com o esperado. Por fim, passa-se para o ambiente de produção, que caracteriza os testes relacionados à performance e à carga do sistema. Deve-se seguir ao máximo este roteiro de ambiente, iniciando-se com o desenvolvimento até a entrega e a realização dos testes com o cliente. Avaliação enviada com sucesso 10) São dependentes de linguagem natural. Código da questão: 64237 Sobre inspeção de software em seu contexto amplo, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Os checklists são amplamente utilizados em empresas de desenvolvimento por apresentarem uma abordagem simples, mas que auxilia o revisor a detectar erros a partir de questões precisas. ( ) A metodologia Ágil tem como característica a flexibilidade com relação à utilização de requisitos, isto é, sempre que possível, eles podem ser reavaliados para uma correção mais precisa e eficiente. ( ) Os modelos tradicionais de processos de software não são mais utilizados nos tempos de hoje por terem se tornado obsoletos, e por isso nenhuma empresa mais utiliza esses ciclos de desenvolvimento. ( ) O Scrum é um framework das metodologias tradicionais de desenvolvimento de software. ( ) A técnica de inspeção ad-hoc é marcada especialmente pela informalidade para inspeção de artefatos. Assinale a alternativa que contenha a sequência correta de V e F: Alternativas: F – V – F – V – F. V – V – F – F – V. CORRETO F – V – V – V – F. V – F – F – V – F. F – V – V – V – V. Código da questão: 64227 Resolução comentada: Esses testes, por serem executados por alguma ferramenta ou framework, são bem mais rápidos e exatos quando testados apenas pelas ações humanas, uma vez que, quando realizados de forma manual, podem englobar outros fatores, como a experiência do usuário e seu conhecimento técnico. Resolução comentada: Veja a forma correta das afirmativas falsas: Terceira – Apesar de estarem ultrapassados, ainda existem muitas empresas de desenvolvimento que aplicam modelos tradicionais de desenvolvimento, como o cascata ou o prototipação. Quarta – O Scrum é um dos frameworks mais utilizados em metodologias ágeis, tendo como uma de suas características a flexibilidade com relação aos requisitos e reuniões diárias para análise de tudo o que foi produzido. Arquivos e Links Avaliação enviada com sucesso