Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Página de papel de um QA #62

Merged
merged 1 commit into from
Jun 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 92 additions & 1 deletion docs/1 - Fundamentos de QA/papel-do-qa.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,95 @@ sidebar_position: 2

# Papel do QA

Definir
## Introdução

O papel do QA (Quality Assurance) é crucial para garantir que o software desenvolvido atenda aos requisitos de qualidade estabelecidos. O QA não se limita apenas a encontrar bugs; envolve uma ampla gama de atividades que visam melhorar a qualidade dos processos e produtos de software. Esta seção detalha as responsabilidades, atividades e a importância do papel do QA no ciclo de vida do desenvolvimento de software.

---
## Responsabilidades do QA

### Definição de Processos e Padrões

O QA é responsável por estabelecer e manter os processos e padrões que garantem a qualidade. Isso inclui:

- **Desenvolver Procedimentos:** Criar procedimentos e políticas de QA que definam como a qualidade será garantida.
- **Manter Documentação:** Documentar processos, procedimentos e melhores práticas para garantir a consistência.
- **Atualização Contínua:** Revisar e atualizar os processos conforme necessário para se adaptar a novas tecnologias e métodos.

### Revisão de Código

Participar de revisões de código é uma parte essencial do papel do QA. As responsabilidades incluem:

- **Identificação de Problemas:** Identificar problemas de qualidade no código durante as revisões.
- **Sugestões de Melhoria:** Oferecer sugestões para melhorar a qualidade e a eficiência do código.
- **Garantia de Conformidade:** Assegurar que o código esteja em conformidade com os padrões estabelecidos.

### Desenvolvimento de Casos de Teste

Criar e manter casos de teste que garantam que todos os aspectos do software sejam verificados. As atividades incluem:

- **Análise de Requisitos:** Analisar os requisitos para desenvolver casos de teste abrangentes.
- **Criação de Casos de Teste:** Escrever casos de teste detalhados que cobrem todas as funcionalidades e cenários possíveis.
- **Manutenção:** Atualizar casos de teste conforme necessário para refletir mudanças no software.

### Execução de Testes

Realizar testes para identificar defeitos e garantir que o software funcione conforme esperado. As responsabilidades incluem:

- **Testes Manuais:** Executar testes manuais para verificar funcionalidades específicas.
- **Testes Automatizados:** Desenvolver e executar testes automatizados para aumentar a eficiência e a cobertura.
- **Testes de Regressão:** Realizar testes de regressão para garantir que novas mudanças não introduzam novos defeitos.

### Relatórios de Defeitos

Documentar e comunicar os defeitos encontrados durante os testes. As atividades incluem:

- **Documentação de Defeitos:** Registrar defeitos de maneira clara e detalhada, incluindo passos para reproduzir e evidências.
- **Prioritização:** Priorizar defeitos com base em sua severidade e impacto no usuário final.
- **Comunicação:** Comunicar defeitos encontrados para a equipe de desenvolvimento de forma eficiente.

### Análise de Métricas

Monitorar e analisar métricas de qualidade para identificar áreas de melhoria. As responsabilidades incluem:

- **Coleta de Dados:** Coletar dados sobre defeitos, cobertura de testes, tempo de resposta, entre outros.
- **Análise:** Analisar dados para identificar tendências e áreas que precisam de melhorias.
- **Relatórios:** Criar relatórios de qualidade para informar a equipe e os stakeholders sobre o estado da qualidade do software.

---
## O que o QA Não Faz

### Não Garante Perfeição

QA não pode garantir que o software estará totalmente livre de defeitos. O objetivo é minimizar riscos e garantir que o software atenda aos padrões de qualidade aceitáveis.

### Não Substitui Testes de Desenvolvedores

QA complementa, mas não substitui a responsabilidade dos desenvolvedores em testar seu próprio código. Desenvolvedores devem realizar testes unitários e garantir a qualidade antes de entregar o código para QA.

### Não Elimina a Necessidade de Feedback do Usuário

QA não substitui o feedback real dos usuários finais. Testes de QA são importantes, mas o feedback dos usuários pode identificar problemas não detectados internamente.

---
## Importância do Papel do QA

### Confiabilidade

QA assegura que o software funcione de maneira consistente e confiável, aumentando a confiança dos usuários e stakeholders.

### Satisfação do Usuário

A eliminação de bugs e melhorias na experiência do usuário aumentam a satisfação e a confiança no produto.

### Eficiência

QA ajuda a identificar e corrigir problemas nas fases iniciais do desenvolvimento, reduzindo o retrabalho e os custos associados.

### Conformidade

QA ajuda a garantir que o software esteja em conformidade com normas, regulamentações e padrões do setor, evitando problemas legais e garantindo a qualidade.

---

O papel do QA é multifacetado e envolve uma ampla gama de atividades para garantir a qualidade do software. Compreender essas responsabilidades e a importância do QA é fundamental para o sucesso de qualquer projeto de desenvolvimento de software.