QUALIDADE DE SOFTWARE
Leonardo A Alves
“Se tivesse seis horas para derrubar uma árvore,
 eu primeiras quatro horas afiando o machado.”
                                     Abraham Lincoln
INTRODUÇÃO
 Nos primórdios do desenvolvimento de software,
  a atividade de teste encara como a simples tarefa
  de navegar pelo código e corrigir problemas já
  conhecidos.
 Em 1957, o conceito teste de software consegue
  ampliar seus valores e se tornou um processo de
  detecção de erros de software, mas testar ainda
  era encarado como uma atividade que ocorria no
  final do processo de desenvolvimento.
 Myers já definia testes como um “processo de
  trabalho com a intenção de encontrar erros”.
QUALIDADE
 Se o objetivo for identificar erros, um maior
  número de problemas será encontrado, uma vez
  que os profissionais de qualidade buscarão vários
  cenários para avaliar o comportamento do
  software.
 Os primeiros conceitos de qualidade de software,
  traziam os desenvolvedores juntos com o processo
  de teste de software.
 Apesar do enorme avanço do desenvolvimento de
  software, muitas empresas estão presas a antigos
  paradigmas, o que impede seu amadurecimento
  no processo de desenvolvimento.
QUALIDADE
As indústrias de software estão despreparadas
 para atender às rápidas necessidades dos
 mercados simplesmente porque não investiram
 no aperfeiçoamento de seus processos internos.
Estudo sobre indústria de software
     Mais de 30% dos projetos são cancelados antes de
      serem finalizados.
     Mais de 70% dos projetos falham nas entregas das
      funcionalidades esperadas.
     Os custos extrapolam em mais de 180% os valores
      originalmente previstos.
     Os prazos excedem em mais de 200% os cronogramas
      originais.
QUALIDADE
   Comparativo com EUA.
       Americanos recebem uma carga bem maior de
        treinamento e preparação sobre processos de
        softwares. As empresas investem em metodologias e
        aprimoramento de tecnologias.
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 processos e produtos,
  prevenindo e eliminando defeitos.
 Software mal testados e defeituosos podem
  causar prejuízos enormes a instituições.
 Quando estamos engajados nas políticas de teste
  de software estamos em um política de não-
  tolerância a erros.
CMMI
 A garantia de qualidade de software deve
  vir no processo e não apenas no final dele.
 Garantia de qualidade de software poderá
  envolver teste de stress em telas e funções e
  verificação de consumo de recursos de sistema.
 Teste tem por finalidade única identificar
  erros.
 Qualidade não deve ser uma fase no
  desenvolvimento de softwares, é parte de
  todas as fases.
QUALIDADE
  •Modelo de Negócios
  •Requisitos
  •Análise de modelagem
  •Implementação
  •Testes
  •Disponibilização
ONDE ESTÃO OS DEFEITOS
 56% requisitos
 27% Modelagem

 7% implementação

 Outros 10%
       Dados IBM
CUSTO DA CONFORMIDADE
 Planejamento dos trabalhos
 Treinamentos

 Controle de processos

 Testes

 Revisão na Documentação

 Auditorias


       Dados IBM
CUSTO DA NÃO-CONFORMIDADE
 Retrabalho
 Ações corretivas

 Atraso em Cronogramas

 Perdas financeiras

 Perdas de Oportunidades


       Dados IBM
CUSTO DA NÃO-CONFORMIDADE
 Retrabalho
 Ações corretivas

 Atraso em Cronogramas

 Perdas financeiras

 Perdas de Oportunidades


       Dados IBM
MODELO DE QUALIDADE DE SOFTWARE
 Modelo em U (verificação e Validação)
 Modelo Incremental

Qualidade de software2

  • 1.
  • 2.
    “Se tivesse seishoras para derrubar uma árvore, eu primeiras quatro horas afiando o machado.” Abraham Lincoln
  • 3.
    INTRODUÇÃO  Nos primórdiosdo desenvolvimento de software, a atividade de teste encara como a simples tarefa de navegar pelo código e corrigir problemas já conhecidos.  Em 1957, o conceito teste de software consegue ampliar seus valores e se tornou um processo de detecção de erros de software, mas testar ainda era encarado como uma atividade que ocorria no final do processo de desenvolvimento.  Myers já definia testes como um “processo de trabalho com a intenção de encontrar erros”.
  • 4.
    QUALIDADE  Se oobjetivo for identificar erros, um maior número de problemas será encontrado, uma vez que os profissionais de qualidade buscarão vários cenários para avaliar o comportamento do software.  Os primeiros conceitos de qualidade de software, traziam os desenvolvedores juntos com o processo de teste de software.  Apesar do enorme avanço do desenvolvimento de software, muitas empresas estão presas a antigos paradigmas, o que impede seu amadurecimento no processo de desenvolvimento.
  • 5.
    QUALIDADE As indústrias desoftware estão despreparadas para atender às rápidas necessidades dos mercados simplesmente porque não investiram no aperfeiçoamento de seus processos internos. Estudo sobre indústria de software  Mais de 30% dos projetos são cancelados antes de serem finalizados.  Mais de 70% dos projetos falham nas entregas das funcionalidades esperadas.  Os custos extrapolam em mais de 180% os valores originalmente previstos.  Os prazos excedem em mais de 200% os cronogramas originais.
  • 6.
    QUALIDADE  Comparativo com EUA.  Americanos recebem uma carga bem maior de treinamento e preparação sobre processos de softwares. As empresas investem em metodologias e aprimoramento de tecnologias.
  • 7.
    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 processos e produtos, prevenindo e eliminando defeitos.  Software mal testados e defeituosos podem causar prejuízos enormes a instituições.  Quando estamos engajados nas políticas de teste de software estamos em um política de não- tolerância a erros.
  • 8.
    CMMI  A garantiade qualidade de software deve vir no processo e não apenas no final dele.  Garantia de qualidade de software poderá envolver teste de stress em telas e funções e verificação de consumo de recursos de sistema.  Teste tem por finalidade única identificar erros.  Qualidade não deve ser uma fase no desenvolvimento de softwares, é parte de todas as fases.
  • 9.
    QUALIDADE •Modelode Negócios •Requisitos •Análise de modelagem •Implementação •Testes •Disponibilização
  • 10.
    ONDE ESTÃO OSDEFEITOS  56% requisitos  27% Modelagem  7% implementação  Outros 10%  Dados IBM
  • 11.
    CUSTO DA CONFORMIDADE Planejamento dos trabalhos  Treinamentos  Controle de processos  Testes  Revisão na Documentação  Auditorias  Dados IBM
  • 12.
    CUSTO DA NÃO-CONFORMIDADE Retrabalho  Ações corretivas  Atraso em Cronogramas  Perdas financeiras  Perdas de Oportunidades  Dados IBM
  • 13.
    CUSTO DA NÃO-CONFORMIDADE Retrabalho  Ações corretivas  Atraso em Cronogramas  Perdas financeiras  Perdas de Oportunidades  Dados IBM
  • 14.
    MODELO DE QUALIDADEDE SOFTWARE  Modelo em U (verificação e Validação)  Modelo Incremental