Baixe o app para aproveitar ainda mais
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) 3) 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 automatizados são amplamente utilizados em empresas de desenvolvimento por trazerem agilidade e facilidade a partir de sua execução. Estas empresas têm adotado também ferramentas de automação que utilizam técnicas de DSL. Assinale a alternativa que demonstra corretamente a principal característica de uma DSL. Alternativas: Oferece tradução de códigos mais complexos. Apresenta linguagem de fácil interpretação para o usuário. CORRETO Tem somente versões gratuitas. Tem baixo nível de abstração. Tem alto nível de abstração. Código da questão: 64238 Inspeções de software são utilizadas para a correção precoce de defeitos em artefatos. As técnicas aplicadas nesse momento podem ser usadas tanto em metodologias de desenvolvimento tradicionais quanto em metodologias ágeis. Um dos modelos ágeis bastante comum é o SCRUM, que, na sua essência, emprega a inspeção de artefatos de acordo com seu pilar. Nesse contexto, assinale a alternativa que demonstra corretamente os pilares em que se concentra a inspeção: Alternativas: Inspeção, codificação e adaptação. Transparência, inspeção e codificação. Transparência, codificação e adaptação. Transparência, inspeção e melhoria contínua. Transparência, inspeção e adaptação. CORRETO Código da questão: 64230 Sobre a contribuição característica dos testes automatizados, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Testes automatizados são muito bem aplicados em sistemas que sofrem alterações a todo momento, com isso a presença deles é frequentes e muitas vezes repetitiva. ( ) Testes automatizados de usabilidade são capazes de realizar atividades que envolvem técnicas de caixa branca. ( ) Testes automatizados podem ser aplicados apenas em Metodologia Ágeis. ( ) Testes automatizados de unidade são capazes de testar partes de um sistema de forma isolada. ( ) Testes automatizados de interface são capazes de simular o comportamento do usuário em diversos cenários diferentes. Assinale a alternativa que contenha a sequência correta de V e F: Resolução comentada: A DSL, ou linguagem específica de domínio, permite ao usuário interagir com o sistema e seus termos. Não utiliza apenas linguagem de programação, o que facilita muito a interpretação por parte do usuário. Resolução comentada: Estes pilares são responsáveis pela criação de sistemas de forma ágil e segura. Ser transparente quer dizer que todos os processos devem estar visíveis a todos os responsáveis. A inspeção (ponto-chave da questão) quer dizer que devem ser realizadas constantemente inspeções para a detecção de possíveis erros. Por sua vez, a adaptação representa os ajustes nos processos que foram alterados durante as modificações feitas na inspeção. 4) 5) Alternativas: F – V – F – V – F. F – V – V – V – V. V – F – F – V – F. V – F – F – V – V. CORRETO F – F – F – V – V. Código da questão: 64234 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_obtido. Resultado_esperado. @Test. CORRETO assertEquals. Código da questão: 64232 Teste funcional ou de caixa preta é uma técnica muito comum aplicada em testes de software. Sua funcionalidade é testar se os requisitos do sistema foram atingidos. Nesse modelo, podemos destacar a técnica de valor limite. Em um sistema computacional, a tela de cadastro possui como campo de entrada de dados a data de nascimento, que aceita valores de ano de nascimento de 1990 a 2021. Nesse caso, usando a técnica de valor limite, assinale a alternativa com os valores que o testador usaria. Alternativas: 1989, 1990, 2020, 2021. CORRETO 1989, 1990, 2020, 0. Resolução comentada: A primeira, a quarta e a quinta afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Segunda – Os testes de usabilidade são responsáveis por testar características como interface e funcionalidade do sistema, avaliando o grau de satisfação do usuário. Deste modo, são aplicadas técnicas de caixa preta. Terceira – Apesar de estarem mais presentes nas Metodologias Ágeis, ainda existem empresas de desenvolvimento que adotam metodologias tradicionais de desenvolvimento. Portanto, os testes automatizados são aplicados em ambas metodologias. 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. 6) 7) 1989, 1991, 2021, 0. 0, 1998, 1999, 2021. 1989, 0, 2020, 2021. Código da questão: 64223 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: Dois. Três. CORRETO Sete. Quatro. Seis. Código da questão: 64224 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; gerente 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, analista de automação de teste; arquiteto de teste. Tester; analista de teste; arquiteto de teste. CORRETO Resolução comentada: A técnica de análise de valor limite faz uso dos valores: mínimo inválido, mínimo válido, máximo válido e máximo inválido, onde 1989 é o valor mínimo inválido, 1990 o valor mínimo válido, 2020 o valor máximo válido e 2021 o valor máximo inválido. 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 Resolução comentada: 8) 9) 10) Código da questão: 64212 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. Técnica em V. Checklist. Ad-hoc. CORRETO Caixa preta. Código da questão: 64225 Em testes de software, quanto mais cedo se iniciam as atividades de testagem, mais barata será a correção dos eventuais erros e mais fácil será de encontrá-los. Para se conquistar estas correções, desde o início, os testes possuem também ciclos de vida, osquais são definidos por fases e processos. Sobre as fases que norteiam o ciclo de vida de testes de software, analise as alternativas a seguir e identifique a sequência correta. Alternativas: Levantamento de requisitos, análise, preparação, codificação, especificação, execução e entrega. Procedimentos iniciais, planejamento, preparação, especificação, execução, entrega e testes. Procedimentos iniciais, planejamento, preparação, especificação, codificação, testes e entrega. Procedimentos iniciais, planejamento, preparação, especificação, execução e entrega. CORRETO Procedimentos iniciais, planejamento, codificação, execução, preparação, entrega e testes. Código da questão: 64183 Ter conhecimento sobre técnicas de testes de software e sua empregabilidade é de extrema importância para que 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. 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 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: As etapas do ciclo de vida de testes de software devem ser bem definidas e bem divididas, pois analisar erros em pequenas etapas é bem mais fácil do que o sistema como um todo. É por isso que os testes possuem esse ciclo de vida. Alternativas: Ambiente de desenvolvimento, ambiente de testes, ambiente de produção. CORRETO Ambiente de produção, ambiente de desenvolvimento, ambiente de entrega. Ambiente de planejamento, ambiente de codificação e ambiente de produção. Ambiente de desenvolvimento, ambiente de testes, ambiente de inspeção. Ambiente de levantamento de requisitos, ambiente de codificação e ambiente de produção. Código da questão: 64218 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. Arquivos e Links
Compartilhar