Prévia do material em texto
QUALIDADE E TESTE DE SOFTWARE Aulas 3 e 4 Prof. Daniel Silos – 1ª edição – 2020 E-mail: daniel.moraes@ibmr.br Prof. Daniel Silos – daniel.moraes@ibmr.br 1 mailto:Daniel.Moraes@ibmr.br 3.GERÊNCIA DE QUALIDADE DE SOFTWARE 1. Diferenciar qualidade de produto e qualidade de processo. 2. Utilizar métricas de verificação de qualidade de produto desenvolvido. 3. Compreender o processo de gerência de qualidade de software. Prof. Daniel Silos – daniel.moraes@ibmr.br 2 4.MÉTRICAS DE QUALIDADE DE SOFTWARE 1. Reconhecer as métricas de qualidade de software. 2. Aplicar as métricas de qualidade de software. 3. Aplicar métricas de verificação de qualidade de produto desenvolvido. Prof. Daniel Silos – daniel.moraes@ibmr.br 3 GERÊNCIA DE QUALIDADE DE SOFTWARE É importante compreender que a qualidade de um software é um processo constante e não um produto final. Existem estratégias focadas na melhoria do processo O trabalho deve começar a partir de um processo genérico de melhoria de qualidade. Qualidade, qualidade de software e garantia de qualidade de software Principais ferramentas de garantia de qualidade de software Prof. Daniel Silos – daniel.moraes@ibmr.br 4 QUALIDADE Qualidade é um conceito muito subjetivo e mutável. Em softwares a qualidade lida com um universo em constante mutação e evolução – não é um diferencial e sim um item obrigatório. Preocupação constante e foco no processo - reavaliação até mesmo após o ciclo produtivo. Prof. Daniel Silos – daniel.moraes@ibmr.br 5 MELHORIA DA QUALIDADE NBR ISSO 9000:2005 Qualidade é o “grau no qual um conjunto de características inerentes satisfaz aos requisitos”. Pergunto: Há algo mais subjetivo que isso? Princípios básicos da qualidade de software – Campos (2008): Evitar defeitos por meio de estratégias de prevenção no lugar de consertá-los. Assegurar que todos os defeitos foram encontrados e devidamente solucionados de maneira rápida. Elencar as causas dos defeitos (assim como seus sintomas) e eliminá-los. Realizar a auditoria do trabalho de acordo com os padrões preestabelecidos no projeto. Prof. Daniel Silos – daniel.moraes@ibmr.br 6 MELHORIA DA QUALIDADE NBR ISSO 9000:2005 Qualidade é o “grau no qual um conjunto de características inerentes satisfaz aos requisitos”. Pergunto: Há algo mais subjetivo que isso? Princípios básicos da qualidade de software – Campos (2008): Evitar defeitos por meio de estratégias de prevenção no lugar de consertá-los. Assegurar que todos os defeitos foram encontrados e devidamente solucionados de maneira rápida. Elencar as causas dos defeitos (assim como seus sintomas) e eliminá-los. Realizar a auditoria do trabalho de acordo com os padrões preestabelecidos no projeto. Prof. Daniel Silos – daniel.moraes@ibmr.br 7 MELHORIA DA QUALIDADE Prof. Daniel Silos – daniel.moraes@ibmr.br 8 TRANSCRIÇÃO DO PRODUTO - Portabilidade - Reutilização OPERAÇÃO DO PRODUTO - Correção/Confiabilidade - Usabilidade/Integridade - Eficiência REVISÃO DO PRODUTO - Manutenção - Flexibilidade Fonte: adaptado de GALLOTTI CONTROLE DA QUALIDADE Os três pilares de W. Eduards Demin: 1. Métodos Estatísticos. 2. Necessidade de participação ativa da gerência. 3. Propostas de melhorias contínuas. Melhoria contínua – adaptação às necessidade do cliente. Prof. Daniel Silos – daniel.moraes@ibmr.br 9 GERENCIAMENTO DA QUALIDADE Os quatro pilares de Philip Crosby – Quatro certezas do Gerenciamento de Qualidade: 1. Qualidade é conformidade com requisitos 2. Qualidade só existe com prevenção. 3. Devem existir padrões para o desempenho da qualidade. 4. A qualidade é mensurada a partir da “não conformidade” com os requisitos preestabelecidos. Livro Quality is Free – 1979 -> Modelo de maturidade organizacional com base em cinco níveis de qualidade. Prof. Daniel Silos – daniel.moraes@ibmr.br 10 GERENCIAMENTO DA QUALIDADE Inspirou a criação do CMM (Capability Maturity Model) – 1995. Cinco níveis de qualidade propostos por Crosby 1. Desconhecimento – não há preocupação com prevenção ou inspeção na detecção de erros. 2. Despertar – Custo com qualidade necessário, mas ainda não há investimentos e/ou projeções de lucro. 3. Alinhamento – Identificação e solução de problemas – ações corretivas. Gerenciar qualidade é apenas uma ferramenta de suporte ao processo geral. 4. Sabedoria – Rotina de gerenciamento de qualidade. Identificação e solução de problemas antes que se manifestem no sistema. Ações preventivas são tomadas e documentadas, rotineiramente. 5. Certeza – Problemas sempre são corrigidos. Gerenciamento de qualidade é função essencial no planejamento de software. Prof. Daniel Silos – daniel.moraes@ibmr.br 11 EXERCÍCIO Elabore(m) (grupo ou individualmente) uma lista de itens que procurem responder a pergunta abaixo. 1. Como desenvolvedores, o que podemos fazer em nosso dia a dia para melhorar a qualidade do software produzido por nós? Vocês tem 15 minutos e em seguida vamos debater em mais 15/20 minutos! Prof. Daniel Silos – daniel.moraes@ibmr.br 12 Garantia da Qualidade de Software (SQA) Abrande todas as etapas do desenvolvimento Foco na melhoria de qualidade Não é uma estratégia única, mas um conjunto de atividades unidas e focadas na melhoria. Abrangem: Instrumentos de análise; Revisões técnicas formais (RTFs); Testes de múltiplas fases; Controle de documentação de software (incluindo alterações); Adequação de padrões de desenvolvimento de software; Ferramentas de medição de resultados e testes. Prof. Daniel Silos – daniel.moraes@ibmr.br 13 Garantia da Qualidade de Software (SQA) Basicamente é uma ação de prevenção – monitoramento e melhorias a todos os processos de desenvolvimento do software, bem como dos processos pertinentes à produção. Podemos separá-la em duas áreas de atuação: 1. Qualidade do ponto de vista do produto. 2. Qualidade do ponto de vista do processo. Ambos estão de acordo com o que foi planejado? Prof. Daniel Silos – daniel.moraes@ibmr.br 14 Qualidade nos processos (SQA) Técnicas de verificação e validação; ISO 9000; Auditorias; Inspeções; Testes de software; Revisões; Reportes gerenciais; Avaliação do processo; Análises estatísticas constantes de controle do processo. Prof. Daniel Silos – daniel.moraes@ibmr.br 15 Qualidade nos produtos (SQA) Revisões Inspeções formais; Testes de software e revisão dos resultados; Auditoria de produto; Testes realizados pelo usuário final. Prof. Daniel Silos – daniel.moraes@ibmr.br 16 Benefícios da SQA Prof. Daniel Silos – daniel.moraes@ibmr.br 17 Sem processos SQA Com processos SQA Software finalizado e entregue com falhas (falhas externas e consequentemente financeiras) Correção de erros antes que eles corrompam o sistema (solução mais barata) Sistemas indisponíveis para o uso pretendido Melhoria da qualidado do produto Sistemas caros SQA como recurso para melhoria de processo Custo alto para detecção e remoção de defeitos externos Possibilidade da criação de um banco de dados de métricas: Planejamento; Taxas de falhas; Etc. EMPRESAS Fonte: adaptado de GALLOTTI MÉTRICAS DE QUALIDADE DE SOFTWARE Características de uma meta ideal: Calculada facilmente; Possibilidade de ampliar os estudos estatísticos fornecidos por ela e de ser automatizada. Passível de repetição. Válida (sempre quantifica o que desejamos medir). Confiável (se você lançar várias vezes as mesmas condições, então devem ser fornecidos os mesmos resultados). Prática (baixo custo e fácil interpretação). Prof. Daniel Silos – daniel.moraes@ibmr.br 18 MÉTRICAS DE QUALIDADE DE SOFTWARE PRESSMAN (Erros vs. Defeitos) Prof. Daniel Silos – daniel.moraes@ibmr.br 19 MÉTRICAS DE QUALIDADE DE SOFTWARE Exemplo: GALLOTTI Quantos defeitos (erros) nós temos no produto? Qual o status de cada defeito? Métricas: Número dedefeitos – número total de defeitos em todo o software (primeira pergunta) Número de defeito por status – elenca diversos status de defeitos e calcula o número de erros respectivo em todos os status. Prof. Daniel Silos – daniel.moraes@ibmr.br 20 EXERCÍCIO Complete a frase com os termos fornecidos: O SQA atua do ponto do ____ e do ____. Do ponto de vista do ____, podemos citar como atividades as ____, a ____ e os ____. Já do ponto de vista do ____, podemos citar como atividades as ____, as ____ e os ____. Prof. Daniel Silos – daniel.moraes@ibmr.br 21 a) Auditoria b) Auditoria do produto c) Inspeções informais d) ISO 9000. e) Processo f) Produto g) Reportes gerenciais h) Testes com usuários finais EXERCÍCIO Explique sobre a importância de métricas de qualidade de software Para a próxima aula, pesquisa sobre uma métrica de qualidade de software, tente compreender sua aplicação e traga para debatermos no início da aula Prof. Daniel Silos – daniel.moraes@ibmr.br 22 Prof. Daniel Silos – daniel.moraes@ibmr.br 23 Para próxima aula LER: • PFLEEGER, S. L. Engenharia de Software - Teoria e Prática. 2a edição. Capítulo 8. Pearson Addison Wesley. 2004. • GALLOTTI, G. M. A. Qualidade de Software. Bibliografia Universitária Pearson. Unidade 2. Pearson. 2017. • SOMMERVILLE, I. Engenharia de Software. 9a edição. Capítulo 8. Pearson Addison Wesley. 2011. • PRESSMAN, Roger. Engenharia de Software: Uma abordagem Profissional. 8a edição. Capítulo 22. Bookman. 2016. Prof. Daniel Silos – daniel.moraes@ibmr.br 24 Referências GALLOTTI, G. M. A. Qualidade de Software. Bibliografia Universitária Pearson. Unidade 1. Pearson. 2017. SOMMERVILLE, I. Engenharia de Software. 9a edição. Capítulo 24. Pearson Addison Wesley. 2011. PRESSMAN, Roger. Engenharia de Software: uma abordagem profissional. 8ª. Edição. Bookman. 2016 QUALIDADE E TESTE DE SOFTWARE�Aulas 3 e 4 3.GERÊNCIA DE QUALIDADE DE SOFTWARE 4.MÉTRICAS DE QUALIDADE DE SOFTWARE GERÊNCIA DE QUALIDADE DE SOFTWARE QUALIDADE MELHORIA DA QUALIDADE MELHORIA DA QUALIDADE MELHORIA DA QUALIDADE CONTROLE DA QUALIDADE GERENCIAMENTO DA QUALIDADE GERENCIAMENTO DA QUALIDADE EXERCÍCIO Garantia da Qualidade de Software (SQA) Garantia da Qualidade de Software (SQA) Qualidade nos processos (SQA) Qualidade nos produtos (SQA) Benefícios da SQA MÉTRICAS DE QUALIDADE DE SOFTWARE MÉTRICAS DE QUALIDADE DE SOFTWARE MÉTRICAS DE QUALIDADE DE SOFTWARE EXERCÍCIO EXERCÍCIO Para próxima aula Referências