Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUALIDADE E TESTES DE SOFTWARE Aula 1 Em uma organização de matriz fraca dois gerentes de projetos acabam de perceber que seu poder é limitado. Um deles é facilitador de projetos e o outro atua como coordenador de projetos. Qual é a diferença entre um facilitador e um coordenador de projetos? O facilitador do projeto não pode tomar decisões. O facilitador do projeto pode tomar decisões. O facilitador do projeto tem alguma autoridade. O facilitador do projeto está subordinado a um gerente de nível mais alto. O facilitador do projeto gerencia o projeto até a entrega do produto/serviço. Explicação: O coordenador do projeto está subordinado a um gerente de nível mais alto e tem autoridade para tomar algumas decisões. O facilitador do projeto não tem autoridade para tomar decisões. Em uma conversa entre gerentes de projetos, alguns reclamam de com o é difícil gerenciar projetos na empresa em que trabalham. Alguns reclamam das partes interessadas e da quantidade de mudanças que solicitam. Outros comentam o quanto é difícil consegyir que as pesoas cooperem e trabalhem. Um gerente quer se concentrar nas vantagens da organiação matricial. Assinale o item que ele menciona. Aumento do controle do gerente de projetso sobre os recursos. Mais um chefe para a equipes de projeto As reuniões são realizadas em menor tempo. Os relatórios são mais fáceis de compreender. As comunicações são mais fáceis. Explicação: Se a questão não especifica qual é a comparação, está comparando com a organização funcional. (I) é "uma sequência de instruções a serem executadas, com o objetivo de gerar informações a partir de uma série de dados coletados ou armazenados". Também podemos definir como sendo "os programas que comandam o funcionamento de um computador". Após a leitura do conceito acima, analise cada uma das alternativas abaixo e assinale a correta, com relação a (I) Projeto Conhecimento Processo Software Portifólio Explicação: Software é "uma sequência de instruções a serem executadas, com o objetivo de gerar informações a partir de uma série de dados coletados ou armazenados". Também podemos definir como sendo "os programas que comandam o funcionamento de um computador". Um gerente de projetos tem pouca experiência, mas foi designado para assumir um novo projeto. Como trabalhará em uma organização matricial, ele pode esperar que as comunicações serão: (Assinale a alternativa CORRETA). Simples Abertas Fechadas Complexas Difíceis de automatizar Explicação: Como um projeto realizado em uma organização matricial envolve pessoas de bárias partes da organização, as comunicações são mais complexas. Um gerente de projeto está tentando concluir um projeto de desenvolvimento de software, mas não consegue obter atenção suficiente para o projeto. Os recursos estão concentrados em realizar trabalho relacionado a processos e o gerente do projeto tem pouca autoridade para designar recursos adequadamente. Em qual forma de organização o gerente de projeto trabalha? Funcional Matricial Coordenador Facilitador Fraca Explicação: Em uma organização funcional o gerente de projeto tem o menor apoio e pouca autoridade para ddesignar recursos. Facilitador e coordenador são formas de matriz fraca. Em uma organizacão por projetos: (Assinale a alternativa CORRETA). Nem sempre terá um "lar" de retorno ao final do projeto. Não consegue atingir seus objetivos. Está subordinada ao gerente funcional. Está subordinada a muitos chefes. Não é fiel ao projeto. Explicação: A principal desvantagem de uma organização por projetos é que, no fim do projeto, a equipe se dispersa e não tem um departamento funcional ("lar") para o qual voltar. No que tange ao conceito de PROJETO, analise as asserções abaixo e, a seguir, assinale a alternativa correta. I. Um projeto é original, ou seja é diferente de todos os outros; II. Um projeto é composto de pessoas e recursos, ou seja é uma mistura de talentos e conhecimentos humanos, com recursos tecnicos e físicos; III. Um projeto possui o propósito de atingir a um objetivo específico, ou seja possuem objetivo tangível e realizável. IV. Um projeto é realizado em período de tempo indeterminado, ou seja possui data de início mas não obrigatoriamente de término. Somente as asserções II, III e IV estão corretas Somente as asserções I, II e IV estão corretas Somente as asserções I, III e IV estão corretas Somente as asserções I, II e III estão corretas Somente as asserções I e III estão corretas Explicação: A cerca do conceito de PROJETO, pode-se constatar : Original: Cada projeto é diferente de todos os outros. Organização de pessoas e recursos: Uma mistura de talentos e conhecimentos humanos, com recursos técnicos e físicos. Para atingir um propósito específico: Enfatiza a necessidade de os projetos terem sempre um objetivo tangível e realizável. Num período de tempo finito: Diferencia um projeto de um processo. Um software é composto por módulos, instruções, bibliotecas, que gera um programa executável que lê dados denominados "entradas" ou inputs ao final do processo de desenvolvimento, e este, quando executado, recebe algum tipo de "entrada" de dados (input), processa as informações e libera uma "saída" (output) como resultado deste processamento. Os softwares são classificados em três tipos, os quais: I. Software de Sistema: é o conjunto de informações que gerenciam o hardware, permitindo a interação entre o usuário e os periféricos do computador. Exemplos: Windows e Linux. II. Software de Programação: são programas de computadores que permitem ao usuário executar uma série de tarefas específicas em diversas áreas de atividade. Exemplos: planilha eletrônica, editores de texto e editores de apresentações (como PowerPoint). III. Software de Aplicação: é o conjunto de ferramentas que permitem ao programador desenvolver sistemas informáticos. Exemplos: C++, C#, VB, ASP, Delphi, GO. Após a leitura, analise as alternativas a seguir e assinale a correta. Somente a afirmação II está correta Somente a afirmação III está correta Somente as afirmações I e II estão corretas Somente as afirmações I e III estão corretas Somente a afirmação I está correta Explicação: Os softwares sao classificados em 3 tipos, os quais: Software de Sistema: é o conjunto de informações que gerenciam o hardware, permitindo a interação entre o usuário e os periféricos do computador. Exemplos: Windows e Linux. Software de Programação: é o conjunto de ferramentas que permitem ao programador desenvolver sistemas informáticos. Exemplos: exemplo, C++, C#, VB, ASP, Delphi, GO. Software de Aplicação: são programas de computadores que permitem ao usuário executar uma série de tarefas específicas em diversas áreas de atividade. Exemplos: planilha eletrônica, editores de texto e editores de apresentações (como PowerPoint). (I) é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Também pode ser descrito como: "uma original organização de pessoas e recursos para atingir um propósito específico, num período de tempo finito". A definição acima resume o conceito de: (assinale a alteranativa que preencher corretamente a I). Portifólio Oferta Software Programa Projeto Explicação: PROJETO é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Também pode ser descrito como: "uma original organização de pessoas e recursos para atingir um propósito específico, num período de tempo finito". A aplicação de conhecimentos, habilidades,ferramentas e técnicas às atividades do projeto a fim de atender aos seus requisitos denomina-se: Gerenciamento de Projetos. Gestão de pessoas. Gerenciamento Contábil Financeiro. Gestão do Conhecimento. Gestão de Risco. Explicação: O gerenciamento de projetos reúne habilidades que o líder dever possuir como liderança e conhecimento técnico, além de ferramentas de apoio. Aula 2 É necessário conhecer as características do projeto a ser desenvolvido para escolhermos o melhor ciclo de vida e os recursos humanos empregados no projeto. Eixstem diversas opções de ciclo de vida de software. As alternativas abaixo listam ALGUMAS DELAS, exceto: (assinale a opção incorreta, ou seja que não representa um dos modelos de ciclo de vida de software) Modelo incremental Modelo Evolutivo Modelo Cascata Prototipagem Modelo Interativo Explicação: Principais modelos de ciclo de vida de software: Cascata; Modelo em V; Modelo incremental; Evolutivo; Iterativo e incremental; RAD; Prototipagem; Espiral; Modelo de ciclo de vida associado ao RUP. Sobre o processo de desenvolvimento de software, leia as asserções abaixo e, a seguir, analise a alternativas e assinale a correta. I. O processo de desenvolvimento de software está relacionado a pessoas, plataformas de gestao de qualidade e estruturas organizacionais, regidos por normas e procedimentos; II. O processo de desenvolvimento de software tem o objetivo de produzir softwares em conformidade com as exigêncas contratuais, mas sem limitação ou quaisquer restrições relacionadas a custo e prazo. III. É importante utilizar um ciclo de vida para desenvolvimento de software pois ele abrange a vida do sistema, desde a definição de requisitos até a conclusão do projeto e entrega do produto. Somente as asserções I e III estão corretas Somente as asserções I e II estão corretas Somente a asserção II está correta Somente a asserção III está correta Somente as asserções II e III estão corretas Explicação: O processo de desenvolvimento de software está relacionado a pessoas, plataformas de gestão de qualidade e estruturas organizacionais, regidos por normas e procedimentos com o objetivo produzir softwares em conformidade com as exigências contratuais, limitados a aspectos como restrições, recursos, padrões etc. O modelo de ciclo de vida é a primeira escolha a ser feita no processo de software, que abrange a vida do sistema, desde a definição de requisitos até a conclusão do projeto e entrega do produto. Fonte: FUNRIO 2013 ¿ MPOG Analista de Tecnologia da Informação Considere o seguinte problema encontrado em projetos de desenvolvimento de software: projetos reais raramente seguem um fluxo sequencial. Apesar de um modelo linear poder acomodar a iteração, ele o faz indiretamente. Como resultado, as modificações podem causar confusão à medida que a equipe de projeto prossegue. Esse é um dos problemas que são algumas vezes encontrados quando é aplicado o modelo de desenvolvimento. iterativo em cascata iterativo e incremental evolutivo incremental Explicação: O modelo em Cascata possui este problema de ter a necessidade de um fluxo sequencial e os projetos do mundo real não seguem necessariamente esta sequencialidade. Fonte: FCC 2013 - AL-RN Analista Legislativo - Analista de Sistemas O primeiro modelo de desenvolvimento de software a ser publicado foi derivado de processos mais gerais da engenharia de sistemas. Por causa do encadeamento entre uma fase e outra, esse modelo é conhecido como modelo em cascata ou ciclo de vida de software. Dentre seus principais estágios se encontram a análise e definição de requisitos, o projeto de sistema e software e: A|ssinale a complementação correta. desenvolvimento incremental implementação e teste unitário geração de relatórios de teste análise de recursos e software pesquisa e testes. Explicação: De acordo com o modelo cascata apresentado, após a fase de projeto vem a de implementação e teste unitário. O Ciclo de Vida de um Sistema especifica todas as fases de desenvolvimento, desde sua concepção até o processo de manutenção e declínio. No que diz respeito ao desenvolvimento de software, existem alguns processos conhecidos. Um destes processos, possui característica iterativa e incremental, inicia cada fase do projeto realizando um planejamento prévio, realiza a execução da fase, verifica o progresso e os resultados da fase (riscos, lições aprendidas) e incrementa novos objetivos para a fase seguinte, seguindo para a próxima iteração. O modelo de software em questão é o: Assinale a resposta correta. RAD Modelo evolutivo Modelo cascata Prototipação Modelo espiral Explicação: O modelo espiral caracteriza-se pelo planejamento e pela análise de risco em cada fase da espiral. A prototipação representa uma técnica poderosa para o desenvolvimento de sistemas, mais especificamente do software desses sistemas. Sobre as funções desempenhadas por um protótipo, é correto afirmar que ele Pode auxiliar na validação de requisitos do sistema, bem como propiciar a inserção de novos requisitos ainda não identificados. Não possibilita avaliar a qualidade do software produzido. É inteiramente descartado, não sendo aproveitada nenhuma parte do código de software no sistema final entregue ao cliente. Não permite que sejam realizados testes, visando verificar o funcionamento do sistema final, ainda que sejam testes parciais. Permite avaliar o desempenho geral da equipe de desenvolvimento de software Explicação: O proposito básico da prototipação é sempre auxiliar na validação e elicitação de requisitos (necessidades) do software. Fonte: FUMARC 2012 - TJ-MG Oficial Judiciário - Assistente Técnico de Sistemas Em relação aos modelos de processos de software, pode-se dizer que os modelos incremental e evolucionário possuem a característica de serem iterativos. Assinale a alternativa que melhor descreve um modelo de produção de software iterativo. Os incrementos de um software são entregues ao cliente somente duas vezes. Os incrementos de um software são entregues ao cliente de uma só vez. Um modelo de produção de software iterativo é composto pelas fases de análise de requisitos, projeto, implementação, testes (validação), integração e manutenção de software. A abordagem iterativa possibilita desenvolver um sistema de software de forma incremental, permitindo ao desenvolvedor tirar vantagem daquilo que foi aprendido durante a fase inicial de desenvolvimento de uma versão do sistema. O aprendizado ocorre simultaneamente tanto para o desenvolvedor, quanto para o usuário do sistema. Um modelo de produção de software iterativo é composto pelas fases de análise de requisitos, projeto e implementação. Explicação: Os incrementos são entregues durante todos os ciclos. A etapa de manutenção não entra no ciclo, vai até desde a elicitação de requisitos até a integração e implantação no cliente. A abordagem iterativa trabalha também de forma incremental. Fonte: UFF 2009 ¿ Analista de Tecnologia da Informação Em relação aos ciclos de vida do software, o desenvolvimento de sistemas por meio de ciclo de vida iterativos garante ao sistema: legalidade atualização contínua utilização mínima de recursos legibilidade segurança Explicação: De acordo com o discutido nas aulas, o modelo iterativo permite que o software seja desenvolvido em ciclos, atualizando as suas necessidades em cada ciclo. Propriedade: Este modelo se propõe a aumentar pouco a pouco o software, conforme as necessidades surgem. Como se chama o modelo que apresenta essapropriedade? sequencial RUP Incremental cascata ágil Explicação: o pouco a pouco descrito na propriedade, sugere que o software vai sendo incrementado logo o modelo é o incremental Propriedade: Seu nome foi atribuído devido à sequência com que cada fase do desenvolvimento dependia do término da fase anterior, Como se chama o processso de desenvolvimento de software com essa propriedade? àgil RUP Cascata UML iterativo incremental Explicação: esse é o modelo de processo de desenvolvimento chamado CASCATA, onde uma fase somente iniciava com o término da anterior Aula3 O que podemos concluir do gráfico abaixo apresentado? No eixo vertical, temos o custo de conserto de erros em software No eixo horizontal, temos as fases do processo de desenvolvimento de software quando mais cedo os defeitos forem encontrados, mais caro é o custo da correção os erros mais caros são detectados no inicio os testes não interferem na qualidade do produto de software quando mais cedo os defeitos forem encontrados, mais barato é o custo da correção o ideal é detectarmos erros no software ao final do processo de desenvolvimento Explicação: Myers também ficou conhecido pela Regra de 10 de Myers, que mostra que ¿quanto mais tarde os defeitos forem encontrados, tanto mais caro será corrigi-los Consequentemente: quando mais cedo os defeitos forem encontrados, mais barato é o custo da correção É importante conhecermos o histórico das atividades de teste, para tratarmos os sistemas com qualidade. Myers foi um precursor sobre os processos de teste de software. Ele ficou conhecido pela "regra 10 de Myers" e concluiu também que zero-defeito é algo inatingível. Essa regra e conclusão estabelecem que: I- Todas as decisões tomadas durante o processo de desenvolvimento do software podem comprometer a sua qualidade final. II- A partir de processos uniformes e consistentes, a tendência é que o produto final gerado, ou seja, o software seja eficiente. III- Quanto mais tarde os defeitos forem encontrados tanto mais caro será corrigi-los. Assinale a assertiva correta. Apenas o item II está correto. Apenas os itens I e II estão corretos. Apenas o item I está correto. Apenas os itens II e III estão corretos. Apenas o item III está correto. Explicação: O item I indica a importância da qualidade de software que é é um processo sistemático que focaliza todas as etapas e artefatos gerados com objetivo de garantir a conformidade e uniformidade de processos e produtos, prevenindo e eliminado defeitos. Myers concluiu que zero-defeito é algo inatingível, ou seja, pela complexidade envolvida e pelo número altíssimo de situações existentes, torna-se impossível imaginar um produto de software ¿livre de erros¿. Sempre existirão erros a serem descobertos. Myers foi criador de termos muito usados como `Caixa Branca e Caixa Preta¿ e "Caso de Teste" e também ficou conhecido pela regra 10 de Myers. Temos aplicação de qualidade em duas dimensões: qualidade do processo e qualidade do produto. A dimensão da qualidade do processo refere-se: I- A qualidade deve existir desde o início, ou seja, já na fase de análise de requisitos, quando acontece o levantamento de requisitos. II- A garantida com a aplicação de testes sistemáticos nos vários estágios de desenvolvimento. III- A garantir e monitorar os métodos e os padrões que os engenheiros de software usam e verificar se eles estão usando apropriadamente seus conhecimentos. Assinale a assertiva correta. Apenas o item I está correto. Apenas os itens I e II estão corretos. Apenas o item III está correto. Apenas os itens II e III estão corretos. Apenas o item II está correto. Explicação: Monitorar os métodos e os padrões que os engenheiros de software usam e verificar se eles estão usando apropriadamente seus conhecimentos, refere-se ao papel da SQA (Garantia de qualidade de software). A qualidade de software é um processo sistemático que focaliza todas as etapas e artefatos gerados com objetivo de garantir a conformidade e uniformidade de processos e produtos, prevenindo e eliminado defeitos. Vários fatores podem afetar a qualidade, como fatores externos e internos. São eles: I- Fatores externos - são percebidos tanto pelas pessoas que desenvolvem software quanto pelos usuários. II- Fatores internos - são percebidos apenas pelas pessoas que desenvolvem software. III- Fatores externos - são percebidos apenas pelas pessoas que desenvolvem software. IV- Fatores internos - são percebidos tanto pelas pessoas que desenvolvem software quanto pelos usuários. Assinale a assertiva correta. Apenas os itens III e IV estão corretos. Apenas os itens I e II estão corretos. Apenas o item I está correto. Apenas os itens I e IV estão corretos. Apenas os itens II e III estão corretos. Explicação: Se desejarmos desenvolver e produzir software com qualidade, é necessário investir em qualidade em todos os pontos do processo. Alguns fatores podem afetar a qualidade, como fatores externos e internos de `Qualidade de Software¿. Vejamos alguns exemplos: Fatores externos - são percebidos tanto pelas pessoas que desenvolvem software quanto pelos usuários. Por exemplo: confiabilidade, eficiência e facilidade de uso. Fatores internos - são percebidos apenas pelas pessoas que desenvolvem software. Por exemplo: modularidade e legibilidade. Podemos conceituar Qualidade de Software como: Um processo para demonstrar que os defeitos não estão presentes. Um processo que demonstra que algo funciona corretamente. Um processo para provar que determinadas coisas (funções) fazem o que devem fazer. Um processo que foca em todos os produtos de software gerados pela equipe de desenvolvimento. Um processo sistemático que focaliza todas as etapas e artefatos gerados com o objetivo de garantir a conformidade e uniformidade de processos e produtos, prevenindo e eliminado defeitos. Explicação: O conceito de teste ganha complexidade, pois os riscos dos softwares não funcionarem a contento, cresce de forma exponencial. Ainda assim poucas empresas percebem que a implantação de um ¿processo de garantia de qualidade de software¿ é uma questão de estratégia de sobrevivência em um mercado cada vez mais exigente e competitivo. Teste é o processo de demonstrar que os defeitos não estão presentes. Teste é o processo de demonstrar que algo funciona corretamente. Teste é o processo de provar que determinadas coisas (funções) fazem o que devem fazer. O objetivo real do teste de software é mostrar que um software está de acordo com suas especificações e que ele atende as expectativas do cliente. Com relação ao tamanho e complexidade de software, assinale a opção correta, considerando tais características nos anos 60, 80 e 2000. Em 1980 a complexidade era média e em 2000 a complexidade era alta. Em 1980 o tamanho era pequeno e a complexidade alta. Em 1960 o tamaho era minimo e em 2000 a complexidade era média. Em 1960 o tamanho era mínimo e em 2000 o tamanho é o mesmo. Em 1960 o tamanho era mínimo e em 1980 a complexidade era relativa. Explicação: No Cenário Atual do desenvolvimento de o conceito de teste ganha complexidade, pois os riscos dos softwares não funcionarem a contento, cresce de forma exponencial. Myers concluiu que zero-defeito é algo inatingível? Ou seja, pela complexidade envolvida e pelo número altíssimo de situações existentes, torna-se impossível imaginar um produto de software 'livre de erros'. Sempre existirão erros a serem descobertos. O que estabelece a regra 10 de Myers?Os testes tornam-se mais complexo, pois os riscos dos softwares não funcionarem a contento, cresce de forma exponencial. A partir de processos uniformes e consistentes, a tendência é que o produto final gerado, ou seja, o software seja eficiente. Quanto mais tardiamente descobrimos os erros, mais caros eles ficam. Todas as decisões tomadas durante o processo de desenvolvimento do software podem comprometer a sua qualidade final. Não existe garantia de que a solução tecnologia contratada será entregue no prazo e nos custos negociados. Explicação: Por volta de 1979, Myers produziu um dos primeiros trabalhos mais completos e profundos sobre um processo de teste de software. Myers é o autor do livro "The Art of Software Testing¿ (Glenford J. Myers, Corey Sandler, Tom Badgett), considerado por muitos como a primeira obra de real valor sobre teste de software e a criadora de termos muito usados como 'Caixa Branca e Caixa Preta" e "Caso de Teste". Myers também ficou conhecido pela regra 10 de Myers. O teste do software deve acontecer (assinale a única opção correta): No meio do processo de desenvolvimento No início do processo de desenvolvimento No inicio e no final do processo de desenvolvimento No final do processo de desenvolvimento de software Em todo o processo de desenvolvimento Explicação: O teste de software tem que ocorrer em todo o processo de desenvolvimento. A garantia de qualidade de software (Software Quality Assurance) não é algo com a qual começamos a nos preocupar depois que o código foi gerado, e sim, ao longo de todo o processo de engenharia de software. Qual o papel da SQA (Garantia de qualidade de software)? Processo sistemático que focaliza todas as etapas e artefatos gerados com objetivo de garantir a conformidade e uniformidade de processos e produtos, prevenindo e eliminado defeitos. Conseguir melhores projetistas para projetar o produto, então, em geral, SQA não pode tê-los. Monitorar os métodos e os padrões que os engenheiros de software usam e verificar se eles estão usando apropriadamente seus conhecimentos. Tornar possível que qualquer pessoa possa fazer revisões no trabalho de pessoas experientes. A partir de processos uniformes e consistentes a tendência é que o produto final gerado, o software, seja eficiente. Explicação: Tornar possível que qualquer pessoa possa fazer revisões no trabalho de pessoas experientes é um dos desafios críticos para qualquer programa de qualidade. Conseguir melhores projetistas para projetar o produto, então, em geral, SQA não pode tê-los é o que os gerentes necessitam. A partir de processos uniformes e consistentes a tendência é que o produto final gerado, o software seja eficiente, acontece com os Softwares mal testados que geram prejuízos as empresas. Processo sistemático que focaliza todas as etapas e artefatos gerados com objetivo de garantir a conformidade e uniformidade de processos e produtos, prevenindo e eliminado defeitos, é o conceito geral de SQL. Aula 4 Quando devemos terminar os testes? I. Nunca, o projetista estará sempre testando. II. Quando o dinheiro ou o tempo acabar. III. O teste termina quando não houver mais erros. Assinale a única alternativa correta. Apenas os itens II e III estão corretos. Apenas os itens I e II estão corretos. Todos os itens estão corretos. Apenas o item II está correto. Apenas o item III está correto. Explicação: Você jamais terá completado a atividade de teste. A carga simplesmente transfere-se do projetista para o cliente. O teste para quando não houver mais erros `visíveis¿. O teste acaba quando o tempo acaba ou o dinheiro acaba: Por restrição de tempo (nesse caso, deve-se negociar esse tempo); Por restrição financeira (nesse caso, deve-se evitar). O Processo de Testes de Software representa uma estrutura das etapas, atividades, artefatos, papéis e responsabilidades. Sendo assim, o que busca esse processo? I. Padronizar os trabalhos para um melhor controle dos projetos de testes. II. Minimizar os riscos causados por defeitos provenientes do processo de desenvolvimento como também a redução de custos de correção de defeitos. III. Redução de custos de correção de defeitos. Assinale a única alternativa correta. Apenas o item II está correto. Todos os itens estão corretos. Apenas o item III está correto. Apenas os itens II e III estão corretos. Apenas os itens I e II estão corretos. Explicação: O Processo de Testes de Software representa uma estrutura das etapas, atividades, artefatos, papéis e responsabilidades, buscando padronizar os trabalhos para um melhor controle dos projetos de testes. O objetivo de um Processo de teste (com metodologia própria, ciclo de vida, etc.) é minimizar os riscos causados por defeitos provenientes do processo de desenvolvimento como também a redução de custos de correção de defeitos, pois, o custo do software (desenvolvimento + manutenção) tende a ser menor quando o software é bem testado. Sobre o Processo de Teste de Software, analise as asserções abaixo e, a seguir, assinale a alternativa correta: I. O teste de software visa garantir a qualidade, minimizando as incertezas e sistematizando os critérios de aceitação. II. Por meio do teste de software, pode-se avaliar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e se não está fazendo o que não deveria fazer. III. O teste de software ajuda a avaliar se as expectativas da empresa contratada para desenvolver o produto está sendo atendidas (e se estão alinhadas); IV. O teste de software ajuda a avaliar se o software apresenta um bom funcionamento (parte disso está relacionada às expectativas implícitas) aquilo que é inerente ao produto). Somente as asserções III e IV estão corretas Somente as asserções I, II e III estão corretas Somente as asserções I, III e IV estão corretas Somente as asserções II, III e IV estão corretas Somente as asserções I, II e IV estão corretas Explicação: O teste de software visa garantir a qualidade, minimizando as incertezas e sistematizando os critérios de aceitação. Por meio dele, pode-se avaliar se o software está fazendo o que deveria fazer, de acordo com os seus requisitos, e se não está fazendo o que não deveria fazer. Ele ajuda a validar se: As expectativas de todas as pessoas envolvidas estão sendo atendidas (e se estão alinhadas); O software apresenta um bom funcionamento (parte disso está relacionada às expectativas implícitas ¿ aquilo que é inerente ao produto). Quanto às estratégias, existem muitas que podem ser utilizadas para testar um software. Uma das estratégias de teste é o Teste Unitário. O que visam os testes unitários? Visam a execução do sistema como um todo ou um subsistema. Visam tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de desenvolvimento. Visam verificar se os componentes funcionam corretamente juntos, conforme as especificações. Visam garantir que cada unidade de programa atenda as especificações e funcione corretamente. Visam verificar se a solução atende aos objetivos do negócio e aos seus requisitos. Explicação: Testes Unitários: São realizados no estágio mais baixo da escala de testes e são aplicados nas menores componentes de códigos criados, visando garantir que estes atendem as especificações, em termos de garantia e de funcionalidade. Testes de integração: São executados em uma combinação de componentes para verificar se eles funcionam corretamente juntos, conforme as especificações. Teste de sistema: São realizados pela equipe de testes, visando a execução do sistemacomo um todo ou um subsistema. Teste de aceitação: São os testes finais de execução do sistema, realizados pelos usuários, visando verificar se a solução atende aos objetivos do negócio e aos seus requisitos. Ao tratar os testes como um processo organizado e muitas vezes paralelo e integrado ao processo de desenvolvimento, os custos de manutenção serão reduzidos. Sobre o conceito de Teste de Software, analise abaixo algumas citações de autores variados e, a seguir, assinale a alternativa correta: I. "Teste é uma parte inevitável de qualquer esforço necessário para desenvolver um sistema de software" II. "O teste de software é um conjunto de atividades que podem ser planejadas e executadas concomitantemente" III. "Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema, seja possível determinar se alcança resultados desejados" IV. "Processo de executar um programa ou sistema com a itenção de encontrar defeitos" Somente as asserções I, II e IV estão corretas Somente as asserções II, III e IV estão corretas Somente as asserções I, II e III estão corretas Somente as asserções I e II estão corretas Somente as asserções I, III e IV estão corretas Explicação: "Teste é uma parte ineevitável de qualquer esforço necessário para desenvolver um sistema de software" (HOWDEN, 1987) "O teste de software é um conjunto de atividades que podem ser planejdas com antecedência e executadas sistematicamente" (PRESSMAN, 1985) "Qualquer atividade que, a partir da avaliação de um atributo ou capacidade de um programa ou sistema, seja possível determinar se alcança resultados desejados" (HETZEL, 1988) "Processo de executar um programa ou sistema com a itenção de encontrar defeitos" (MYERS, 1979) O teste de software visa garantir a qualidade, minimizando as incertezas e sistematizando os critérios de aceitação, porém isso não pode ser feito sem uma estratégia de teste. Para que tenhamos uma estratégia de teste de software bem elaborada ela deve incorporar alguns testes como: I- Testes de baixo nível, necessários para verificar se um pequeno segmento de código fonte foi implementado corretamente. II- Testes de alto nível, que validam as funções principais do sistema de acordo com os requisitos do cliente. III- Documento básico para organizar a atividade de testar aplicações no contexto da empresa. Assinale a assertiva correta. Apenas o item I está correto. Apenas o item III está correto. Apenas os itens I e II estão corretos. Apenas o item II está correto. Apenas os itens II e III estão corretos. Explicação: O documento básico para organizar a atividade de testar aplicações no contexto da empresa é considerado uma metodologia. A Engenharia de Software nos auxilia em muitas situações. Uma delas é a atividade de teste de software. Sobre este assunto, analise as asserçoes abaixo e, a seguir, assinale a alternativa correta: I. Existem dois tipos de teste de software: teste de baixo nível e teste de alto nível; II. O teste de software é o processo de executar o software de uma maneira controlada, com o objetivo de descobrir diferenças entre o comportamento previsto e o comportamento observado. III. Os testes de software podem ser usados para descobrir a ausência de erros no produto (software). Somente a asserção I está correta Somente as asserções II e III estão corretas Somente as asserções I e III estão corretas Somente a asserção III está correta Somente as asserções I e II estão corretas Explicação: A Engenharia de Software nos auxilia em muitas situações. Uma delas é a atividade de teste, que é um passo do processo de que visa encontrar ou corrigir erros durante toda a construção do software. Devemos incorporar dois tipos de testes: 1-Teste de baixo nível: utilizado para veerificar um pequeno fragmento de código-fonte. Nesse caso, saberemos se ele foi implementado corretamente. 2 - Teste de alto nível: tem a característica de validar as principais funções do sistema ccom base nos requisitos definidos pelo cliente. Os testes podem ser usados para descobrir a presença de erros nos softwares, mas infelizmente não mostram a sua ausência. Assim, conseguimos chegar à conclusão que "o teste de software é o processo de executar o software de uma maneira controlada, com o objetivo de descobrir diferenças entre o comportamento previsto e o comportamento observado". 1. O que é necessário para se obter resultados positivos nos projetos de testes? I. Que o mesmo inicie desde a especificação dos requisitos do sistema a ser implementado. II. Que o mesmo inicie quando a programação estiver sendo desenvolvida. III. Que o mesmo inicie com o usuário para verificar se o mesmo está funcionando corretamente. Assinale a única alternativa correta. Apenas os itens II e III estão corretos. Apenas o item III está correto. Apenas os itens I e II estão corretos. Apenas o item I está correto. Apenas o item II está correto. Explicação: Para se obter resultados positivos nos projetos de testes é necessário que o mesmo inicie desde a especificação dos requisitos do sistema a ser implementado, ou seja, tão logo comece o projeto de desenvolvimento do software inicia-se também em conjunto o projeto de testes de software. Pensando no teste com parte fundamental no ciclo de vida de um software, vamos mostrar os 7 princípios fundamentais que envolvem o processo de teste e devem servir como um guia geral, tanto para testadores quanto para desenvolvedores. Alguns desses princípios são especificados como: I- Teste demonstra a presença de defeitos - Testes conseguem identificar a existência de falhas, mas não pode garantir a ausência delas. II- Agrupamento de defeitos - Ao desenvolver um software, as atividades de teste devem começar o mais cedo possível no ciclo de vida do desenvolvimento do software, diminuímos o custo das correções e assim possibilitamos que erros de design, requisitos e arquitetura sejam encontrados no momento ideal. III- Teste exaustivo é impossível. Deve-se calcular o esforço dos testes baseando-se nos riscos e prioridades Assinale a assertiva correta. Apenas o item I está correto. Apenas os itens I e III estão corretos. Apenas os itens I e II estão corretos. Apenas o item II está correto. Apenas os itens II e III estão corretos. Explicação: 1º Princípio: Teste demonstra a presença de defeitos - Testes conseguem identificar a existência de falhas, mas não pode garantir a ausência delas. 2º Princípio: Teste exaustivo é impossível. Deve-se calcular o esforço dos testes baseando-se nos riscos e prioridades. 3º Princípio: Teste antecipado - Ao desenvolver um software, as atividades de teste devem começar o mais cedo possível no ciclo de vida do desenvolvimento do software, diminuímos o custo das correções e assim possibilitamos que erros de design, requisitos e arquitetura sejam encontrados no momento ideal. 4º Princípio: Agrupamento de defeitos - A maioria das falhas encontradas durante a execução dos testes está concentrada em um número pequeno de módulos. Sempre existe uma área do software que é responsável pelo maior número de erros. Aula 5 O Modelo V é uma melhoria do Modelo Cascata do desenvolvimento de produto. Ele possui alguns objetivos, dentre os quais estão explicitados nas alternativas abaixo, EXCETO (ou seja, assinale a alternativa INCORRETA, isto é a que não representa um dos objetivos do Modelo V). Um dos objetivos do Modelo V é mimizar os riscos do projeto. Um dos objetivos do Modelo V é melhorar a comunicação entre as partes interessadas. Um dos objetivos do Modelo V é melhorar e garantir a qualidade do projeto. Um dos objetivosdo Modelo V é reduzir os custos totais ao longo do ciclo de vida do projeto Um dos objetivos do Modelo V é maximizar os lucros da empresa desenvolvedora. Explicação: Objetivos do Modelo V: Minimizar os riscos do projeto; Melhorar e garantir a qualidade do projeto; Reduzir os custos totais ao longo do ciclo de vida do projeto; Melhorar a comunicação entre as partes interessadas. O Modelo V de desenvolvimento de software apresenta algumas vantagens e desvantagens. Sobre tais aspectos, leia as asserções abaixo e, a seguir, assinale a alternativa correta. I. No Modelo V, a relação entre os estágios de desenvolvimento e os diferentes tipos de testes facilita a localização de falhas. II. O Modelo V é altamente complexo e requer investimento para conseguir aprender. III. O Modelo V especiffica os papéis dos diferentes tipos de testes para serem executados. IV. O Modelo V envolve apenas os programadores no teste. Apenas as asserções I, II e III estão corretas Apenas as asserções II, III e IV estão corretas Apenas as asserçoes II e IV estão corretas Apenas as asserções I, II e IV estão corretas Apenas as asserções I e III estão corretas Explicação: Modelo V: Vantagens: A relação entre os estágios de desenvolvimento e os diferentes tipos de testes facilita a localização de falhas; É um modelo simples e fácil de aprender; Especifica os papéis dos diferentes tipos de testes para ser executada; Envolve o usuário no teste. Desvantagens: É difícil para o cliente expor explicitamente todos os requisitos; O cliente deve ter paciência, pois receberá o produto no fim do ciclo de vida; O teste pode ser caro e às vezes não ser suficientemente eficaz; O produto final pode não refletir todas as necessidades dos utilizadores. Existem diversos modelos no processo de desenvolvimento de software. Um deles é o Modelo V. Sobre este Modelo V, pode-se afirmar: I. O Modelo V é uma melhoria do Modelo Iterativo de desenvolvimento de produto, pois esse modelo tinha um problema de reatividade. II. O Modelo V permite que, durante a integração de um sistema, os testes sejam feitos contra os próprios requisitos do componente ou interface que está sendo testado. III. No Modelo V cada etapa deve ser concluída antes que a próxima inicie, e o teste é planejado em paralelo com a atividade correspondente no desenvolvimento, ou seja, o modelo considera o teste como uma atividade paralela, e não como uma atividade isolada que ocorre no final do desenvolvimento. Após a leitura das asserções acima, analise as alternativas subsequentes e assinale a correta. Somente as asserções II e III estão corretas Somente a asserção I está correta Somente as asserções I e II stão corretas Somente a asserção II está correta Somente as asserções I e III estão corretas Explicação: O modelo V é uma melhoria do cascata do desenvolvimento de produto, pois esse modelo tinha um problema de reatividade. Ele permite que, durante a integração de um sistema, os testes sejam feitos contra os próprios requisitos do componente ou interface que está sendo testado, em contraste com modelos anteriores, nos quais o componente era testado contra a especificação do componente/ interface. Nesse modelo, cada etapa deve ser concluída antes que a próxima inicie, e o teste é planejado em paralelo com a atividade correspondente no desenvolvimento, ou seja, o modelo considera o teste como uma atividade paralela, e não como uma atividade isolada que ocorre no final do desenvolvimento. O (I) é um modelo mais robusto e completo do que o cascata, podendo produzir softwares de maior qualidade do que com ele. O (II) acrescenta duas partes importantes, que são: Verificação e Validação. Após a leitura das sentenças (I) e (II), assinale a alternativa que as preencher corretamente e respectivamente. (I) Modelo Iterativo; (II) Modelo Cascata (I) Modelo V; (II) Modelo V (I) Modelo V; (II) Modelo Iterativo (I) Modelo V; (II) Modelo Cascata (I) Modelo Iterativo; (II) Modelo Iterativo Explicação: É um modelo mais robusto e completo do que o cascata, podendo produzir softwares de maior qualidade do que com ele. Esse modelo acrescenta duas partes importantes, que são: - Verificação: Que está relacionado com a questão: O produto está sendo feito corretamente? - Validação: Está relacionado com a questão: O produto está sendo feito, ou seja, o software atende ao objetivo pretendido com precisão? O Modelo V é uma melhoria do Modelo Cascata (modelo Waterfall) do Desenvolvimento de Produto. A configuração desse modelo é representada por: Validação: requisitos, integração, sistema e programação. Verificação: integração, análise, desenvolvimento e código. Verificação: requisitos, análise, arquitetura e código. Validação: unitário, código, sistema e programação. Validação: unitário, integração, sistema e programação. Explicação: O Modelo V é uma melhoria do Modelo Cascata (modelo Waterfall) do Desenvolvimento de Produto, pois esse modelo tinha um problema de reatividade. Ele permite que, durante a integração de um sistema, os testes sejam feitos contra os próprios requisitos do componente ou interface que está sendo testado, em contraste com modelos anteriores onde o componente era testado contra a especificação do componente/interface. Verificação: requisitos, análise, arquitetura e código. Validação: unitário, integração, sistema e aceitação. __________________ geralmente são executados após a correção de algum defeito ou após a adição de uma nova funcionalidade. Seu objetivo é garantir que nenhum defeito foi acrescentado ao sistema após sua modificação. Complete a lacuna. Teste fumaça Testes de estresse Testes de regressão Teste Integração Teste alfa Explicação: Os objetivos desse teste são garantir que nenhum defeito foi acrescentado ao sistema após sua modificação e também garantir que as mudanças realizadas nessa nova versão não gerarão erros em componentes prontos e testados. O teste de regressão é uma técnica aplicável a cada alteração realizada no software. Consiste em aplicar, antes e depois da alteração, todos os testes que já foram aplicados nas versões anteriores. Por ter essa natureza de repetição, torna-se imprescindível que seja adotada uma ferramenta de automação de testes. Esta técnica pode ser bem aplicada nas fases de testes de unidade, de integração e de sistema. O Modelo V é uma melhoria do Modelo Cascata (modelo Waterfall) do Desenvolvimento de Produto. Ela tem vantagens e desvantagens. As desvantagens são representadas por: Ele é um modelo simples e fácil de aprender. A relação entre os estágios de desenvolvimento e os diferentes tipos de testes facilita a localização de falhas. O cliente deve ter paciência, pois ele receberá o produto no fim do ciclo de vida. Especifica os papéis dos diferentes tipos de testes para ser executada. Envolver o usuário no teste. Explicação: As vantagens desse modelo são: A relação entre os estágios de desenvolvimento e os diferentes tipos de testes facilita a localização de falhas. Ele é um modelo simples e fácil de aprender. Especifica os papéis dos diferentes tipos de testes para ser executada. Envolver o usuário no teste. Um modelo em que podemos fazer a atividade de teste é o Modelo em V. Neste modelo também fazemos a verificação e a validação. Esses momentos do processo de desenvolvimento de Software garantem o processo e a qualidade do Software. Os processos de Verificação no Modelo em V tratam as seguintes situações: I- Negócios, requisitos, análise e modelagem, implementação. II- Unidade, integração, sistema, aceite. III- Negócios,requisitos, análise e modelagem, aceite. Assinale a assertiva correta. Apenas os itens II e III estão corretos. Apenas o item III está correto. Apenas o item I está correto. Apenas os itens I e II estão corretos. Apenas o item II está correto. Explicação: Unidade, integração, sistema, aceite representa no Modelo U representa a Validação. Um processo de desenvolvimento de software em geral tem como entrada os requisitos do sistema e como saída um produto fornecido. Analise as afirmativas sobre este tema. I. O desenvolvimento de software envolve os estágios: análise e definição de requisitos, projeto do sistema, codificação, testes e entrega do sistema. Assim, o ciclo de vida do software descreve a vida do produto de software desde sua concepção até a implementação e entrega. II. Um dos primeiros modelos propostos foi o modelo cascata. Neste modelo o desenvolvimento de um estágio deve terminar antes do próximo começar. O modelo em V é uma variação do modelo em cascata, que mostra como as atividades de teste estão relacionadas com a análise e o projeto. III. O modelo em cascata pode ser incrementado com atividades de prototipação. A prototipação é um modelo de processo efetivo em que partes do sistema são construídas rapidamente com o objetivo de validar os requisitos. Caso novas alternativas sejam discutidas, deve-se começar o ciclo em cascata novamente, abandonando-se o protótipo. Assinale a única alternativa correta Apenas o item I está correto. Apenas o item II está correto. Apenas os itens I e II estão corretos. Apenas os itens II e III estão corretos. Apenas o item III está correto. Explicação: No modelo cascata, o desenvolvimento de um estágio deve terminar antes do próximo começar. No modelo em V, que é uma variação do modelo em cascata, mostra como as atividades de teste estão relacionadas com a análise e o projeto. A utilização do Modelo V minimiza os custos da qualidade do software, assim, segundo a regra 10 de Myers, os testes devem ser iniciados nas inspeções/revisões de código até os testes de software. Identifique se essa afirmação está certa ou errada. Essa afirmativa está errada, porque o Modelo V aumenta os custos da qualidade do software. Essa afirmativa está certa, porque o custo os testes devem ser iniciados nas inspeções/revisões de código até os testes de software. Essa afirmativa está certa, porque o Modelo V minimiza os custos da qualidade do software. Essa afirmativa está errada, porque o custo de correção de defeitos tende a aumentar quanto mais tarde o defeito é detectado. Essa afirmativa está errada, porque os teste devem ser iniciados quando já tivermos algum desenvolvimento. Explicação: Segundo Myers, o custo de correção de defeitos tende a aumentar quanto mais tarde o defeito é detectado. Os defeitos encontrados durante a produção tendem a custar muito mais que defeitos encontrados em modelos de dados e em outros documentos do projeto do software. Aula 6 A equipe Z realizou a codificação de uma nova tela para o sistema de controle de estoque. O objetivo da equipe é garantir que não existem erros considerando apenas a parte "nova" do produto. Qual o tipo de teste que deve ser realizado? Teste de validação Teste Caixa-preta. Teste de unidade Teste Caixa-branca Teste de integração Explicação: O teste de unidade é também chamado de teste de componentes. Concentra-se em cada componente individual do software, de acordo com o que é implementado no código fonte. A equipe Z realizou a codificação de uma nova tela para o sistema de controle de estoque. O objetivo da equipe é garantir que não existem erros considerando apenas a parte 'nova' do produto. Quais as diferentes visões que devem ser consideradas ao aplicarmos este tipo de teste? Visão da Engenharia de Software, dos objetivos de negócio da empresa, das interfaces, da estrutura lógica de dados, dos caminhos de manipulação de erro. Visão das interfaces, da estrutura lógica de dados, dos caminhos independentes, das condições limites, dos caminhos de manipulação de erro. Visão da Engenharia de Software, das interfaces, da estrutura lógica de dados, de condições limites, dos caminhos de manipulação de erro. Visão da Engenharia de Software, dos objetivos de negócio da empresa, das interfaces, da estrutura lógica de dados, de condições limites. Visão dos objetivos de negócio da empresa, das interfaces, da estrutura lógica de dados, de condições limites, dos caminhos de manipulação de erro. Explicação: Para se ter uma visão de teste de unidade, são consideradas a Interface; Estrutura Lógica de Dados; Caminhos Independentes; Condições Limite e Caminhos de Manipulação de Erro. A equipe de desenvolvimento recebe o documento de Resultado de Testes gerado pelos homologadores. Como se desenvolve esse processo? Especificando os testes, criando casos de teste, planejando o reparo do erro e reparando o erro. Localizando o erro, planejando o reparo do erro, reparando o erro e refazendo os testes. Especificando os testes, criando casos de teste, planejando o reparo do erro, reparando o erro e refazendo os testes. Criando casos de teste, localizando o erro, planejando o reparo do erro e refazendo os testes. Especificando os testes, relatando os teste, criando casos de teste, planejando o reparo do erro e reparando o erro. Explicação: Neste caso, para desenvolver esse processo, são necessários os passos na seguinte ordem: Localizar o erro, planejar o reparo do erro, reparar o erro e refazer os testes. O gerente de um departamento de sistemas decidiu que os produtos de software criados pela equipe A serão homologados pela equipe B, e vice-versa. Percebeu-se com o tempo, no entanto, o surgimento de diversos conflitos entre as equipes A e B. Qual a origem desses conflitos? A origem do problema é que a condição de erro provocada pela execução no sistema antes da mensagem de manipulação de erro. A origem do problema é que o erro mencionado não corresponde ao erro encontrado. A origem do problema foi a visão dos Caminhos de Manipulação de Erro. A origem do problema foi a criação de um Grupo Independente de Teste (ITG). A origem do problema é que os desenvolvedores testam para 'provar que funciona' e os homologadores para 'provar que não funciona', agravados no caso pela proximidade entre as equipes e pela constante troca de papéis no processo. Explicação: Neste caso, a origem do problema se deu porque a função dos desenvolvedores é testar para 'provar que funciona' e os homologadores para 'provar que não funciona', agravados no caso pela proximidade entre as equipes e pela constante troca de papéis no processo. A equipe de desenvolvimento recebe o documento de Resultado de Testes gerado pelos homologadores. Qual processo os desenvolvedores devem executar agora? Os desenvolvedores farão a depuração. Os desenvolvedores irão refazer os testes. Os desenvolvedores farão o reparo do erro. Os desenvolvedores farão a localização do erro. Os desenvolvedores irão planejar o reparo do erro. Explicação: Os testes já foram efetuados pela equipe e os desenvolvedores tem que fazer a depuração. A equipe de desenvolvimento recebe o documento de Resultado de Testes gerado pelos homologadores. Que documentos são utilizados como apoio a esse processo? Especificação de testes, planejamento e reparo do erro e resultado de teste. Especificação dos testes, casos de teste e planejamento o reparo do erro. Localização do erro, planejamento do reparo do erro e reparação do erro. Resultado de teste, especificação dos testes e casos de teste. Criação doscasos de teste, localização do erro e planejamento do reparção do erro. Explicação: Neste caso, para desenvolver esse processo, são necessários os seguintes documentos: Resultado de Testes, Especificação e Casos de Teste. Aula 7 Existem alguns grupos importantes de erros comumente cometidos por quem testa software. No planejamento dos testes os erros são relacionados à fase de planejamento dos testes. Quais são os erros mais comuns que ocorrem nesse grupo? Assinale a afirmativa INCORRETA. Concentrar exageradamente em teste funcional. Oferecer estatísticas de erros sem o contexto relevante. Não enfatizar o teste de configuração. Deixar o teste de carga para o final do processo. Não testar a documentação e não testar a instalação. Explicação: Esse item pertence ao propósito da atividade de teste. Na empresa, seu chefe solicitou que você elaborasse a documentação da abordagem da equipe de software para os testes a serem realizados em uma importante aplicação web da sua empresa. Esta documentação deve conter a definição do plano que descreve a estratégia global e o procedimento designando as etapas específicas do teste, assim como os tipos de testes que serão aplicados. Neste caso qual documento você deverá elaborar? Especificação de teste. Massa de teste. Caso de teste. Caso de uso. Script de teste. Explicação: Neste caso, a especificação de teste é um documento que especifica um procedimento de teste com objetivo determinado, assim, é dada a condição de entrada e o resultado esperado após a execução do teste. Existem diferentes papéis com diferentes reponsabilidade dentro de uma equipe de teste independente. Marque a opção INCORRETA: Testador - Responsável pela execução dos casos de teste e script de teste. Product Owner - Responsável pela análise dos dados de teste. Analista de Teste - responsável pela modelagem e elaboração dos casos de testes e scripts de teste. Arquiteto de Teste - Responsável pela montagem do ambiente de teste (infraestrutura) e escolha de ferramentas. Gerente de Teste - responsável pela liderança de um projeto de teste específico. Explicação: O Product Owner não faz parte dos papéis e reponsabilidade dentro de uma equipe de teste independente. Sem planejamento, fica mais difícil o desenvolvimento de qualquer projeto. O plano é como se fosse um mapa. Com ele podemos chegar ao nosso destino. A Equipe (responsabilidades e requisitos humanos) e Infraestrutura: - Mostram as necessidades físicas para a realização do teste. - Mostram os diferentes papéis desempenhados no projeto de teste. - Os recursos humanos e requisitos de treinamento da equipe de teste. Em relação as ferramentas de testes automatizado as ferramentas que possibilitam o gerenciamento e o controle do processo de execução, reexecução e medição dos testes planejados e a integração entre as demais fases, de forma a executar os testes selecionados no planejamento, tendo como principais características: a análise de cobertura, a execução de scripts, simuladores de performance e testadores de memória. Neste caso, são classificadas como ferramentas: Ferramentas de Modelagem e Automação. Ferramentas de Planejamento de testes. Ferramentas de Revisões e Inspeções. Ferramentas de Suporte aos Testes. Ferramentas de execução e conferência. Explicação: As ferramentas de Gerenciamento de Teste Oferecem um repositório central e padronizado onde os testadores de teste poderão: Criar uma coleção de casos de teste (suítes com os Casos de Teste); Atribuir essas suítes aos casos de teste aos seus respectivos testadores; Acompanhar a situação da execução dos testes; e Emitir relatórios com métricas e estatísticas. Existem alguns grupos importantes de erros comumente cometidos por quem testa software. O propósito da atividade de teste ocorre quando o ator que controla a execução não entende bem qual o sentido de se fazer a atividade de testar e não aproveita os resultados de forma eficaz. Quais são os erros mais comuns que ocorrem nesse grupo? Assinale a afirmativa INCORRETA. Não enfatizar o teste de configuração. Achar que a tarefa de equipe de testes é simplesmente encontrar erros. Não encontrar os erros importantes. Não informar sobre erros de usabilidade. Atribuir a responsabilidade pela qualidade unicamente à equipe de teste. Explicação: Esse item pertence ao planejamento de teste. No método do caso de teste através do Método de Análise de Documentos, caso estejamos utilizando a orientação a objeto em conjunto com a linguagem UML como padrão de documentação, quais as principais fontes para extrair os casos de testes? Caso de uso e diagrama de condição Somente o código fonte Diagrama de atividades e o código fonte Diagrama de atividades e diagrama de estado Diagrama de estado e o código fonte Explicação: Representa todo o fluxo de processamento de um determinado evento de negócio, revelando todos os caminhos alternativos (caminhos positivos) e as situações que impossibilitam a finalização desse evento (cenários negativos). O diagrama de atividades deve revelar o conjunto completo de casos de testes que precisarão ser inseridos no planejamento de testes. Aula 8 O termo automação de teste de software significa a utilização: do desenvolvimento de scripts de testes para simular a massa de teste a ser utilizada. de uma metodologia de teste para simular os sistema em produção. de um software que imita a interação com a aplicação no que se refere ao teste tal qual um ser humano faria. de um ambiente de teste, de ferramentas e de uma massa de teste. de casos de testes automatizados que imitam a interação com a aplicação. Explicação: Com automação de testes pode-se alcançar uma execução muito confiável. A MTS (Metodologia de Teste de Sistema) define os Requisitos de Negócio como: Serve de base para os Requisitos Não-Funcionais e Detalhados Escritos para o projeto físico e a programação Base para os Requisitos Detalhados Escritos na linguagem da área de negócios e podem conter gráficos, tabelas e diagramas Escritos para informar em algumas linhas como o requisito será testado Explicação: A MTS (Metodologia de Teste de Sistema) define os Requisitos de Negócio como sendo escritos na linguagem da área de negócios e podem conter gráficos, tabelas e diagramas. Correspondem a objetivos, metas ou ¿desejos¿ da área de negócios. Nos testes de validação os mecanismos de testes estão segmentados em dois níveis de testes distintos testes de baixo nível e testes de alto nível. São considerados. Teste de regressão e teste fumaça Teste de sistema e teste de integração Teste da caixa branca e teste da caixa preta Teste de integração e teste de unidade Teste de sistema e teste de aceitação Explicação: Os testes de Unidade e Integração são considerados como de Baixo Nível. De quem é a responsabilidade do teste de aceitação? Do gerente e do desenvolvedor Do desenvolvedor Do gerente de projeto Do cliente e do desenvolvedor Do cliente Explicação: No Teste de Aceitação, é impossível prever como o cliente realmente usará um programa. Por isso esse teste é de responsabilidade do cliente. Para a implementação de um projeto de automatização de teste precisamos de: Recurso, infraestrutura, ferramenta e metodologia Ferramenta, equipe de teste, sistema para testar e hardware Ferramenta, equipe de teste, processo de teste e caso de teste Scripts, software de teste, testador e um sistema para testar Hardware, software, scripte os dados para teste Explicação: Esses são os itens básicos para a implementação de um projeto de automação de teste. Quais são as estratégias que podem ser usadas no teste de aceitação? Teste de implantação, teste de requisitos e teste de unidade Teste formal, teste de unidade e teste alfa Teste formal, teste caixa-branca e teste alfa Teste de implantação, teste caixa-branca e teste alfa Teste formal, teste informal e teste beta Explicação: Como é a última etapa de teste antes da implantação do software, seu objetivo é verificar se o software está pronto e se pode ser utilizado pelos usuários finais executando as tarefas e funções para as quais foi criado, então as estratégias de testes a serem executados são: Teste formal, teste informal e teste beta. Aula 9 O padrão IEEE 610.12-1990 (IEEE Standard Glossary of Software Engineering Terminology) define alguns elementos chave. O que significa a Prevenção de defeitos? Com base nos levantamento dos riscos críticos do projeto, devem ser promovidas ações de prevenção e planejamento de contingências para minimizar o impacto caso os riscos tornem-se problemas. Análise das métricas e relatórios de gestão para entender a causa raiz dos problemas e promover a melhoria contínua do processo. Definição das atividades para a correção e posterior notificação da resolução do defeito. Geração de relatórios com dados relevantes para acompanhar o progresso dos testes e a qualidade do sistema, assim como, a geração de métricas para alimentar a atividade de melhoria do processo. Estabelecimento formal de linhas base (baselines) por meio da Gerência de Configuração de Software. Explicação: Os outros itens referem-se a Linha base entregável, Identificação do defeito, Melhoria do processo, Relatório de gestão. Qual sistema de banco de dados não é suportado pelo Mantis BugTRaker? DB2 MySQL PostgreSQL MS SQL ADABAS Explicação: ADABAS (Adaptable DAta BAse System)- Sistema de Banco de Dados Adaptável é o principal sistema gerenciador de banco de dados em modelo de rede desenvolvido pela empresa Software AG, usado inicialmente apenas em Mainframes, mas agora suportado por diversos sistemas diferentes, inclusive os de plataforma baixa. O padrão IEEE 610.12-1990 (IEEE Standard Glossary of Software Engineering Terminology) define alguns elementos chave. O que significa a Identificação do defeito? Análise das métricas e relatórios de gestão para entender a causa raiz dos problemas e promover a melhoria contínua do processo. Definição das técnicas necessárias para encontrar, reportar e classificar os defeitos, assim como, os critérios para reconhecê-los. Geração de relatórios com dados relevantes para acompanhar o progresso dos testes e a qualidade do sistema, assim como, a geração de métricas para alimentar a atividade de melhoria do processo. Definição das atividades para a correção e posterior notificação da resolução do defeito. Estabelecimento formal de linhas base (baselines) por meio da Gerência de Configuração de Software. Explicação: Os outros itens referem-se a Linha base entregável, Solução do defeito, Melhoria do processo, Relatório de gestão. Quais são os elementos chave de um processo de gestão de defeitos definidos pelo padrão IEEE 610.12- 1990? Solução do defeito; Engano; Melhoria do processo; Relatório de gestão Identificação do defeito; Falha; Solução do defeito; Melhoria do processo Melhoria do processo; Prevenção de defeitos; Relatório de gestão; Identificação do defeito Prevenção de defeitos; Defeito; Linha base do defeito; Identificação do defeito Linha base entregável; Engano; Identificação do defeito; Solução do defeito Explicação: Prevenção de defeitos; Linha base entregável; Identificação do defeito; Solução do defeito; Melhoria do processo e Relatório de gestão. Defeito, Engano e Falha são formas como o padrão IEEE 610.12-1990 (IEEE Standard Glossary of Software Engineering Terminology) distingue a terminologia. Qual tarefa não é necessárias para pré-instalação do MantisBT? Visualizar os usuários que possuem apenas permissão de consulta Transferir o arquivo baixado para o seu servidor Faça o download do MantisBT Extraia o lançamento Renomeie o diretório Explicação: Cada nível de usuários do Mantis possui diferentes responsabilidades dentro da ferramenta. O Visualizador é um dos níveis O que é um BugTracker? É uma aplicação J2EE de acompanhamento e gestão dos problemas É um software que elimina o histórico dos bugs do sistema É uma ferramenta possui a funcionalidade de wiki para documentação Um software que não possuía um kernel (núcleo) estável Um sistema de rastreamento de defeitos Explicação: Os outros itens referem-se a outros softwares livres. Aula 10 Para utilizar o TestLink, são necessários criar Plano de Teste e Casos de Teste. O Plano de Teste é caracterizado por: I- Um documento que identifica os objetivos dos testes para o projeto de teste em questão. II- Agrupar todos os casos de teste necessários para o projeto de teste. III- Possuírem um título, um ou mais passos a serem executados e os resultados esperados para cada um dos passos ou um resultado esperado final. Assinale a assertiva correta. Apenas o item II está correto. Apenas os itens I e II estão corretos. Apenas os itens II e III estão corretos. Apenas os itens I, II e III estão corretos. Apenas o item I está correto. Explicação: O item III está incorreto porque casos de teste possuem um título, um ou mais passos a serem executados e os resultados esperados para cada um dos passos ou um resultado esperado final. Cada caso de teste é criado com um objetivo específico. O Testlink trabalha com entradas e saídas, as entradas são ações a se realizar para se obter as saídas esperadas. No nosso Software Gestor de Testes Testlink, nós utilizamos os conceitos de Entrada e Saída para executar os Casos (Cenários) de Testes. Supondo que você tenha um sistema de nota fiscal e retirada de compras, que buscam os códigos dos produtos informados, trazendo seus valores e somam os valores para mostrar o resultado final da compra. Qual a expectativa de entrada e saída que temos nesse teste? Entrada - O Sistema retorna a somados produtos x e y; Saída - Informar um produto x; Este produto x, tem o valor x. Entrada - O Sistema retorna a somados produtos x e y; Saída - O resultado da soma deve ser correto. Entrada - O resultado da soma deve ser correto; Saída - O Sistema retorna a somados produtos x e y. Entrada - Informar um produto x; Este produto x, tem o valor x; Saída - O Sistema retorna a somados produtos x e y. Entrada - Informar um produto x; Este produto x, tem o valor x; Saída - Informar um produto y; Este produto y, tem o valor y. Explicação: Entrada: Informar um produto x; Este produto x, tem o valor x; Informar um produto y; Este produto y, tem o valor y; Saída: O Sistema retorna a somados produtos x e y; O resultado da soma deve ser correto. Dentre as tarefas do Testlink encontramos o conceito de criação de usuários. Cada usuário envolvido no projeto de testes deve ser cadastrado na ferramenta incluindo: I- Profissionais da equipe de testes como gerente de testes, coordenador de testes, analistas de teste e testadores. II- Profissionais da equipe de desenvolvimento como gerente de desenvolvimento, coordenador de desenvolvimento, analistas de sistema, projetistas e desenvolvedores. III- Profissionais envolvidos no projeto que necessitem pelo menos visualizar as informações que estão na ferramenta, como gerentesde projeto, analistas de negócios, equipem de ambiente, diretores. Assinale a assertiva correta. Apenas os itens I e II estão corretos. Apenas o item II está correto. Apenas o item I está correto. Apenas os itens II e III estão corretos. Os itens I, II e III estão corretos. Explicação: Todas as assertivas estão corretas. Os usuários no Testlink ao serem criados, recebem um perfil específico, que será seu perfil padrão. Para cada projeto que atuem, podem ter perfis diferentes. Exemplo: um coordenador de testes pode atuar como líder em um projeto que está sob sua responsabilidade, mas pode ser visitante em outro projeto que é coordenado por outro usuário. As métricas ajudam na geração do processo de teste. Essas métricas devem ser relatadas como um fator de qualidade do software. Classifique a métrica Auditabilidade para testar e relatar o que acontece com o software testado. O quanto o software é desvinculado do hardware em que opera. A facilidade de operação de um programa. A independência funcional dos componentes do programa. O dano que ocorre quando o programa encontra um erro. Facilidade com que se pode checar a conformidade aos padrões. Explicação: As outras métricas referem-se a: Tolerância a erros, Independência de hardware, Modularidade, Operabilidade. Para fazer um teste no TestLink, precisamos criar um planos de teste. O que é um plano de teste? I- Um documento que identifica os objetivos dos testes para o projeto de. II- Um projeto só pode ter um plano de testes. III-Para cada fase teste pode existir mais de um plano de testes. Assinale o item que contém a(s) assertiva(s) correta(s). Apenas opção I. Apenas as opções II e III. Apenas a opção II. Apenas a opção III. Apenas as opções I e III. Explicação: Um projeto pode ter mais de um plano de teste. Existem várias ferramentas para encontrar erros, falhas, bugs e outros tipos de problemas que não foram detectados durante o desenvolvimento de um software. Uma delas é o TestLinkMantis. As características dessa ferramenta são: I- Permite a escrita e armazenamento de projetos de teste, planos de teste, casos de teste bem como a execução manual dos testes. II- É escrita em C++ e roda no banco de dados MySql. III- Possui relatórios que permitem verificar o andamento do projeto de testes. Assinale a assertiva correta. Apenas o item I está correto. Apenas os itens II e III estão corretos. Apenas o item II está correto. Apenas os itens I e III estão corretos. Apenas os itens I e II estão corretos. Explicação: O item II está incorreto porque a ferramenta Testlink é escrita em PHP e roda no banco de dados MySql.
Compartilhar