Fundamentos Essenciais de Qualidade e Testes de Software

Classificado em Matemática

Escrito em em português com um tamanho de 4,45 KB

Conceitos Fundamentais em Qualidade de Software

O que é um Processo?

Um processo é a maneira pela qual se realiza uma operação, seguindo determinadas normas, envolvendo usuários, desenvolvedores e a organização.

Fatores de Qualidade de Software

Fatores Externos (Orientados ao Usuário)

  • Correção
  • Robustez
  • Extensibilidade
  • Reusabilidade
  • Compatibilidade
  • Eficiência
  • Portabilidade
  • Verificabilidade
  • Integridade
  • Facilidade de Uso

Fatores Internos (Orientados ao Desenvolvedor)

  • Modularidade
  • Legibilidade
  • Manutenibilidade

Pilares e Custos da Qualidade de Software

Pilares da Qualidade de Software

  • Planejamento da Qualidade
  • Garantia da Qualidade (QA)
  • Controle da Qualidade (QC)

Custo da Qualidade

  • Custo da Conformidade
  • Custo da Não Conformidade

Conceitos de Testes de Software

Defeito, Erro e Falha

A relação hierárquica é: Defeito > Erro > Falha.

  • Defeito: Uma instrução ou comando incorreto no código.
  • Erro: Diferença entre um valor obtido e o valor esperado.
  • Falha: Comportamento do software diferente do esperado pelo usuário.

Verificação e Qualidade do Produto

Diferentes Verificações

  • Verificação dos Negócios
  • Verificação dos Requisitos
  • Verificação de Análise e Modelagem

Qualidade de Produtos de Software (Atributos)

  • Funcionalidade
  • Confiabilidade
  • Usabilidade
  • Eficiência
  • Manutenibilidade
  • Portabilidade

Validação e Níveis de Teste

Fases da Validação

  • Baixo Nível: Unidade e Integração.
  • Alto Nível: Sistema e Aceitação.

Ambiente e Automação de Testes

Fases do Ambiente de Testes

  1. Procedimentos Iniciais
  2. Planejamento
  3. Preparação
  4. Especificação
  5. Execução
  6. Entrega

Pilares da Automação de Testes

O Projeto de Automação de Testes (Teto) é sustentado por:

  • Infraestrutura
  • Metodologia
  • Ferramenta (Pilar Recursos)

A Norma IEEE 829 especifica a forma de uso de um conjunto de documentos de teste.

Tipos e Classificações de Testes

Automação de Teste (Sentidos)

  • Teste Regressivo: Ocorre quando há uma nova versão e é comparada com as versões anteriores.
  • Teste Progressivo: Simulação de um script de teste para testes intensos ou de carga.

Teste de Esforço (Estresse)

É o tempo levado para desenvolver uma atividade.

Objetivo Principal: Medir o desempenho de uma atividade. (Exemplo: Teste DDOS é um teste de estresse).

Diferença entre Teste Caixa Branca e Caixa Preta

  • Caixa Branca (Teste Estrutural): Confere a especificação de código.
  • Caixa Preta (Teste Funcional): Confere os requisitos funcionais (as ações que o software deve desempenhar).

Teste Negativo

Utiliza o raciocínio lógico para determinar quais situações resultarão em um resultado negativo ou verdadeiro no teste.

Testadores Independentes

Garantem a imparcialidade entre o lado desenvolvedor e o lado usuário, focando na Verificação/Validação.

Conceitos Adicionais

  • Requisito Não Funcional (Desempenho): Quando o desempenho do servidor degrada de forma a se tornar inaceitável.
  • Disponibilidade (SLA): Tempo útil de uso e o tempo de reparo de falhas, geralmente definido em um Service Level Agreement (Acordo de Nível de Serviço).
  • Teste de Interação: Testar as integrações entre os componentes.

Auditoria de Software

Foca na conformidade de licenças e segue as seguintes etapas:

  1. Planejamento do Trabalho
  2. Execução da Auditoria
  3. Relatório

Gerenciamento da Qualidade

Engloba:

  • Garantia de Qualidade
  • Planejamento de Qualidade
  • Controle de Qualidade

Entradas relacionadas: