Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 9 - Qualidade e Teste de Software DATA: 20/04/2021 Evolução do conceito de qualidade de software Foco Aspectos Desenvolvedor • Inicio: Qualidade = Funcionar • 2º momento: Qualidade = Confiabilidade • 3º momento: Qualidade incorpora outros aspectos Cliente • Percepção da Qualidade • Pacotes de Software Tecnologia • Deixou de ser diferencial (todos) • Passa a atributo de Qualidade, como por exemplo :interface Evolução do conceito de qualidade de software Usuário – Interesse: Qualidade de Uso e desempenho – Interesse nas medidas externas • As funções estão disponíveis? • Software é confiável? É eficiente? • Fácil de usar? • Fácil para mudar de ambiente? – Características construtivas não interessam Visões da qualidade • Desenvolvedor – Coerente com expectativas dos usuários (requisitos e aceitação) – Interesse nas medidas internas (técnicas) – Qualidade de produtos intermediários (documentos, modelos e diagramas) Visões da qualidade • Gerente de Desenvolvimento – Medida global da qualidade; – Qualidade x Prazo x Custos; – Qualidade do processo. Visões da Qualidade NBR ISO/IEC 9126 (Produto) • Qualidade é: “totalidade de características de uma entidade que lhe confere a capacidade de satisfazer as necessidades explícitas e implícitas“ • As 2 necessidades subsidiam as validações e verificações (como testes) • Explícitas (externas) = condições em que produto deve ser usado, objetivos, funções,desempenho esperado (depende de especificações de requisitos). • Implícitas (internas) = Não estão especificados nos requisitos, mas são características obvias e fundamentais. • Define Características e sub-características que definem um MODELO de qualidade. • Não apresenta métricas para características de qualidade. – Propõe que cada empresa use as próprias • Qualidades explícitas (externas) = métricas externas ou seja medições baseadas nas necessidades dos usuários (produto final). • Qualidades implícitas (internas) = métricas internas (produtos intermediários). • Qualidades de uso = Visão de qualidade que o usuário tem do software. NBR ISO/IEC 9126 (Produto) • Modelo de QUALIDADE da norma é composto de 2 partes: – A qualidade do produto deve ser avaliado segundo um modelo definido. – O modelo deve ser usado para estabelecer metas de qualidade do SW e produtos intermediários. • Público alvo: desenvolvimento SW, Adquirentes, Equipe de qualidade e Avaliadores. NBR ISO/IEC 9126 (Produto) O objetivo é que o produto tenha o efeito desejado em um contexto particular de uso. NBR ISO/IEC 9126 (Produto) A qualidade do produto de software pode ser avaliada pela medição: dos atributos internos (tipicamente medidas estáticas de produtos intermediários); dos atributos externos (tipicamente medidas do comportamento do código quando executado); dos atributos de qualidade em uso. Modelo de Qualidade 9126-1 Características Externas 9126-2 Características Internas 9126-3 Características de Qualidade de uso 9126-4 Quando executado Durante o desenvolvimento • Instrumentos necessários para realizar uma avaliação • Como medir qualitativamente e quantitativamente a qualidade - 9126-1 Utilização do software Modelo de Qualidade NBR ISO/IEC 9126 Métricas do Modelo de Qualidade NBR ISO/IEC 9126 Característica Especificidades Funcionalidade • Ser adequado aos requisitos Confiabilidade • Manter o nível de desempenho Usabilidade • Ser de fácil uso. Sem esforço Manutenibilidade • Esforço para modificações Portabilidade • Ser transferido de ambiente Eficiência • Uso otimizado de recusrsos. O que a norma entende como característica? Característica Especificidades Eficácia • Permitir que usuário atinja sua meta com acurácia e completude Produtividade • Permitir que os usuários empreguem a quantidade apropriada de recursos em relação a eficácia obtida Segurança • Apresentar níveis aceitáveis de riscos Satisfação •Satisfazer os usuários. O que a norma entende como Qualidade em uso? Princípios do Modelo de Qualidade NBR ISO/IEC 9126 Qualidade do Processo Contribui para a melhoria da qualidade do produto Contribui para a melhoria da qualidade do uso Métricas do Modelo de Qualidade NBR ISO/IEC 9126 • Atual NBR ISO/IEC 25051) • A norma estabelece conjunto de: • 1. Estabelece os requisitos de qualidade de um software tipo pacote. • 2. Fornece instruções para testá-lo, com base nos requisitos. • Escopo: Pacotes oferecidos ao mercado. • Compreendem os processadores de texto, planilhas, BDs, softwares gráficos, programas para funções administrativas, técnicas ou científicas e programas utilitários. NBR ISO/IEC 12119 (Pacote) • Esta Norma não trata de processos de produção de software (tampouco atividades e produtos intermediários, por exemplo especificações); • O sistema de qualidade do produtor (tratado, por exemplo, na NBR ISO 9001) está fora do escopo desta. NBR ISO/IEC 12119 (Pacote) • Pacotes de software conjunto completo e documentado de programas fornecidos a diversos usuários para uma aplicação ou função genérica. (SW de prateleira). NBR ISO/IEC 12119 (Pacote) NBR ISO/IEC 12119 (Pacote) ISO/IEC 12119 Requisitos de qualidade Pré-requisitos de testes Descrição do produto Documentação do usuário Programas e dados Atividades de testes Registros de testes Relatórios de testes Teste de acompanhamento Instruções para testes • Os requisitos de qualidade incluem que: 1. A descrição do produto 2. Documentação do usuário; 3. Documentação do produto e dados necessários ao seu funcionamento • Um pacote de software está em conformidade com esta Norma se atende a todos aos requisitos acima. NBR ISO/IEC 12119 (Pacote) NBR ISO/IEC 12119 (Pacote) Pré-requisitos para teste: Deve ser considerada a presença de itens de produto; de sistema necessário e treinamento quando mencionado na descrição do produto Atividades de teste: Testar se estão de acordo com os requisitos de qualidade tais como a descrição do produto, a documentação do usuário, e os programas de dados Registro de teste: Deve conter informações suficientes para permitir a repetição do teste como a elaboração do plano de teste, casos de teste, registros de resultados com falhas e/ou sucessos e por fim, a identificação de pessoas envolvidas Relatório de teste: Contém a descrição do produto, o hardware e software usado no teste, os documentos usados, os resultados dos testes (descrições, documentação, programas e dados), a lista de não conformidades dos requisitos, a lista de não conformidades de recomendações e as datas dos inícios e término do teste • O que é um pacote de software? • O que é um pacote de software? Trata-se de um produto de software que envolve um conjunto completo e documentado de programas fornecidos a diversos usuários para uma aplicação ou função genérica. Um pacote de software envolve todos os componentes do produto disponíveis aos usuários, tais como documentação, manual de instruções e guia de instalação. EXERCÍCIOS EXERCÍCIO 1 O que é qualidade de software? A. ( ) É um processo não sistemático. B. ( ) São os modos de representação - tanto quantitativa quanto qualitativa - do software. C. ( ) São as normas de funcionamento do software. D. ( ) É um processo sistemático que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos especificados, prevenindo e eliminando defeitos.E. ( ) Nenhuma das respostas anteriores. Existe uma atividade que é aplicada no processo de engenharia de software, validada pelos desenvolvedores quanto ao cumprimento de determinadas normas exigidas e que está sujeita à auditoria. Essa atividade é denominada: A. ( ) controle de mudanças. B. ( ) revisão técnica formal. C. ( ) manutenção de registros. D. ( ) teste de software. E. ( ) prática de padrões e procedimentos formais. EXERCÍCIO 2 EXERCÍCIO 1 O que é qualidade de software? A. ( ) É um processo não sistemático. B. ( ) São os modos de representação - tanto quantitativa quanto qualitativa - do software. C. ( ) São as normas de funcionamento do software. D. ( X ) É um processo sistemático que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos especificados, prevenindo e eliminando defeitos. E. ( ) Nenhuma das respostas anteriores. Existe uma atividade que é aplicada no processo de engenharia de software, validada pelos desenvolvedores quanto ao cumprimento de determinadas normas exigidas e que está sujeita à auditoria. Essa atividade é denominada: A. ( ) controle de mudanças. B. ( ) revisão técnica formal. C. ( ) manutenção de registros. D. ( ) teste de software. E. ( X ) prática de padrões e procedimentos formais. EXERCÍCIO 2 Em uma organização produtora de software, considere o desafio de implementar, práticas efetivas de medição e análise baseadas em um subconjunto dessas métricas, com a finalidade de satisfazer as necessidades de informação da gerência de projeto. É de conhecimento que a organização, atualmente, não faz uso de métricas. A respeito das práticas de medição e análise mencionadas, e das abordagens para implantação de métricas, assinale a opção correta. ( ) O estabelecimento de alguma capacidade básica de medição e análise que atenda às necessidades de informação mínimas da gerência de projetos, inclusive relativa à qualidade de produto. ( ) O teste de software são somente uma escolha da organização produtora de software, pois sabe-se que é algo complementar e sem urgência. ( ) É um erro comum, durante o estabelecimento de uma capacidade de medição e análise relacionada com teste de software, o compartilhamento, com a equipe de desenvolvimento, de sumários e de dados de tendências. ( ) Na terminologia de testes, uma falta ou defeito é a causa de um mau funcionamento de um software; uma falha é o resultado incorreto de uma falta ou defeito; um erro é a diferença entre um resultado computado e um resultado esperado. As falhas são descobertas por meio de testes, mas é a correção da falta ou do defeito que eliminará a falha. ( ) Teste é uma abordagem de controle de qualidade de um software, e o teste pode ser desenvolvido por meio de técnicas de análise estática de código, embora sejam mais comuns as técnicas dinâmicas, incluindo simulação. EXERCÍCIO 3 Em uma organização produtora de software, considere o desafio de implementar, práticas efetivas de medição e análise baseadas em um subconjunto dessas métricas, com a finalidade de satisfazer as necessidades de informação da gerência de projeto. É de conhecimento que a organização, atualmente, não faz uso de métricas. A respeito das práticas de medição e análise mencionadas, e das abordagens para implantação de métricas, assinale a opção correta. ( ) O estabelecimento de alguma capacidade básica de medição e análise que atenda às necessidades de informação mínimas da gerência de projetos, inclusive relativa à qualidade de produto. ( ) O teste de software são somente uma escolha da organização produtora de software, pois sabe-se que é algo complementar e sem urgência. ( ) É um erro comum, durante o estabelecimento de uma capacidade de medição e análise relacionada com teste de software, o compartilhamento, com a equipe de desenvolvimento, de sumários e de dados de tendências. ( X ) Na terminologia de testes, uma falta ou defeito é a causa de um mau funcionamento de um software; uma falha é o resultado incorreto de uma falta ou defeito; um erro é a diferença entre um resultado computado e um resultado esperado. As falhas são descobertas por meio de testes, mas é a correção da falta ou do defeito que eliminará a falha. ( ) Teste é uma abordagem de controle de qualidade de um software, e o teste pode ser desenvolvido por meio de técnicas de análise estática de código, embora sejam mais comuns as técnicas dinâmicas, incluindo simulação. EXERCÍCIO 3 A garantia da qualidade de software (Software Quality Assurance - SQA) é uma atividade "guarda-chuva", aplicada ao longo de todo o processo de engenharia de software. Abrange uma série de tarefas vinculadas especificamente às atividades que compõem um plano de garantia da qualidade. O que este plano deve considerar? I. avaliações, auditorias, revisões, define padrões para o projeto. II. procedimentos para relato e acompanhamento de erros e documentação necessária. III. A alocação de recursos necessários para o desenvolvimento do software. IV. realimentação à equipe com informações conclusivas do projeto. A. ( ) Apenas I e II. B. ( ) Apenas II, III e IV. C. ( ) Apenas I, III e IV. D. ( ) Apenas I, II e IV. E. ( ) Apenas I, II e III. EXERCÍCIO 4 A garantia da qualidade de software (Software Quality Assurance - SQA) é uma atividade "guarda-chuva", aplicada ao longo de todo o processo de engenharia de software. Abrange uma série de tarefas vinculadas especificamente às atividades que compõem um plano de garantia da qualidade. O que este plano deve considerar? I. avaliações, auditorias, revisões, define padrões para o projeto. II. procedimentos para relato e acompanhamento de erros e documentação necessária. III. A alocação de recursos necessários para o desenvolvimento do software. IV. realimentação à equipe com informações conclusivas do projeto. A. ( ) Apenas I e II. B. ( ) Apenas II, III e IV. C. ( ) Apenas I, III e IV. D. ( X ) Apenas I, II e IV. E. ( ) Apenas I, II e III. EXERCÍCIO 4 Sobre teste de software considere: I. Uma estratégia de teste que é escolhida por grande parte das equipes de software adota uma visão incremental do teste, começando com o teste de unidades individuais de programa, avançando para testes projetados a fim de facilitar a integração das unidades e culmina com testes que exercitam o sistema construído. II. O teste de unidade focaliza o esforço de verificação na menor unidade de projeto do software - o componente ou módulo de software. Usando a descrição de projeto no nível de componente como guia, caminhos de controle importantes são testados para descobrir erros dentro dos limites do módulo. III. O teste de unidade é normalmente considerado um apêndice ao passo de codificação. O projeto de teste de unidade pode ser realizado antes que o código seja iniciado ou depois de o código-fonte ter sido gerado. IV. O teste de integração é uma técnica sistemática para construir a arquitetura do software enquanto, ao mesmo tempo, conduz testes para descobrir erros associados às interfaces. O objetivo é, a partir de componentes testados no nível de unidade, construir uma estrutura de programa determinada pelo projeto. Está correto o que se afirma em A. ( ) I, II, III e IV. B. ( ) I, II e IV, apenas. C. ( ) II, III e IV, apenas. D. ( ) III e IV, apenas. E. ( ) I e III, apenas. EXERCÍCIO 5 Sobre teste de software considere: I. Uma estratégia de teste que é escolhida por grande parte das equipes de software adota uma visão incremental do teste, começando com o teste de unidades individuais de programa, avançando para testes projetados a fim de facilitar a integração das unidades e culmina com testes que exercitam o sistema construído. II. O teste de unidade focaliza o esforço de verificação na menor unidade de projeto do software - o componente ou módulo de software. Usando a descrição de projeto no nível de componente como guia, caminhos de controle importantes são testados para descobrir erros dentro dos limitesdo módulo. III. O teste de unidade é normalmente considerado um apêndice ao passo de codificação. O projeto de teste de unidade pode ser realizado antes que o código seja iniciado ou depois de o código-fonte ter sido gerado. IV. O teste de integração é uma técnica sistemática para construir a arquitetura do software enquanto, ao mesmo tempo, conduz testes para descobrir erros associados às interfaces. O objetivo é, a partir de componentes testados no nível de unidade, construir uma estrutura de programa determinada pelo projeto. Está correto o que se afirma em A. ( X ) I, II, III e IV. B. ( ) I, II e IV, apenas. C. ( ) II, III e IV, apenas. D. ( ) III e IV, apenas. E. ( ) I e III, apenas. EXERCÍCIO 5 Teste de Equivalência de Classe é A. ( ) É uma técnica que trabalha por dedução física. B. ( ) É uma técnica que tem por objetivo primário reduzir o número de casos de testes. C. ( ) É uma técnica que trabalha por dedução indutiva. D. ( ) É uma técnica que tem por objetivo primário ampliar o número de casos de testes. E. ( ) É uma técnica que tem por objetivo primário montar um conjunto de regras de decisão a partir de uma tabela. EXERCÍCIO 6 Teste de Equivalência de Classe é A. ( ) É uma técnica que trabalha por dedução física. B. ( ) É uma técnica que tem por objetivo primário reduzir o número de casos de testes. C. ( ) É uma técnica que trabalha por dedução indutiva. D. ( X ) É uma técnica que tem por objetivo primário ampliar o número de casos de testes. E. ( ) É uma técnica que tem por objetivo primário montar um conjunto de regras de decisão a partir de uma tabela. EXERCÍCIO 6
Compartilhar