GESTテグ DA QUALIDADE DE SOFTWARE Definindo Qualidade de Software
Histórico e Conceitos Definindo Qualidade de Software O produto final do processo de desenvolvimento é exatamente o somatório de todas as decisões e realizações geradas durante todo o ciclo de desenvolvimento.
Se desejar produzir software com alta qualidade, é necessário investir em qualidade em todos os pontos do processo.
HistĂłrico e Conceitos Definindo Qualidade de Software
Qualidade de software ĂŠ um processo sistemĂĄtico que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processo e produtos, prevenindo e eliminando defeitos.
Histórico e Conceitos Dimensão da Qualidade do Software Softwares mal testados provocam prejuízos enormes às organizações. Um simples erro interno do projeto e... Pode afetar uma tomada de decisão. Pode afetar uma linha de produção.
Tudo intimamente ligado à qualidade das informações.
Hist贸rico e Conceitos Dimens茫o da Qualidade do Software Para se estabelecer esse processo de garantia, defini-se que:
Qualidade do Software = Qualidade do Processo + Qualidade do Produto
Hist坦rico e Conceitos Dimens達o da Qualidade do Processo Para se produzir software com qualidade, primeiramente deve ser estabelecido um processo de desenvolvimento.
M.D.S. Metodologia de Desenvolvimento de Software N達o se pode garantir a qualidade de algo que n達o existe.
Histórico e Conceitos Dimensão da Qualidade do Processo M.D.S. =
Metodologia de Desenvolvimento de Software
É um documento criado pela empresa com o objetivo específico de definir um padrão de procedimentos para o seu Processo de Desenvolvimento de Software
Histórico e Conceitos Dimensão da Qualidade do Processo M.D.S. =
Metodologia de Desenvolvimento de Software Requisitos; Modelos e especificações de negócios; Arquitetura física; Modelo de dados; Análises de custos... Todos os documentos gerados durante o desenvolvimento do software.
Histórico e Conceitos Dimensão da Qualidade do Produto
Esta dimensão da qualidade tem por objetivo garantir a qualidade do produto tecnológico gerado durante o ciclo de desenvolvimento.
Torna-se necessário a existência de um planejamento das atividades de testes durante o desenvolvimento do software.
Hist贸rico e Conceitos Testes que Garantem a Qualidade do Processo
Processo de Desenvolvimento
Cada fase produz um conjunto de documentos. A qualidade dos processos pode ser medida atrav茅s de testes aplicados em documentos gerados em cada fase do desenvolvimento.
Histórico e Conceitos Testes que Garantem a Qualidade do Processo
Processo de Desenvolvimento
Se esses documentos apresentarem um alto nível de defeitos, é possível reconstruir o documento ou até mesmo refazer a fase. Esses teste são conhecidos como Testes
de Verificação.
Histórico e Conceitos Testes que Garantem a Qualidade do Produto
Produto
• A qualidade dos produtos de software é garantida através de testes conhecidos como Testes
de Validação.
• Em cada unidade de software construída, validamos sua estrutura interna e sua aderência aos requisitos estabelecidos.
Histórico e Conceitos Testes que Garantem a Qualidade do Produto
Produto
• Avaliamos sua integração com as demais unidades já existentes, validando as interfaces de comunicação existente entre os componentes. • Pode aqui existir um alto nível de automação através de complexos ambientes de testes que simulam cenários de utilização.
Histórico e Conceitos Atenção Teste em software não deve existir para provar que tudo está bem. Teste em software existe para provar que algo não está correto. Teste de software deve ser realizado por uma equipe independente, que não esteja envolvida emocionalmente com o projeto.
Histórico e Conceitos Atenção Entender que o objetivo dos testes é “provar que algo não funciona” é um avanço significativo na compreensão de um processo de qualidade de software.
Teste de Software é, portanto, um processo sistemático e planejado que tem por finalidade única a identificação de erros.
Histórico e Conceitos Atitude Zero-defeito Testes são usados para mostrar a presença de erros, mas nunca a sua ausência. Pode-se dizer então que Zero-defeito é algo inatingível.
Porém o desafio de um processo de garantia de qualidade é justamente tornar esse risco o mais próximo possível do zero.
Histórico e Conceitos Onde devemos aplicar qualidade? TESTE Não se deve cometer o erro de se imaginar o desenvolvimento de software como uma linha de tempo onde o produto terá seu ciclo completo de desenvolvimento através de etapas a serem cumpridas. Imaginando que dentro desse processo existe um “momento” especialmente alocado para realização dos testes.
Histórico e Conceitos Onde devemos aplicar qualidade?
Como fica então a necessidade de se identificar possíveis erros nas fases iniciais do processo desenvolvimento?
Depois de já existir o código?
Histórico e Conceitos Onde devemos aplicar qualidade?
“Qualidade não é uma fase do ciclo de desenvolvimento de software... ... E parte de todas as fases.”
Histórico e Conceitos Onde estão os defeitos?
Defeitos que podem ser chamados de: Erros; Problemas; Falhas; Ocorrências; Incidentes... Bugs; Crash; Abends...
Eles representam quase sempre um desvio de qualidade no ato de elaboração de um documento, na codificação...
Histórico e Conceitos Onde estão os defeitos? São esses desvios de qualidade que produzem re-trabalho, aumentam custos, dilatam prazos, diminuem a produtividade e aumentam a insatisfação do cliente.
Atenção: os defeitos são gerados durante todo o processo.
Histórico e Conceitos Onde estão os defeitos?
Implementação
7%
Outros fatores
10%
27% Análise e Modelagem
56% Requisitos
Fica claro que devemos investir mais em qualidade nas atividades de Especificação e Modelagem. Não esquecendo, é claro, de todas as outras atividades.
Histórico e Conceitos Qualidade em todo o ciclo de desenvolvimento
Esse processo de garantia, em todo o ciclo, permite que um número maior de defeitos sejam descobertos antecipadamente.
Evitando que esses defeitos “migrem” para as fases seguintes.
Histórico e Conceitos Qualidade em todo o ciclo de desenvolvimento
A cultura da qualidade cria um ambiente favorável para prevenção e detecção de erros, transformando o processo de desenvolvimento em uma atividade com etapas monitoradas e avaliadas, tornando o processo confiável.
Histórico e Conceitos O custo da qualidade de software Pode ser entendido como todo o investimento realizado com a finalidade de um produto ou serviço atingir a qualidade desejada.
Esses investimentos estão relacionados aos custos de: não-conformidade ( defeitos e correções ) conformidade ( esforços de garantia a qualidade )
Hist贸rico e Conceitos O custo da qualidade de software Custos da Conformidade
Todo investimento realizado para planejar e manter a infra-estrutura de pessoas, processos e ferramentas para prevenir e detectar erros do processo.
Histórico e Conceitos O custo da qualidade de software Custos da Conformidade
Planejamento dos trabalhos Treinamento (processos, técnicas e ferramentas) Controles do processo de desenvolvimento Testes (Verificação e Validação) Revisões de documentos Auditorias de processos
Histรณrico e Conceitos O custo da qualidade de software Custos da nรฃo-conformidade
Todos os custos ligados ao esforรงo de reparar falhas originados no decorrer do processo de desenvolvimento.
Histórico e Conceitos O custo da qualidade de software Custos da não-conformidade Refugos Re-trabalhos Ações corretivas Atrasos nos cronogramas Perdas financeiras e operacionais Perdas de oportunidades Existe então um grande desafio: estabelecer um modelo de custos relacionados à implantação de um processo de garantia da qualidade do software.
Histórico e Conceitos Um modelo de custo de qualidade de software É necessário ter a real compreensão sobre o impacto financeiro causado por processos deficientes e quanto representa financeiramente a relação investimento X melhoria da qualidade.
É necessário que se visualize os custos da “não-conformidade” – falta de qualidade – bem como os custos relacionados à obtenção da qualidade.
Histórico e Conceitos Custo da Qualidade Custo da Conformidade Custo da Detecção de Defeitos Revisões problemas requisitos modelagem planos de testes Inspeção de Código Testes auditorias
Custo da Não-conformidade
Custo da Prevenção de Defeitos Metodologias Treinamento Ferramentas Procedimentos Planejamento Análises Métricas Relatórios de qualidade Projetos de inovação
Re-revisões Re-testes Correções código documentação Reestruturação Redistribuição da versão Atrasos no cronograma Falas da produção
Quanto maiores os custos com investimento em Prevenção de Defeitos menores os custos de não-conformidade
Histórico e Conceitos O custo da propagação dos defeitos Todo e qualquer tipo de erro custa dinheiro. Danos provocados pelo erro Sua identificação Correção Testes da correção Implantação da correção Etc.. Quanto mais tardiamente se descobre os erros, mais caro estes se tornam. Se multiplicam por 10 para cada fase em que o erro migra.
Histórico e Conceitos O custo da propagação dos defeitos 10000
1000 100 10 1 Requisitos
Análise e Modelagem
Código
Teste de software
Produção
Histórico e Conceitos Os Pilares da Qualidade de Software Processo de Garantia da Qualidade do Software Planejamento da Qualidade
Garantia da Qualidade
Controle da Qualidade
Todas as atividades referentes ao planejamento das atividades da qualidade e os esforços na prevenção dos defeitos
Todas as atividades, técnicas e procedimentos realizados com o objetivo de identificar erros em artefatos do software.
Todas as atividades, técnicas e procedimentos relacionados a medir e monitorar a qualidade do processo e do produto de software.
Histórico e Conceitos Processo de Garantia da Qualidade do Software Planejamento da Qualidade
Processo destinado a identificar quais padrões de qualidade são relevantes para o projeto e determinar como satisfazê-los.
Realizado em paralelo com outros processo de planejamento e tem como produto o Plano da Garantia da Qualidade de software.
Histórico e Conceitos Processo de Garantia da Qualidade do Software Garantia da Qualidade
Processo que engloba a estruturação, sistematização e execução das atividades que terão como objetivo garantir o adequado desempenho de cada etapa do desenvolvimento. Aqui estão os Testes de Verificação e Testes de Validação.
Histórico e Conceitos Processo de Garantia da Qualidade do Software Controle da Qualidade
Processo que se concentra no monitoramento e desempenho dos resultados do projeto, afim de determinar se ele está atendendo aos padrões de qualidade. É um processo contínuo de acompanhamento da eficiência do desenvolvimento.
Histórico e Conceitos Processo de Garantia da Qualidade do Software Controle da Qualidade
Possibilitando o acompanhamento das variações de qualidade e promover ações corretivas e preventivas. Avaliará sistematicamente a Qualidade do Processo e a Qualidade do Produto que está sendo desenvolvido.
Published on Feb 18, 2009
arquivo de aula de qualidade de software