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
- Procedimentos Iniciais
- Planejamento
- Preparação
- Especificação
- Execução
- 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:
- Planejamento do Trabalho
- Execução da Auditoria
- Relatório
Gerenciamento da Qualidade
Engloba:
- Garantia de Qualidade
- Planejamento de Qualidade
- Controle de Qualidade