Cap 8 – Garantia de Qualidade de Software Ricardo L Schneider FES – 2002/1
GQS é uma atividade ‘guarda-chuva’ que é aplicada ao longo de todo o processo de software. Objetivo simples: produzir software de alta qualidade
Conceitos de Qualidade Variação entre amostras (não existem dois flocos de neve iguais!) Qualidade (“característica ou atributo de alguma coisa”) Qualidade do design Qualidade de conformidade Controle de Qualidade (inspeções, revisões e testes >> feedback)
Custo da Qualidade: Custos da Prevenção: Custos de Avaliação: planejamento da qualidade revisões técnicas formais equipamentos de teste treinamento Custos de Avaliação: inspeções calibragem e manutenção dos equipamentos testes
Custos de falhas: Custos Internos (antes da entrega) retrabalho reparo análise das falhas Custos Externos (após a entrega) resolução das reclamações retorno e substituição do produto manutenção da linha de ajuda trabalho de comprovação
Custo da Correção [Boehm 81] 1000 40-1000 100 30-70 15-40 10 10 3-6 1 1 Req Proj Cod Teste Tst Sys Oper.
TQM (Total Quality Management) Edwards Deming - 86 kaizen melhoria do processo (visível, repetitivo, mensurável) atarimae hinshitsu fatores intangíveis que afetam o processo kansei foco no usuário do produto miryokuteki hinshitsu mercado
Revisões de software São “filtros” para o processo de engenharia de software Usa a diversidade de um grupo para: apontar melhorias no produto de uma pessoa ou grupo confirmar partes que não precisam ou não se deseja melhorias; e encontrar produtos de qualidade mais uniforme,previsível e gerenciável
ampliação e remoção de defeitos Passo de desenvolvimento detecção defeitos Erros passantes Erros para o Erros Percentagem de eficiência na detecção dos erros Erros amplificados 1 : x Erros do passo anterior passo seguinte Erros novos gerados
Revisão técnica formal Walkthroughs Inspeções Revisões round-robin (aleatórias) + 3 a 5 pessoas preparação prévia de no máx 2 h tempo da reunião de até 2 h
Regras para as revisões revisar o produto não o produtor preparar uma agenda e segui-la limitar o debate enunciar as áreas de problemas, não resolver todos tomar notas da reunião limitar o número de participantes preparar um cheklist de cada produto revisado alocar recursos e tempo para as revisões treinar os revisores revisar suas revisões anteriores
Garantia formal da qualidade de um software “Se um programa de software é um objeto matemático podemos especificar e provar, de maneira rigorosa e formal, a sua correção e a conformidade com sua especificação”
Garantia estatística de qualidade Informações sobre defeitos são coletadas e categorizadas Análise das causas dos defeitos Usar o princípio de Pareto (80/20) para identificar os defeitos vitais Corrigir as causas principais dos defeitos vitais
Confiabilidade do software Confiabilidade MTBF = MTTF + MTTR Disponibilidade = MTTF / MTBF x 100%
O plano de GQS V.Padrões, práticas e convenções 1.Propósitos 2.Convenções VI.Revisões e auditorias 2.Requisitos das revisões a) revisão dos requisitos de software I. Propósito do plano II.Referências III.Gerênciamento 1.Organização 2.Tarefas 3.Responsabilidades IV.Documentação 1.Propósito 2.Doctos técnicos 3.Outros doctos
IX.Ferramentas, técnicas e metodologias X.Controle de código XI.Controle de mídias XII.Controle de suprimentos XIII.Coleção de registros XIV.Treinamento XV.Gerência de riscos b) revisão do projeto c) revisão de verificação e validação d) auditoria funcional e) auditoria física f) auditoria do processo g) revisões gerenciais VII.Testes VIII.Relatório de problemas e ação de correção
O padrão ISO 9000 [ansi 87] O sistema de garantia de qualidade: estrutura organizacional responsabilidades procedimentos processos recursos
approach da iso 9000 “a empresa é vista como uma rede de processos interconectados. Estes processos devem ser identificados, documentados e seguidos na prática, permitindo controle e melhorias. A empresa é auditada e certificada por auditores independentes (semestralmente).”
Aplicabilidade das normas ISO ISO 9000 >> geral, vale para qualquer produto ISO 9001 >> aplicada aos serviços de engenharia (20 requisitos básicos) ISO 9000-3 >> processos de software