Prévia do material em texto
1 Engenharia de Requisitos Questão 1 Respondida Planejar é uma tarefa fundamental em qualquer fase de qualquer projeto. Saber o que será implementado, a forma como será construído e seguir um cronograma são exemplos de planejamento em diferentes fases. Com testes não é diferente. É preciso ter documentado quais funcionalidades serão entregues em cada pacote da aplicação, de modo a planejar os testes destas funcionalidades. O Plano de testes entra, então, como um importante artefato para reunir as principais informações sobre os testes que precisarão ser realizados em uma aplicação, detalhando a forma como estes testes deverão ser realizados, permitindo, assim, a replicação dos testes até mesmo por pessoas que não conhecem as funcionalidades da aplicação que será testada em seus melindres. Os membros da equipe de desenvolvimento só poderão executar os testes em uma funcionalidade apenas no caso desta não ter sido codificada pelo desenvolvedor que irá executar os testes. Isso é importante para evitar os “vícios de testes”, tendo em vista que o desenvolvedor que implementou o requisito tende a utilizar sempre as mesmas entradas, evitando os fluxos alternativos. Desenvolvedores que não tiveram um contato inicial com o requisito a ser testado, por outro lado, irão executar os testes com entradas diferentes, muitas vezes seguindo etapas diferentes para a funcionalidade, o que poderá ser mais eficaz na detecção de erros e nos ajustes necessários. Com base no contexto e em seus conhecimentos sobre o Plano de testes, analise as afirmativas a seguir: I. Testes de carga e acessos simultâneos podem fazer parte do plano de testes da aplicação; II. Cada aplicação terá os testes necessários para seus requisitos funcionais e não funcionais; III. Apenas os requisitos funcionais serão inseridos no plano de testes de uma aplicação. Considerando o contexto apresentado, é correto o que se afirma em: Sua resposta I e II, apenas. 2 Questão 2 Respondida O processo de validação dos requisitos irá ser iniciado a partir de uma versão inicial do documento de Especificação de Requisitos, que será analisado em busca de inconsistências, ambiguidades e falhas na descrição das regras de negócio. A fase de validação precisa ser detalhista e demandar tempo, para que, ao fim do processo, o documento de Especificação de Requisitos possa refletir o real desejo do cliente, patrocinador do projeto, entregando um produto que agregue real valor ao mesmo. Para auxiliar na identificação de eventuais problemas no documento, algumas perguntas podem ser respondidas pela equipe, como, por exemplo, se os requisitos levantados estão de acordo com o objetivo do cliente com a aplicação. Considerando o texto exposto, um requisito é considerado tecnicamente inválido quando • a codificação deste requisito é possível. • a codificação deste requisito é complexa. • a codificação deste requisito, considerando as tecnologias envolvidas, é impossível. • a codificação deste requisito irá depender da implementação de outros requisitos. • a codificação deste requisito possui muitas regras de validação. Sua resposta a codificação deste requisito, considerando as tecnologias envolvidas, é impossível. 3 Questão 3 Respondida O processo de validação de requisitos requer atenção e, principalmente, experiência para que as funcionalidades levantadas, em momento inicial do projeto, sejam, de fato, equivalentes às reais necessidades da aplicação. Técnicas de validação dos requisitos, além de auxiliar a equipe de desenvolvimento do projeto a encontrar pontos falhos na escrita da funcionalidade ou de suas regras de validação, irão validar as principais características de um requisito: completude, consistência e viabilidade técnica. Cada fase do processo de elicitação de requisitos, seja o levantamento inicial, priorização dos requisitos, validação e testes, possui técnicas específicas que podem ser utilizadas para auxiliar a equipe de desenvolvimento a codificar, de forma correta e sem retrabalho, as funcionalidades da aplicação. Conhecer as técnicas adequadas para cada fase do processo de validação e saber aplicar da melhor forma ao projeto atual irá garantir que, ao final do projeto, o produto terá a qualidade esperada pelo cliente, atendendo às suas expectativas, além de ter uma maior longevidade. Aplicações que são construídas sem um processo de validação minucioso tendem a ter mais retrabalho para ajustar erros encontrados nos requisitos, de modo que o custo e o prazo final para entrega podem ser impactados negativamente. Com base em seus conhecimentos sobre as técnicas de validação de requisitos, é correto afirmar que a técnica TUCCA • poderá encontrar divergências entre o construído e o especificado através da construção dos casos de uso do sistema e da identificação de seus atores. • poderá encontrar divergências entre o construído e o especificado através da elaboração antecipada dos testes do sistema. • poderá encontrar divergências entre o construído e o especificado através da elaboração de um plano de testes do sistema. • poderá encontrar divergências entre o construído e o especificado através da criação de diagramas de sequência. 4 • poderá encontrar divergências entre o construído e o especificado através da elaboração de um mapa mental. Sua resposta poderá encontrar divergências entre o construído e o especificado através da elaboração antecipada dos testes do sistema. O processo de validação dos requisitos de uma aplicação poderá contar com a aplicação de técnicas, como a TUCCA, que é a construção de casos de uso e análise dos requisitos baseados em construção, que tem o objetivo primordial de identificar os atores para as funcionalidades do sistema, especificando, assim, os casos de uso para cada ator identificado. A partir da descrição detalhada de cada caso de uso do sistema, será possível identificar se o comportamento da aplicação está coerente com aquele acordado com o cliente, gerando, ao final do processo, um relatório de discrepâncias que deverá ser ajustado em conjunto com o cliente. As técnicas de validação dos requisitos, além de problemas de escrita que podem gerar ambiguidades, poderão auxiliar na identificação de inconsistências nos requisitos, requisitos escritos fora do padrão acordado pelos membros da equipe de desenvolvimento, conflitos de interesse entre os diferentes interessados no projeto e erros técnicos no detalhamento dos requisitos. Após os ajustes realizados e os problemas sanados, será necessária uma nova revisão do documento de Especificação de Requisitos, anteriormente à entrega deste para a fase de codificação, pela equipe de desenvolvimento. 5 Questão 4 Respondida A validação de requisitos requer, muitas vezes, mais de uma etapa para que o cliente possa dar o aval sobre a aplicação que será construída e entregue ao final do projeto. A primeira fase da validação pode ser feita utilizando-se de alguma técnica não visual, como a inspeção de requisitos, mas, mesmo com todo o entendimento dos requisitos e suas regras de negócio, ainda pode ser necessário uma apresentação visual prévia de partes (ou todas) as telas do sistema e, muitas vezes, do fluxo entre elas. Para que a equipe construa uma apresentação de forma a agradar a necessidade do cliente, será necessário que este informe os campos e a disposição destes campos na tela, quais os esquemas de cores e demais informações visuais. Caso o cliente já tenha um padrão de identidade visual para suas aplicações, este deve ser repassado à equipe de desenvolvimento, para auxiliar na construção dos wireframes, ou seja, dos desenhos de como as telas da aplicação devem ficar, após sua implementação. Existem diferentesferramentas gratuitas para a elaboração destas telas, que servirão de forma única para que o cliente possa ter uma visão prévia do que receberá como resultado do projeto de construção, de modo a informar se algum ajuste precisará ser feito na parte visual da aplicação ou até se alguma tela foge ao padrão já utilizado nos demais sistemas internos da empresa cliente. Com base no contexto apresentado, assinale a afirmativa CORRETA sobre qual técnica de validação o texto se refere. • Inspeção de requisitos. • Prototipação. • Walkthrough. • TUCCA. • Visão baseada em perspectiva. Sua resposta Prototipação. 6 Questão 5 Respondida Testes são fundamentais em uma aplicação, para garantir que as regras de negócio estão implementadas conforme o esperado. É importante, contudo, que os testes planejados e executados sejam completos o suficiente para englobar a maior parte dos requisitos funcionais e não funcionais da aplicação que está sendo desenvolvida, de forma a minimizar a quantidade de falhas repassadas ao usuário final, aumentando, assim, a qualidade do produto. Para auxiliar a realização dos testes, técnicas podem ser utilizadas, de forma que escolher qual a mais adequada para a realidade de cada projeto irá depender da experiência da equipe e da quantidade de requisitos que precisarão ser testados. Com base em seus conhecimentos sobre as técnicas de testes de requisitos, analise as afirmativas a seguir: I. Testes manuais podem ser realizados por aplicações automatizadas, como o Katalon; II. O plano de testes irá cobrir os tipos de testes necessários para a aplicação, como testes de stress e carga; III. Testes automatizados são especialmente úteis para evitar que regras de negócio importantes sejam ignoradas para as principais funcionalidades de uma aplicação. Considerando o contexto apresentado, é correto o que se afirma em: • I, apenas. • II, apenas. • II e III, apenas. • I e II, apenas. • I, II e III. Sua resposta I, II e III. Alternativa correta: II e III, apenas. 7 Questão 6 Sem resposta As matrizes de rastreabilidade (RTM) são a base para diversas atividades de desenvolvimento na engenharia de requisitos, dando maior controle das atividades para garantir que os objetos de software sejam entregues corretamente. Analise e classifique as afirmativas em V (verdadeira) ou F (Falsa). 1. Gerenciar e avaliar o impacto das alterações no projeto. 2. Avaliar o impacto na falha de testes das funcionalidades relacionadas aos requisitos. 3. Avaliar o status em que se encontram os requisitos e avaliar ações realizadas. 4. Fornecer a visibilidade de ponta a ponta para as atividades. 5. Validar se os requisitos do projeto foram implementados/codificados. Assinale a alternativa que corresponde a classificação correta das afirmativas. • 1 – V; 2 – F; 3 – F; 4 – V; 5 – F. • 1 – F; 2 – V; 3 – F; 4 – F; 5 – F. • 1 – V; 2 – V; 3 – F; 4 – V; 5 – F. • 1 – V; 2 – V; 3 – V; 4 – V; 5 – F. • 1 – V; 2 – V; 3 – F; 4 – F; 5 – V. Sua resposta 1 – V; 2 – V; 3 – F; 4 – V; 5 – F. 8 Questão 7 Sem resposta A documentação dos requisitos de um projeto evoluiu, ao longo do tempo. Com as metodologias de desenvolvimento tradicionais, como a cascata e a espiral, apenas o documento de Especificação de Requisitos era desenvolvido, precisando ser mantido atualizado ao longo de todas as etapas do projeto de construção da aplicação. Com o avanço das metodologias ágeis, principalmente do framework SCRUM, o foco na escrita de documentos complexos, como o da Especificação de Requisitos, foi alterado para a garantia de uma aplicação em funcionamento, reduzindo a documentação para as funcionalidades escritas em formato de Histórias de usuário, que podem ser escritas de forma individualizadas para cada tarefa que a equipe de desenvolvimento deverá executar. Com base no texto acima, e em seus conhecimentos sobre a documentação da fase de Especificação de Requisitos, selecione a opção CORRETA que apresenta um documento gerado nesta fase. • Documento de Viabilidade Técnica. • Documento de Histórico do projeto. • Organograma da equipe. • Fluxograma do projeto. • Plano de testes. Sua resposta Documento de Viabilidade Técnica. 9 Questão 8 Sem resposta Nas fases iniciais de um projeto, os documentos gerados não estão sendo escritos pensados em evitar problemas de ambiguidade e inconsistências. O intuito inicial será, apenas, obter os requisitos necessários para que a aplicação possa ser construída, com as regras de negócio necessárias. Com o andamento das fases do projeto, serão realizados ajustes nos requisitos inicialmente especificados, como ajustes na escrita para garantir um melhor entendimento das regras de negócio ou solucionar ambiguidades. Ao passar do tempo, documentos do projeto podem se tornar obsoletos, caso suas evoluções não acompanhem as alterações efetuadas nos requisitos. Outro ponto importante de atenção, em relação aos documentos gerados, é a ocorrência de inconsistências, decorrentes da falha na atualização dos documentos necessários do projeto. Repositórios de documentos podem ser utilizados para que versões dos documentos possam ser mantidas, mas, ainda assim, é necessária intervenção do analista responsável pela manutenção destes documentos para que, ao final do projeto, possam estar refletindo a realidade dos requisitos implementados. Consulta a documentos desatualizados, mesmo após a finalização do projeto, podem ocasionar em entendimentos errados das regras de negócio, além de não ser possível rastrear todos os ajustes feitos nos requisitos, ao longo do projeto. Levando em consideração o texto acima e seus conhecimentos sobre o gerenciamento dos documentos do projeto, é correto afirmar que o gerenciamento pode ser resolvido através da implementação da técnica • TUCCA, para garantir que os casos de uso reflitam as necessidades do cliente. • TDD, garantindo que os testes dos requisitos serão construídos anteriormente à fase de implementação deles. • BDD, para garantir que o comportamento da aplicação irá se refletir nos requisitos implementados. • Análise manual por especialista, garantindo que uma pessoa com conhecimento do negócio poderá atualizar da melhor forma a documentação. • Visão baseada em perspectiva do usuário final, garantindo que o usuário final será responsável pela atualização da documentação do projeto. Sua resposta BDD, para garantir que o comportamento da aplicação irá se refletir nos requisitos implementados. 10 Questão 9 Sem resposta O processo de levantamento de requisitos precisa ser feito com muito cuidado e atenção, a fim de evitar retrabalhos e insatisfação por parte do cliente. Um dos motivos pelo qual a equipe que será responsável pelo projeto precisará se atentar é garantir que as funcionalidades acordadas para a aplicação estejam completas e sem inconsistências. Completude de um requisito se refere à especificação de todas as regras de negócio necessárias para a implementação deste, de modo que a equipe de desenvolvimento não tenha dúvidas quanto as regras acordadas. Consistência, por sua vez, representa a inexistência de conflitos entre regras de negócio, seja no pré-requisito para a funcionalidade ou na dependência entre diferentes requisitos. Considerando o contexto apresentado, é um fator que pode acarretar inconsistência nos requisitos • a ausência de regras de negócio para validação. • a inexistência de um plano de testes para o requisito. • o escopo da aplicação. • os conflitos de interesse entre diferentes partes interessadas. • regras que podem ter duplo entendimento. Sua resposta os conflitos de interesse entre diferentes partes interessadas. 11 Questão10 Sem resposta O desenvolvimento baseado em comportamento é uma tendência nas equipes que utilizam metodologias ágeis. Com as metodologias tradicionais, como a cascata, pontos como o desenvolvimento e gerenciamento do documento de Especificação de Requisitos era uma tarefa que dependia, de maneira obrigatória, que o analista responsável pela fase de levantamento de requisitos realizasse as atualizações em todos os documentos do projeto que fossem necessários. Um dos pontos fundamentais que apresentam uma justificativa para a adoção de outras metodologias mais modernas, voltadas para o desenvolvimento de projetos, é a garantia que, ao final do projeto, a documentação estará condizente com as alterações realizadas nos requisitos. Considerando o contexto apresentado, assinale a alternativa CORRETA que indique qual a metodologia que está sendo referenciada no texto. Sua resposta BDD