Prévia do material em texto
QUALIDADE E TESTE DE SOFTWARE – ATIVIDADE 2 QUESTÃO 1 Segundo Rungta (2018), o teste de regressão é definido como um tipo de teste aplicado para confirmar que um programa recente ou alteração de código não afetou adversamente os recursos existentes. RUNGTA, K. Learn Testing in 1 Day: definitive guide to learn software testing for beginners. Kindle, 2018. Por ser um teste que considera possíveis inclusões e alterações em um software, aplica uma sequência de testes específica. Com base no conteúdo estudado, assinale a alternativa que contenha o procedimento de aplicação de um teste de regressão. · É aplicado o teste integrado novamente em todos os módulos para garantir que os pontos de falhas estão ajustados. · O procedimento a ser utilizado no teste de regressão prevê a utilização de testes integrados para aferir a qualidade do módulo testado. Resposta correta · São executados novamente todos, ou parcialmente, os casos de teste, com o objetivo de garantir que as funcionalidades estejam de acordo com o esperado. · O procedimento a ser aplicado no teste de regressão é rever os códigos-fontes, verificando se o código-fonte está estruturado de modo adequado. · São aplicados de forma rigorosa todos os testes de unidade, a fim de garantir que as falhas conflitantes estejam ajustadas. A resposta está correta, pois, com relação à aplicação de um teste de regressão, o procedimento prevê a seleção total ou parcial de casos de teste já executados e a sua reexecução, com a finalidade de garantir que as funcionalidades estejam intactas. RUNGTA, K. Learn Testing in 1 Day: definitive guide to learn software testing for beginners. Kindle, 2018. QUESTÃO 2 Um teste de regressão é aplicado se o software testado passa por ajustes necessários por conta de falhas ou a inclusão de novas funcionalidades. Com base no conteúdo estudado, podemos utilizar três práticas no teste de regressão: I - A primeira prática, considerada como teste de regressão, é vista como um procedimento moroso por muitas vezes, já que se é testado tudo novamente. II - A segunda prática atua com os casos de teste de modo seletivo, em que são replicados apenas os mais convenientes. III - A terceira prática prevê duplicar todos os casos de teste para analisar como isso gera impacto nos negócios da organização. É correto o que se afirma em: · I, apenas. · III, apenas. · II, apenas. Resposta correta · I e II, apenas. · II e III, apenas. QUESTÃO 3 A aplicação de casos de teste para aferir a qualidade de um software tem como finalidade analisar os módulos desenvolvidos. Entretanto, deve-se considerar testes que possam interagir e vincular os módulos testados, para verificar que estes estão em conformidade com outros módulos. Com base no excerto e no conteúdo estudado, assinale a alternativa que corresponde ao tipo de teste apresentado nessa questão. Resposta correta · Casos de teste no teste de integração. · Casos de teste nas abordagens de teste automatizados. · Casos de teste da estratégia top-down. · Teste de integração na abordagem de teste de utilidades. · Teste de integração entre as estratégias top-down e bottom-up. A resposta está correta, pois, nos casos de teste de integração, o objetivo não é encontrar defeitos nos módulos individualmente, já que essa providência já foi tomada no teste de unidade. A tarefa, aqui, se resume em checar as vinculações, se a integração entre a caixa de correio e a funcionalidade de exclusão de e-mails compõem nossa principal atividade, e se cada módulo está integrado de modo correto. QUESTÃO 4 A percepção de qualidade de um software diz respeito a como este atende às necessidades do usuário final. Entretanto, para que isso aconteça, o software não pode apresentar falhas, por isso, deve passar por testes. Com base no conteúdo estudado, analise e assinale a alternativa que apresenta corretamente a constituição de um processo de teste em software: · O teste de software consiste em uma sequência de ações, que tem como objetivo detectar qualquer tipo de instabilidade no servidor de cloud e na interpretação do usuário sobre a interface. · Um teste de software consiste em testar quanto este pode suportar a carga de trabalho apresentada pelo usuário. · O software é testado com o princípio de detecção de sua interface, sendo analisado como é bem aceita pelo usuário. Resposta correta · O software é testado por meio de uma sequência de ações, que têm como princípio a detecção de falhas, e consiste em um processo de testes. · O teste de software acontece por meio do desenvolvedor, e consiste em verificar o quanto está adequado, com base nos requisitos. A resposta está correta, pois um teste – ou um processo de teste – consiste em uma sequência de ações executadas, com o objetivo de encontrar problemas no software; por vezes, o código código-fonte e funcionalidades são testados. QUESTÃO 5 Os testes de software acontecem, geralmente, de modo separado, em que são testados os módulos por meio de teste de unidade e, posteriormente, se é necessário efetuar um teste completo de todo o software. Abordagens de teste são praticamente as ligações entre os módulos do sistema. Seguindo as estratégias para aplicação do teste, analise as afirmativas a seguir: I - A estratégia big bang geralmente possui um bom desempenho em sistemas pequenos, em que são unidos todos os módulos e, depois, testam-se todos de uma só vez. II - A abordagem da estratégia top-down, na qual é efetuado o teste de cima para baixo, segue um fluxo em que grandes falhas são identificadas e corrigidas ao final de todo o processo. III - A estratégia bottom-up é representada pelo teste de baixo para cima, em que são testados os módulos de mais baixo nível de modo linear e, posteriormente, unindo todos para um teste final. É correto o que se afirma em: · I e II, apenas. · II, apenas. · III, apenas. · I, II e III estão corretas. Resposta correta · I, apenas. A resposta está correta, pois a afirmativa I é verdadeira haja vista que na estratégia big bang todos os componentes são integrados juntos, de uma vez, e depois testados. Essa abordagem pode ser bem conveniente para sistemas pequenos, mas a aplicação pode ser difícil em sistemas com muitos módulos. QUESTÃO 6 Durante os processos de testes de qualidade de um software, devemos nos atentar em não aplicar esses testes apenas no módulo, quando o sistema já está desenvolvido e pronto para ser entregue ao usuário. Alguns testes são necessários durante a codificação, sendo um deles o teste de unidade. · Com base no exposto e no conteúdo estudado, assinale a afirmativa que contenha o objetivo de um teste de unidade: · Um teste de unidade analisa o código-fonte de um sistema, separado por módulos, em que é analisado como esse código pode ser interpretado pelo usuário. · O teste de unidade é um teste que avalia a corretude do sistema, em que se analisa como cada trecho de código é interpretado pelo hardware. · O teste de unidade tem como objetivo principal testar o código, juntando todos os módulos. Resposta correta · Em um teste de unidade, analisa-se a corretude do código, separando cada parte do sistema e testando-a de modo separado. · Durante o teste de unidade, o código-fonte é testado por meio do teste de caixa-preta. A resposta está correta, pois o objetivo de um teste de unidade é isolar uma seção de código – que pode ser um procedimento, uma função ou um conjunto delas quando tratamos de programação procedural – e verificar sua corretude. Portanto, é possível afirmar que seu objetivo está associado em isolar as partes do programa e testá-las, separadamente. QUESTÃO 7 Um caso de teste é, basicamente, uma análise sobre as entradas no programa, e o que se corresponde como saída esperada, baseado nos requisitos do sistema. Podemos considerar que os valores de entrada e saída são, respectivamente: · As entradas do programa são os inputs, e as saídas são os resultados de erros. · O input de dados é tudo aquilo que o programa executa, e output esperado é tudo que é possívelde ser processado pelo sistema. Resposta correta · A entrada corresponde às informações que podem ser inseridas no sistema, e as saídas esperadas são as validações e apresentação de informações que o sistema poderá apresentar. · Uma entrada no programa acontece por meio de um sistema integrador, sendo este um periférico, e a saída esperada corresponde ao modo como o usuário poderá interpretar a informação. · Podemos considerar, as entradas, dados fixos do sistema, e a saída, informações previamente escolhidas pelos usuários. A resposta está correta, tendo em vista que o conceito de entrada relaciona-se com o conjunto de dados necessários para a execução do programa. A saída esperada e´ o resultado de uma execução do programa ou função específica. Exemplo da inserção de valores de produtos, um caso de teste possível seria: (200; válido). Ao receber a entrada 200, o programa de validação de valores deveria retornar “valor válido”. QUESTÃO 8 Os produtos que chegam para um usuário final para uso, geralmente passam por teste de qualidade, o que não é diferente para o usuário de um software, que passa por diversos tipos de testes, validações e verificações. Sendo assim, assinale a alternativa correta sobre os processos de testes pelos quais os softwares passam: · Um software que passa por um processo de qualidade garante que em nenhum momento posterior erros ou falhas aparecerão. Resposta correta · Quando um software passa por um processo de teste, não podemos afirmar que está livre de falhas, pois podem aparecer com o uso. · Quando um software passa por um processo de teste, ele deve ser refeito até que possa ser dito livre de falhas. · Quando um software passa por um processo de teste, ele se torna totalmente livre de falhas, com sua qualidade totalmente assegurada. · Em um processo de teste, é possível testar um software por contempo, assegurando que este nunca apresentará falhas posteriormente. A resposta está correta, haja vista que nenhuma equipe de qualidade aplicará testes em um software com o objetivo de garantir que o produto seja livre de defeitos. A certeza de que um programa não possui falhas, erros ou defeitos não é algo atingível no mundo real. Não se pode acreditar que o sistema não possui problemas se o teste aplicado não for capaz de revelá-los. QUESTÃO 9 A escolha adequada sobre os casos de teste é fundamental para o sucesso do procedimento, pois um caso de teste de baixa qualidade pode não expor partes críticas do programa, e não será capaz de revelar falhas no software. Para definir casos de teste corretamente, deve-se considerar as seguintes situações: Resposta correta · Definição do ambiente em que acontecerá o teste, definir a entrada do caso de teste como também a saída esperada e, por fim, os passos para a execução dos testes. · Definir a equipe de teste, momento que o caso de teste será aplicado, definição de quais módulos e desenvolvedores participarão dos testes. · As definições de estratégias de casos de teste, aplicadas sobre o conjunto de validações e verificações dos requisitos. · Definição de entrada e saída de dados, momento que acontecerá o teste, podendo ser aplicado no desenvolvimento ou na homologação do sistema. · Definir os passos a serem seguidos para a aplicação dos casos de teste é praticamente a única definição necessária para um bom resultado. A resposta está correta, pois devem-se considerar as seguintes situações para realizar os casos de teste corretamente: definir o ambiente no qual o teste será´ realizado; definir a entrada desse caso de teste; definir a saída esperada para cada entrada e, por fim, definir os passos a serem realizados para executar os testes. QUESTÃO 10 O ciclo de vida da garantia da qualidade de software não se inicia com os testes aplicados nos módulos completos e todos unidos. Pensando nisso, podem-se aplicar testes de unidade no decorrer da codificação do software. Sobre o teste de unidade, analise as afirmativas a seguir: I - Os testes de unidade podem ser aplicados de forma manual ou por meio de Frameworks de automatização. II - Os testes manuais acontecem sem precisar seguir o documento de requisitos, sendo, assim, uma opção de teste rápido. III - Em um teste de unidade automatizado, é possível elaborar casos de teste, utilizando-se de ferramentas para implementar os casos de teste. Com base no contexto apresentado, é correto o que se afirma em: · II, apenas. · II e III, apenas. Resposta correta · I e III, apenas. · III, apenas. · I, apenas. A alternativa selecionada está correta, pois a afirmativa I é verdadeira, já que a aplicação do teste de unidade pode ser feita de forma manual ou automatizada, com o uso de aplicações específicas. A afirmativa III também é verdadeira, tendo em vista a facilidade e conveniência que proporciona o teste automatizado, que tem sido mais usado pelos programadores. Pode-se usar uma aplicação de teste de unidade (que comumente é chamada Framework UnitTest) para desenvolver casos de testes automatizados.