Prévia do material em texto
Unidade 1 - Qualidade de Software 1. Um dos grandes problemas que traz transtornos para as empresas desenvolvedoras de software é a presença de bugs no sistema. Isto porque eles afetam a satisfação do cliente com o sistema. Analise as alternativas a seguir e assinale a que define corretamente erro, defeito e falha: B. Por causa da atitude errônea de João (que inseriu por engano uma função infinitamente recursiva no programa), quando Ana efetuou testes unitários no código fonte, ela identificou um defeito (uma linha defeituosa) no código. 2. A área de qualidade de software é a principal responsável por garantir a satisfação do cliente para com o software que foi entregue, desta forma, essa área se preocupa não apenas em entregar o software funcionando, mas em entregar o software em conformidade com os requisitos estabelecidos pelo cliente. Para ajudar nesse processo de garantia da qualidade, a área de qualidade de processos norteia a organização da estrutura de trabalho da empresa. Sobre qualidade de processos, analise a alternativa CORRETA: E. O nível V do CMMI é o último nível de maturidade, ele considera que todos os processos já estão definidos e são seguidos pela empresa, estando em constante otimização. 3. A regra 10 de Myers estima que o prejuízo causado por um defeito no sistema aumenta 10 vezes a cada etapa do processo de desenvolvimento que é avançado. Desta forma, é de extrema importância encontrar precocemente os defeitos antes que estes se tornem falhas e sejam visíveis para o cliente. Esta é uma função do segmento de qualidade de produto. Sobre qualidade de produto, analise as alternativas a seguir e assinale a alternativa CORRETA: A. É parte da atribuição do segmento de qualidade de produto realizar junto com o cliente uma verificação antes da entrega do software para garantir que o software entregue está de acordo com o solicitado. 4. Os modelos CMMI e MPS-BR têm por objetivo auxiliar as empresas na organização de seus processos e avaliar a maturidade a qual os processos das empresas se encontram. Sobre estes dois modelos, assinale a alternativa CORRETA: B. O modelo MPS-BR pode ser considerado uma extensão do CMMI, uma vez que ele replica os níveis do CMMI complementando os níveis intermediários. 5. A qualidade da entrega dos produtos é fundamental para a fidelização do cliente e o ganho de confiança. Isto se aplica para software e para qualquer outro produto ou serviço que seja fornecido por uma empresa para clientes. Sobre a importância da qualidade de software, assinale a alternativa CORRETA: D. Um dos benefícios aliados à qualidade de usuário é melhorar a experiência deste. Unidade 2 - Qualidade de software e aplicações 1. As auditorias podem ser realizadas por três tipos de avaliadores: por um órgão independente, dentro da própria organização e por outra organização que é parte interessada no processo auditado. As denominações dessas três formas são, respectivamente: E. auditoria de terceira parte, auditoria de primeira parte e auditoria de segunda parte. 2. A realização de revisões de software é uma prática que pode ser estabelecida nos projetos de software para garantia de qualidade. Sobre os itens elencados a seguir: I. Código-fonte II. Especificação de casos de uso III. Modelos de banco de dados IV. Condutas individuais V. Protótipos Quais podem ser revisados? D. Apenas os itens I, II, III e V. 3. As revisões de software são utilizadas como ponto de controle para garantia da qualidade de software. Um ponto essencial é definir quem será o responsável por uma revisão. Em relação à responsabilidade pela execução das revisões, assinale a alternativa correta. C. A revisão deve ser feita, preferencialmente, por profissional diferente daquele que construiu o artefato, para que haja uma leitura diferente. 4. Quando se fala de qualidade relacionada a qualquer objeto, produto ou processo, fica sempre uma incerteza se o que é qualidade para um é também para o outro. Com o intuito de normatizar o assunto, o IEEE, que é um instituto reconhecido mundialmente por produzir normas em diversas áreas, criou as normas IEEE 1012 e IEEE 1028 para determinar padrões em relação à qualidade de software. Em relação ao escopo dessas normas, considere os seguintes processos: I. Verificação e validação II. Inspeção III. Revisão IV. Investigação V. Auditoria São processos contemplados pelas normas IEEE 1012 e IEEE 1028: B. I, II, III e V, apenas. 5. É muito comum haver confusão entre verificação e validação. Ambas são complementares, mas são atividades diferentes. Em relação à validação, assinale a alternativa correta. A. Validação é a confirmação de que o software atende às necessidades do cliente. Unidade 3 - Abordagens Formais e Garantia Estatística de Qualidade de Software 1. Musa (1987), citado por Pressman (2016), traz a definição de confiabilidade de um software como a probabilidade de operação livre de falhas de um programa de computador em ambiente específico durante determinado tempo especificado. Logo, pode-se dizer que a confiabilidade: I. considera que um número máximo de falhas ocorrerá na compilação do software, dada a garantia de que atenderá a parâmetros de conformidade. II. considera que um número mínimo de falhas ocorrerá na execução do software, dada a garantia de que atenderá a parâmetros de conformidade. III. considera que um número mínimo de acertos ocorrerá na execução do software, dada a garantia de que atenderá a parâmetros de conformidade. Qual(is) afirmativa(s) está(ão) correta(s)? B. Apenas a afirmativa II está correta. 2. Atividade para garantia da qualidade de software que encontra e avalia riscos em potencial e pode provocar falhas e impactar o desempenho de todo o sistema. É correto afirmar que esse conceito pertence: C. à segurança de software. 3. Grande parte das pessoas, principalmente estudantes de Computação e desenvolvedores, fica preocupada com a ideia de haver erros no software e, ainda assim, ter que garantir um produto de qualidade. Pensando nisso, como são classificadas as falhas que causam prejuízos menores ao sistema, promovendo atrasos e indisponibilidade? E. Marginais. 4. A empresa de jogos digitais JogarMais S. A. desenvolveu uma versão beta de um jogo a ser disponibilizado a partir do segundo semestre de 2019. Para realizar medições que verifiquem a qualidade do software, escolheram usuários leigos (jogadores) para que realizassem os testes. Quais são as possíveis métricas obtidas para que a avaliação seja feita? D. Usabilidade, portabilidade. 5. O modelo GQM estabelece uma medição voltada para metas de desenvolvimento de software, em que a equipe, geralmente, inicia com metas das organizações, define a medição dessas metas, levanta questões a respeito dos objetivos e identifica métricas que trarão as respostas às questões levantadas. Esse método é dividido hierarquicamente em três níveis. Quais são eles? B. Conceitual, operacional e quantitativo. Unidade 4 - Abordagens Formais e Garantia Estatística de Qualidade de Software 1. O CMMI é uma metodologia criada pelo Instituto de Engenharia de Software (que, em inglês, atende pela sigla SEI) para ser um guia destinado a melhorar os processos organizacionais de produtos de software e serviços das empresas. De acordo com o CMMI, os níveis de maturidade são como se fossem uma classificação escalável de desempenho das empresas e todos os esforços de melhoria de processos com base em conjuntos predefinidos. Dentro de cada nível de maturidade, o conjunto predefinido de área de processo (PA) também fornece um caminho para a melhoria de desempenho. Cada nível de maturidade tem como base os níveis de maturidade anteriores, adicionando novas funcionalidades. De acordo com o CMMI, o nível de maturidade de uma empresa pode ser classificado em 5 níveis. Assinale a alternativa correta com uma característica associada ao nível 3. E. Os processos utilizados são estabelecidos e padronizados em toda a empresa. 2. O CMMI (do inglês capability maturity model, ou modelo de maturidade emcapacitação) foi criado a partir de uma evolução do CMM, buscando ser um modelo de referência de práticas necessárias para atingir a maturidade das empresas. Considerando tal informação e com base no seu conhecimento sobre CMMI, assinale a alternativa correta. B. O CMMI procura estabelecer um modelo único para o processo de melhoria corporativo, integrando diferentes modelos e disciplinas. 3. Os níveis de maturidade do CMMI representam um conjunto predefinido de áreas de processo, mais conhecidas como PA. Esses níveis são medidos pelo alcance dos objetivos específicos e genéricos que se aplicam a cada conjunto predefinido de áreas de processo. Como o CMMI prevê cinco níveis de maturidade, marque a alternativa correta, na qual o nível de maturidade faz o uso de melhorias tecnológicas incrementais e inovadoras. D. No nível de otimização há foco contínuo na melhoria dos processos. 4. O modelo CMMI na versão v1.2 contém 22 áreas de processo. As empresas que estão nos estágios de Desempenho de Processo Organizacional — OPP (Organizational Process Performance) e que visam melhorar os processos por meio de análises e otimizações que podem ser usadas para avaliar o desempenho dentro da empresa, encontram-se em qual nível de maturidade? Marque a alternativa correta. D. Nível 4 — Quantitativamente gerenciado. 5. Conforme o CMMI, um processo de software tem cinco níveis de maturidade. Considere uma empresa em que o sucesso dependa de talentos individuais, não há coordenação e bom relacionamento entre as áreas, não há previsão de problemas e sequer planejamento. Em qual nível de maturidade na certificação CMMI o processo de software dessa empresa estará? Marque a alternativa correta. A. Nível 1 — Inicial. Unidade 5 - Técnicas de qualidade de software 1. Uma revisão de software normalmente se refere à verificação informal ou inspeção de documentos técnicos, mas, produzida por outra pessoa, pode ser organizada tanto como um esforço individual quanto como um esforço em conjunto em reuniões. Na área de engenharia de software, há vários tipos de revisões. De acordo com o padrão IEEE 1028, há cinco tipos de revisões definidas. Sobre elas, pode-se afirmar que: A. as revisões técnicas focam a avaliação de um produto de software por uma equipe de profissionais qualificados para determinar sua adequação para o uso pretendido e identificar discrepâncias de especificações e padrões. 2. A revisão informal de software é mais casual, mas ainda assim pode ser muito eficaz na identificação de erros. É caracterizada por planejamento e preparação mínimos e poucos registros. Assinale a alternativa que apresenta dois tipos de revisão informal. C. Desk-check e pair programming. 3. A revisão formal é um tipo de revisão de software que segue um conjunto de etapas e é mais regulamentada, controlada e estruturada do que a revisão informal. Por meio dela, é possível revisar vários componentes do software, como design, código, estrutura e requisitos, entre outros. Sobre as etapas para realizar uma revisão formal, é correto afirmar que: B. na etapa de planejamento, tem-se a atribuição das tarefas e funções aos membros da equipe de forma adequada. 4. A revisão de software é uma das técnicas para identificar defeitos e não conformidades e, assim, melhorar a qualidade do software. Além disso, aumenta a produtividade da equipe de desenvolvimento e também torna o processo de teste mais econômico. O processo de revisão é dividido em três etapas. Sobre elas, é correto afirmar que: E. as atividades de pré-revisão envolvem formação da equipe, definição de horário e local, e distribuição dos documentos que serão revisados. 5. O ambiente de negócios vem crescendo nos últimos anos e as empresas têm se tornado dependentes de softwares cada vez mais complexos. Nesse contexto, é essencial que esses softwares forneçam a capacidade necessária para realizar as ações desejadas, tenham qualidade, estejam disponíveis e sejam entregues a um preço aceitável. Para isso, a revisão de software é um método popular. Sobre a técnica de revisão por amostragem, analise as sentenças a seguir: I. Reduz o esforço, inspecionando todos os produtos desenvolvidos, para determinar quais são mais sujeitos a erros. II. O objetivo principal é se concentrar nos produtos que contêm a maioria das falhas, considerando os dados coletados durante a amostragem. III. Com essa técnica, a busca por falhas é dividida em três partes: pré-inspeção, inspeção principal e pós-inspeção. IV. Não é necessário utilizar nenhuma técnica de leitura específica, podendo ser aplicado qualquer tipo de técnica pelos revisores. É correto apenas o que se afirma em: D. I, II e IV. Unidade 6 - Qualidade do Processo de Software. Qualidade do Produto de Software. Processo de Garantia da Qualidade e Processos Relacionados 1. Analise as alternativas a seguir e assinale a que corresponde a um dos objetivos das revisões técnicas formais de software. E. Garantir que o software atenda aos requisitos especificados. 2. Analise as alternativas a seguir e assinale a que corresponde a um objetivo das inspeções de software. C. Detecção de defeitos. 3. Para Pressman (2016), no que se refere à qualidade de software, as revisões, as inspeções e os testes realizados ao longo do processo de software para garantir que o produto satisfaça os requisitos estabelecidos, são conhecidos como: C. controle de qualidade. 4. No gerenciamento da qualidade, como é conhecido quando são estabelecidos padrões organizacionais e uma estrutura de procedimentos para condução de um software de qualidade? B. Garantia da qualidade. 5. As técnicas de prototipação e de revisão de requisito são as mais utilizadas para: B. a validação de requisitos. Unidade 7 - Modelos de qualidade de software 1. Na engenharia de software, quando se fala em satisfação de requisitos, normas de desenvolvimento documentadas e satisfação dos clientes quanto à entrega do que foi esperado, trata-se de: C. Qualidade de software. 2. No que diz respeito à avaliação de qualidade de software, o conceito de corretude é: D. A medida com que um programa satisfaz sua especificação e cumpre os objetivos visados pelo cliente. 3. No desenvolvimento de um software, a qualidade é um item de grande importância. Sobre as propriedades utilizadas para determinar a qualidade de um software, é correto afirmar que: D. verifica-se a satisfação de requisitos estabelecidos, incluindo o desempenho. 4. Analise as afirmativas abaixo e assinale a alternativa que corresponde às principais características do CMMI. A. Avaliar a qualidade do processo a partir da avaliação do nível de maturidade de diversas categorias contidas nele. 5. Analise as opções a seguir e marque a alternativa em que se apresentam apenas modelos de qualidade de software. D. CMMI, MPS.BR e ISO9000-1. Unidade 8 - Melhorias de processos de Software 1. Você é analista de sistemas, mas trabalha com atendimento ao cliente e suporte. Durante a entrega de um novo software para uma empresa, enquanto você dava explicações detalhadas sobre o funcionamento do sistema, passou a ouvir reclamações dos clientes, que apontavam vários aspectos que estavam diferentes do que havia sido pedido. Infelizmente, a entrega do software foi um fracasso, e você logo percebeu que o motivo disso foi, principalmente: C. escopo do projeto mal definido ou incompleto. 2. Você começou a trabalhar em uma empresa produtora de softwares que se encontra em fase de implantação de um modelo para seus processos. Lendo a documentação já elaborada, você percebeu que o grande objetivo da sistematização dos processos é, na verdade, eliminar qualquer falha que possa existir nos produtos entregues. Qual é o modelo que está sendo implantado? A. Seis Sigma. 3. Você foi contratado para trabalhar em uma empresa produtora de software que se encontra em fase de implantação de um modelo para seus processos. Lendo a documentação já elaborada e participando das reuniões, você entendeu que existe certa organização na execuçãodos projetos, apesar de as atividades executadas serem diferentes em cada projeto, dependendo do cliente e do software a ser produzido. Qual é o modelo que está sendo implantado e em qual nível a empresa se encontra? E. CMMI – nível 2 de capacidade. 4. Imagine que você é consultor para melhoria de processos em empresas fabricantes de software. Uma pequena empresa chamou você para uma reunião, e lhe informou que, apesar de estar há muitos anos no mercado, conta apenas com o conhecimento e a experiência de cada analista, dentro de suas atividades, para que os projetos sejam entregues. O objetivo é que seja implantado algum modelo de melhoria de processo de software, a fim de mudar hábitos, organizar os processos e sistematizar as atividades, mas sem que isso traga um impacto muito brusco no andamento do trabalho e no ambiente profissional, ou seja, não há pressa, e sim a necessidade de que o processo de implantação transcorra da melhor maneira possível, sem impactos negativos. Qual o melhor modelo a implantar na empresa? C. MPS.BR. 5. Você é consultor de implantação de modelos de melhoria de processos de software, e foi chamado para fazer uma primeira avaliação em uma empresa. Por meio da sua observação durante a execução das atividades, foi possível perceber que, antes mesmo de o projeto ser iniciado, existe uma grande preocupação em identificar e analisar cada problema que possa acontecer ao longo do projeto, principalmente aqueles que podem trazer algum impacto negativo nos prazos ou no orçamento predefinido pelo cliente, além de sugerir soluções para cada um deles. Em que nível de maturidade essa empresa se encontra no modelo MPS.BR? D. Nível C. Unidade 9 - Métricas de software 1. Métricas de software são formas utilizadas para quantificar o esforço necessário para o desenvolvimento de um sistema de software. É correto afirmar que: D. linhas de código, esforço e memória são consideradas métricas diretas. 2. As métricas de software são amplamente utilizadas para fazer gerenciamento de projetos de software. Sendo assim, assinale a alternativa que corresponde à utilidade principal das métricas. A. Servem para medir a produtividade da equipe e indicar a qualidade do produto. 3. Um processo de métricas de software pode ser caracterizado por cinco atividades. Assinale a alternativa que corresponde à atividade utilizada para acumular os dados. A. Coleta. 4. Métricas de software podem ser diretas ou indiretas. Sendo assim, assinale a alternativa correta. A. Métricas diretas são aquelas que representam uma quantidade observada, tais como custo, esforço, número de linhas de código, tempo de execução e número de defeitos. 5. De acordo com as métricas de software, a análise dos pontos de função é uma forma de medição das funcionalidades fornecidas por um software sob o ponto de vista: B. dos usuários. Unidade 10 - Métricas de qualidade de software 1. No processo de desenvolvimento de um software, uma das grandes preocupações da equipe está relacionada à qualidade do produto, ou seja, ela trabalha muito para dirimir os defeitos de software. Segundo Pressman (2011), a definição de defeito de software é um problema de qualidade encontrado em qual fase da criação do software? D. Após a fase de implantação. 2. As métricas de qualidade de software apresentam diversos indicadores e atributos relacionados que, juntos, mensuram o quanto um software está adequado para uso. Os mesmos indicadores podem mostrar também os possíveis problemas estruturais da aplicação, dando insumos de como devem ser realizadas as correções. De acordo com os atributos de qualidade de software, as características acurácia, interoperabilidade e segurança de acesso estão agrupadas em qual indicador? C. Funcionalidade. 3. Para que um software seja um sucesso, deve ser desenvolvido segundo os requisitos definidos e entregue na data, e seu custo deve ficar dentro do planejado. Com relação à qualidade do software, assinale a alternativa correta. D. A qualidade de um software é conhecida por métricas que geram indicadores que mostram a eficiência na criação do produto. 4. Medir é um processo importante no desenvolvimento de um software, pois, por meio dele, podem ser observados vários indicadores que demonstram o nível de qualidade e maturidade. Com relação ao processo de medição da qualidade de software, analise as afirmativas a seguir: I. Existem requisitos implícitos e explícitos que fazem parte do software e que, portanto, devem ter sua qualidade medida. II. A falta de conformidade de um software com os requisitos previstos já é um indício de que a qualidade do produto não está adequada. III. As métricas são importantes para desenvolver estratégias visando à melhoria do processo de software. IV. Indicadores anômalos são os componentes que podem comprometer a qualidade do software. Escolha a alternativa que mostra as opções corretas. B. I, II, III e IV. 5. A partir da ISO-9126, ocorre a parametrização da qualidade de software. Relacione as características com as subcaracterísticas da norma que parametriza a qualidade de software e escolha a alternativa correta. Características: 1. Funcionalidade 2. Confiabilidade 3. Usabilidade 4. Eficiência 5. Manutenibilidade 6. Portabilidade Subcaracterísticas: A. Atratividade B. Modificabilidade C. Acurácia D. Recuperabilidade E. Adaptabilidade F. Utilização de recursos A. 1C – 2D – 3A – 4F – 5B – 6E. Unidade 11 - Métricas de produtividade de software 1. Métricas de software são fundamentais para o bom planejamento e desenvolvimento de uma aplicação. A seguir, estão alguns itens de métricas. Assinale a alternativa que exibe somente itens da métrica de pontos por função: C. Arquivos internos, transações de entrada, relatórios de saída. 2. No desenvolvimento de um software, há a fase de planejamento, momento em que se faz uma estimativa de esforço inicial, ou seja, por meio de uma métrica de produtividade, se consegue calcular quantos profissionais são necessários para cumprir prazo e custos com base nos requisitos do sistema. Como se denomina esse processo? C. Número de pontos de função. 3. Uma empresa deseja alterar uma aplicação, adicionando uma funcionalidade de pesquisa de clientes por e-mail e retornando o nome do cliente, nascimento, CPF e celular na tela. De acordo com a APF (análise de pontos por função), assinale a alternativa que contém o nome da função e o número de funções transacionais para implementar a funcionalidade: D. CE - 1. 4. As métricas de produtividade de software são ferramentas que auxiliam na garantia de um bom gerenciamento e desenvolvimento de aplicações. Sobre tais métricas, julgue V (verdadeiro) ou F (falso) as afirmações a seguir: ( ) Métricas orientadas ao tamanho consistem em contagem de linhas de código e estão diretamente ligadas às linguagens de programação. ( ) Métricas orientadas ao tamanho têm uma medida LOC (line of code), que é qualquer linha do programa, exceto linhas em branco e linhas de comentário. ( ) Métricas orientadas por função têm cinco itens que determinam a complexidade da funcionalidade. ( ) Métricas orientadas por função analisam os requisitos sob o ponto de vista dos desenvolvedores. ( ) Confiabilidade, complexidade, funcionalidade, qualidade e eficiência são exemplos de métricas diretas de software. Assinale a alternativa que indica a sequência correta: A. V, V, V, F, F. 5. Métricas são formas de medir como está o desenvolvimento de um projeto, verificar se a empresa está melhorando, avaliar a maturidade do processo e justificar treinamentos e ferramentas. Com relação às métricas de produtividade de software, pode-se afirmar o seguinte: I. A contagem de linhas de código (LOC) constitui um exemplo de métrica indireta. II. As métricas de software podem ser classificadas em medidas diretas ou quantitativas e medidas indiretas ou qualitativas. III. LOC são medidas utilizadas para a aplicação da métrica de pontos por função. Assinale a alternativa correta: B. É correta apenas a afirmativaII. Unidade 12 - Teste de Software 1. Qual destas definições representa um teste de software? A. O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos. 2. O comportamento interno do componente de software trabalha diretamente sobre o código-fonte do componente de software para avaliar aspectos como teste de condição, teste de fluxo de dados, teste de ciclos, teste de caminhos lógicos e códigos nunca executados. Das técnicas apresentadas a seguir, qual avalia esse comportamento interno do componente de software? B. Teste de caixa-branca. 3. Qual é a fase de teste em que se testam as menores unidades de software desenvolvidas (pequenas partes ou unidades do sistema)? E. Teste de unidade. 4. O que é TDD na Engenharia de Software? E. O TDD é uma técnica de desenvolvimento de software que se baseia na criação inicial de testes de software antes mesmo do desenvolvimento. 5. O ciclo de vida de testes de software tem cinco fases: planejamento, preparação, especificação, execução e entrega. Qual fase tem como objetivo elaborar e revisar os casos e roteiros de testes? D. Especificação. Unidade 13 - Ferramentas de teste 1. Os testes de software precisam ser realizados ao longo de todo o ciclo de vida do projeto de desenvolvimento do software, pois quanto antes os problemas forem encontrados, mais fácil e menos custoso será corrigi-los. Durante a realização dos testes de software, é possível encontrar três tipos de problemas, e entre eles está: A. Defeito. 2. A utilização de ferramentas automatizadas de teste de software assegura maior produtividade e agilidade. Outro benefício proporcionado pelas ferramentas automatizadas é: E. Geração de arquivos de log com os testes feitos e os problemas encontrados. 3. Existem inúmeras ferramentas para a automatização de testes de software, e não existe uma que seja ideal para ser utilizada em todos os projetos. Mesmo assim, um dos aspectos a seguir é importante para todas as ferramentas de teste de software, sem exceção: C. Documentar todos os problemas encontrados durante os testes. 4. O Selenium é uma ferramenta que pode ser utilizada em diversos ambientes de programação e suporta casos de teste de sistemas mais complexos. Uma das características importantes do Selenium é que: D. Exige conhecimento técnico e habilidades avançadas de programação. 5. A ferramenta JUnit é utilizada principalmente para realizar testes unitários em aplicações desenvolvidas em Java. O resultado dos testes é apresentado de uma forma semelhante a um semáforo, que contém as seguintes cores: B. Verde, azul e vermelha.