Aula 09 – Qualidade de Software e QA
🎯 Objetivos de Aprendizagem
- Entender o conceito de Qualidade de Software.
- Diferenciar Error, Fault (Defeito) e Failure (Falha).
- Conhecer o papel de QA (Quality Assurance).
- Entender o custo de corrigir bugs tardiamente.
📚 Conteúdo
1. O que é Qualidade?
Um software tem qualidade quando ele atende aos requisitos (faz o que deve fazer) e atende às expectativas do usuário (é rápido, seguro e intuitivo).
Foco no Valor
Não adianta ter um código tecnicamente perfeito se ele não resolve o problema do usuário ou se é impossível de usar.
2. A anatomia de um problema
Na engenharia, somos precisos com os termos para identificar a origem dos problemas:
- Erro (Mistake): É o equívoco humano (ex: o dev esqueceu de validar um campo).
- Defeito (Fault/Bug): É a "marquinha" deixada no código pelo erro.
- Falha (Failure): É o comportamento visível (ex: o app fechou sozinho).
Causa e Efeito
Humano erra Código ganha um Defeito Usuário percebe a Falha.
3. A Regra 1-10-100
Quanto mais tarde você descobre um problema, mais caro ele custa.
- $1 na fase de Requisitos: Basta apagar uma linha de texto.
- $10 na fase de Desenvolvimento: Precisa reescrever código.
- $100 em Produção: Custa reputação, suporte técnico e correções de emergência.
4. Simulação de Qualidade (TermynalJS)
📝 Exercícios Progressivos
- [Básico] O que é Qualidade de Software para você?
- [Básico] Diferencie Erro de Falha.
- [Intermediário] Por que a fase de manutenção costuma ser a mais cara se não houver qualidade inicial?
- [Intermediário] Explique a regra 1-10-100 com suas próprias palavras.
- [Desafio] Você é o QA de um novo app de banco. Onde você focaria seus esforços para economizar mais dinheiro para a empresa? (Pense na regra 1-10-100).
🚀 Mini-Projeto 09: Plano de Prevenção
Imagine que você está criando um app de delivery. Liste 3 possíveis falhas que os usuários poderiam encontrar e sugira como evitá-las ainda na fase de design.
📅 Atividades
- [ ] Ver Slides da Aula
- [ ] Fazer Quiz
- [ ] Praticar Exercícios
- [ ] Realizar Projeto