Modelos de Maturidade de Teste de Software

Classificado em Computação

Escrito em em português com um tamanho de 6,24 KB

Modelo de Maturidade de Teste: Test Improvement Model (TIM)

Objetivos:

  • Identificação do estado atual do processo de testes
  • Guia para implementação de pontos fortes

Baseado em 4 níveis de maturidade:

  • Baselining
    • Padronização dos documentos, métodos e políticas
    • Análise e classificação dos problemas
  • Cost Effectiveness
    • Detecção de bugs desde o início do projeto
    • Automação de tarefas de testes
    • Treinamento
    • Reuso
  • Risk-Lowering
    • Envolvimento desde o início do projeto
    • Análise de custo x benefício para justificar os gastos
    • Análise de problemas nos produtos e processos
    • Métricas de produtos, processos e recursos
    • Análise e gerenciamento de riscos
    • Comunicação com todas as partes envolvidas nos projetos
  • Optimizing
    • Conhecimento e entendimento da parte de experimentação e modelagem
    • Cooperação com todas as partes envolvidas nos projetos em todas as fases de desenvolvimento
    • Análise das causas-raízes para os principais problemas
    • Melhoria contínua

TIM: Processo de Avaliação

  • Explicação sobre o modelo e o processo de avaliação
  • Entrevistas com pessoas-chave (questionário)
  • Análise: Identificação do perfil de maturidade
  • Identificação de melhorias
  • Análise da solução proposta:
    • Alinhamento com as necessidades da organização
    • Custo x Tempo x Recursos
  • Apresentação da estratégia geral de melhoria

Test Process Improvement (TPI)

  • É o modelo mais utilizado na Europa.
  • Trabalha com 20 áreas-chave de conhecimento:
    • Estratégia de Teste (Test Strategy)
    • Modelo de ciclo de vida (Life-Cycle Model)
    • Planejamento e estimativas (Estimation and Planning)

As áreas-chave são classificadas em níveis de A a D.

Nível de maturidade: área x nível da área.

  • Controlado: Todo o processo é executado de acordo com uma estratégia de testes. Técnicas de especificação de casos de teste são utilizadas, e os defeitos são registrados e reportados. O testware (artefatos, ferramentas, etc.) e o ambiente de testes são bem controlados.
  • Eficiente: A automação do processo de testes pode ser uma forma de alcançar a eficiência.
  • Em otimização: O objetivo deste nível é garantir a melhoria contínua.

TPI: Processo de Avaliação

  • Utilização de checkpoints (requisitos de cada nível; perguntas que devem ser respondidas positivamente).
  • Preenchimento de matriz de maturidade (área-chave x nível).
  • Atribuição do nível de maturidade (controlado, eficiente ou em otimização).

Test Maturity Model (TMM)

É o modelo mais conhecido (inspirado no CMM/CMMI). Possui 5 níveis de maturidade:

  1. Otimização (Optimizing): teste = evitar defeitos
  2. Quantitativamente Gerenciado (Quantitatively Managed): teste = reduzir o risco de não funcionar conforme métricas
  3. Definido (Defined): teste = demonstrar que o sistema não funciona
  4. Gerenciado (Managed): teste = mostrar que o software funciona
  5. Inicial (Initial): teste = depuração (debug)

Detalhamento dos 5 níveis do TMM:

  • 1 - Inicial (Initial): Processo de teste é indefinido; testes ocorrem como parte da depuração.
    • Objetivo: Mostrar que o sistema é executável.
    • Não há garantia de qualidade: o software pode não satisfazer as necessidades e ser instável.
    • Não há áreas de processo.
  • 2 - Definição de Fase (Phase Definition): Processo de testes definido claramente e separado da depuração.
    • Objetivo: Mostrar que o sistema está de acordo com os requisitos.
    • O processo de teste se inicia tarde.
    • Inexistência de equipe de testes independente.
    • Áreas de processo:
      • Políticas e objetivos de teste
      • Planejamento de testes
      • Técnicas e métodos de teste
      • Ambiente de testes
  • 3 - Integração (Integration): Processo de testes integrado ao ciclo de vida, com planejamento de testes no início do projeto e estratégia de teste baseada em gerenciamento de riscos.
    • Objetivo: Demonstrar que o sistema não funciona.
    • Existência de equipe de testes independente.
    • Áreas de processo:
      • Equipe de testes
      • Programa de treinamento de testes
      • Ciclo de vida dos testes e integração
      • Controle e monitoramento
  • 4 - Gerenciamento e Medição (Management and Measurement): Processo de testes definido, fundamentado e mensurável. Revisões e inspeções ocorrem durante todo o ciclo de vida. Possui programa de coleta de métricas.
    • Objetivo: Verificar a corretude do produto conforme métricas.
    • Casos de teste armazenados, gerenciados e compartilhados.
    • Áreas de processo:
      • Revisões por pares
      • Métricas de testes
      • Avaliação de qualidade do software
  • 5 - Otimização, Prevenção de Defeitos e Controle de Qualidade (Optimization/Defect Prevention and Quality Control): Processo de testes completamente definido, capaz de controlar os custos e a eficácia dos testes.
    • Objetivo: Impedir defeitos.
    • Métodos e técnicas otimizadas.
    • Melhoria contínua no processo de testes através da coleta e análise de métricas de qualidade.
    • Áreas de processo:
      • Prevenção de defeitos
      • Controle de qualidade
      • Otimização do processo de testes

Entradas relacionadas: