Por que padronizar templates no Jira em QA
Padronização, neste contexto, é definir modelos de preenchimento (templates) e convenções de cadastro para que histórias, casos de teste/checklists, bugs e comentários de validação tenham sempre as mesmas informações mínimas, no mesmo formato. O objetivo é reduzir ambiguidade, acelerar triagens e revisões, e permitir que filtros, métricas e relatórios funcionem com consistência.
Sem templates, dois problemas aparecem rapidamente: (1) informações críticas ficam espalhadas em texto livre (difícil de filtrar); (2) cada pessoa escreve de um jeito, o que quebra a rastreabilidade e distorce métricas (ex.: bugs sem ambiente, histórias sem critérios testáveis, testes sem pré-condições).
O que deve ser padronizado (visão prática)
- Estrutura do texto: seções fixas (ex.: Contexto, Critérios de aceite, Riscos, Ambiente).
- Campos obrigatórios: o que não pode ficar em branco (ex.: Componente, Ambiente, Severidade).
- Vocabulário controlado: labels, componentes, ambientes e formatos (ex.:
env:stgvsstaging). - Regras de qualidade: critérios mínimos para “pronto para testar”, “pronto para triagem”, “pronto para fechar”.
Templates prontos para copiar e colar
Use os exemplos abaixo como base. A recomendação é colocá-los em um local padrão do time (ex.: descrição padrão do tipo de issue, página de referência interna, ou snippet fixo para copiar/colar).
1) Template de História (Story) com critérios de aceite testáveis
Objetivo: garantir que a história tenha critérios verificáveis e não apenas “frases genéricas”.
## Contexto / Objetivo do usuário (1–2 frases)## Escopo (o que está dentro)- ## Fora de escopo (o que NÃO será feito)- ## Regras de negócio- ## Critérios de aceite (testáveis)AC01 — DADO que [pré-condição], QUANDO [ação], ENTÃO [resultado observável].AC02 — DADO que ..., QUANDO ..., ENTÃO ...AC03 — Validações / mensagens esperadas:- Campo X: [regra] → mensagem: “...”- Campo Y: [regra] → mensagem: “...”## Observabilidade / Evidências esperadas- Log/Evento: [nome do evento] deve ser gerado quando ...- Tela/Endpoint: [qual] deve retornar ...## Dependências- ## Riscos e pontos de atenção para testes- Exemplo de critérios de aceite bem escritos (copiar e adaptar):
- Ouça o áudio com a tela desligada
- Ganhe Certificado após a conclusão
- + de 5000 cursos para você explorar!
Baixar o aplicativo
AC01 — DADO que o usuário está autenticado e possui perfil “Admin” QUANDO acessar Configurações > Usuários ENTÃO deve visualizar a lista paginada com 20 itens por página.AC02 — DADO que o usuário preenche “E-mail” com valor inválido QUANDO clicar em “Salvar” ENTÃO o sistema deve impedir o envio e exibir a mensagem “Informe um e-mail válido”.AC03 — DADO que o usuário salva um novo usuário com sucesso QUANDO a operação finalizar ENTÃO deve ser registrado o evento “user_created” com os campos: id, created_by, timestamp.2) Template de Caso de Teste / Checklist
Objetivo: padronizar pré-condições, dados, passos e resultado esperado, facilitando execução e auditoria.
## Identificador do teste- CT-ID: [ex.: CT-LOGIN-001]## Objetivo- Validar que ...## Referências- História/AC: [link ou chave] (AC01, AC02...)## Ambiente- env: [dev|stg|prod-like]## Pré-condições- Usuário: [tipo/perfil]- Feature flag: [on/off]- Dados existentes: [o que precisa existir]## Dados de teste- email: - senha: - payload/arquivo: ## Passos1) 2) 3) ## Resultado esperado- ## Evidência mínima- Print/Anexo: [tela X] OU Log: [trecho] OU Resposta: [status/body]## Pós-condições (se aplicável)- Limpar dados: Checklist rápido (quando não vale um caso detalhado):
## Checklist de validação- [ ] Fluxo principal OK- [ ] Validações de campos (obrigatórios/formatos)- [ ] Permissões/perfis- [ ] Mensagens de erro- [ ] Logs/eventos (se aplicável)- [ ] Regressão em telas/rotas relacionadas3) Template de Bug (registro completo e triável)
Objetivo: reduzir retrabalho de perguntas (“qual ambiente?”, “qual usuário?”, “como reproduz?”) e acelerar correção.
## Resumo (padrão)[Componente] — [Comportamento incorreto] ao [ação] em [condição]Ex.: [Checkout] — Erro 500 ao finalizar compra com cupom expirado## Ambiente- env: [dev|stg|prod-like]- build/versão: - navegador/app: - dispositivo/SO: ## Severidade e impacto- severidade: [Blocker|Critical|Major|Minor|Trivial]- impacto: [quantos usuários/fluxos afeta]## Pré-condições- Usuário/perfil: - Dados necessários: - Feature flag/config: ## Passos para reproduzir1) 2) 3) ## Resultado atual- ## Resultado esperado- ## Evidências- Anexos: prints/vídeo- Logs: [trecho + timestamp/correlation-id]- Request/Response: [status, body, headers relevantes]## Frequência- [ ] 100% (sempre)- [ ] Intermitente## Workaround (se existir)- ## Notas de análise (opcional)- Suspeita: Exemplo de resumo padronizado:
[Autenticação] — Login falha com “Credenciais inválidas” ao usar e-mail com letras maiúsculas4) Template de Comentário de Validação (QA)
Objetivo: tornar o comentário de validação “auditável” e fácil de filtrar (ex.: aprovações, reprovações, pendências).
✅ Validação QA — [APROVADO|REPROVADO|APROVADO COM RESSALVAS]Ambiente: env:[...] | build:[...]Escopo validado:- AC01: [OK|NOK] — evidência: [anexo/link]- AC02: [OK|NOK] — evidência: [anexo/link]- Regressão: [OK|NOK] — áreas: [...]Observações:- Pendências / Próximos passos:- Exemplo (reprovado):
✅ Validação QA — REPROVADOAmbiente: env:stg | build:1.8.3Escopo validado:- AC01: OK — evidência: anexo “ac01_lista.png”- AC02: NOK — evidência: anexo “ac02_erro500.mp4”Observações:- Ao salvar com e-mail inválido, retorna 500 em vez de mensagem de validação.Pendências / Próximos passos:- Corrigir validação e retestar AC02.Como definir campos obrigatórios e convenções (labels, componentes, ambiente)
Campos obrigatórios: o que vale a pena exigir
Campos obrigatórios devem existir para evitar “issue incompleta”, mas sem criar burocracia. Uma regra prática: tornar obrigatório apenas o que é essencial para triagem, execução ou relatório.
| Tipo de issue | Campos recomendados como obrigatórios | Por quê |
|---|---|---|
| História | Componente, Critérios de aceite (na descrição), Prioridade (ou equivalente), Responsável/Time | Garante escopo testável e segmentação por área |
| Caso de teste/Checklist | Ambiente alvo, Referência (história/AC), Evidência mínima (seção) | Evita execução “no vazio” e facilita auditoria |
| Bug | Ambiente, Componente, Severidade, Passos, Resultado atual/esperado | Permite triagem rápida e métricas confiáveis |
| Validação | Ambiente, Status de validação (aprovado/reprovado), Evidência | Rastreia qualidade e reduz retrabalho |
Passo a passo: implementando obrigatoriedade no Jira (visão de administração)
Os nomes exatos podem variar conforme o Jira (Cloud/Server/Data Center) e apps instalados, mas o fluxo geral é este:
Mapeie os campos por tipo de issue: liste quais campos e seções do template são obrigatórios para História, Bug, etc.
Crie/ajuste campos customizados quando necessário (ex.: “Ambiente”, “Build”, “Severidade QA”). Prefira campos do tipo lista/seleção para padronizar valores.
Associe campos às telas (Screens) corretas: criação, edição e transições. Se um campo é obrigatório na criação, ele precisa estar na tela de criação.
Defina obrigatoriedade via configuração: marque o campo como obrigatório no contexto apropriado (ou use validações no workflow para exigir o preenchimento em transições específicas, como “Enviar para Triagem” ou “Pronto para Teste”).
Teste com casos reais: crie issues “de mentira” e valide se o fluxo não fica travado por exigências excessivas.
Documente a regra: em uma página curta do time, descreva “o mínimo aceitável” por tipo de issue e exemplos.
Convenções de labels: padrão simples e filtrável
Labels são úteis quando representam tags transversais. Para evitar caos, defina um padrão com prefixos.
- Ambiente:
env:dev,env:stg,env:prodlike - Tipo de teste:
test:smoke,test:regression,test:e2e - Origem:
origin:customer,origin:monitoring,origin:qa - Área técnica:
layer:frontend,layer:backend,layer:api
Regras para labels:
- Use prefixos fixos e valores curtos.
- Evite sinônimos (ex.: escolher apenas
stgou apenasstaging). - Não use label para o que já existe como campo estruturado (ex.: “Severidade”).
Componentes: segmentação por produto/serviço
Componentes funcionam bem para separar ownership e relatórios por área. Defina uma lista curta e estável (ex.: Checkout, Catálogo, Autenticação, Relatórios). Se o time usa microserviços, considere alinhar componentes aos serviços, mas evite granularidade excessiva.
Boa prática: cada componente com um responsável (ou time) para facilitar roteamento e triagem.
Ambiente: campo estruturado + convenção de valores
Ambiente é uma das informações mais importantes para QA e deve ser campo estruturado (lista) sempre que possível. Sugestão de valores:
dev(ambiente de desenvolvimento)stg(homologação/staging)prod-like(pré-produção semelhante à produção)prod(produção, quando aplicável)
Quando o bug depende de variações (ex.: navegador), mantenha “Ambiente” como campo e registre o restante no template do bug (navegador, dispositivo, build).
Como a padronização melhora filtros, métricas e relatórios
Filtros mais confiáveis (menos “texto livre”)
Quando ambiente, componente e severidade são campos/valores padronizados, seus filtros ficam simples e consistentes. Exemplos de consultas (JQL) que se tornam viáveis:
project = ABC AND issuetype = Bug AND component = Checkout AND Environment = stg AND severity in (Critical, Major)project = ABC AND labels in (test:regression) AND Environment = prod-likeproject = ABC AND issuetype = Story AND component = Autenticação AND labels = env:stgSem padronização, você acaba dependendo de buscas por texto (ex.: descrição contém “staging”), que são frágeis e incompletas.
Métricas que não distorcem
Padronização reduz “buracos” de dados. Exemplos de métricas que melhoram:
- Distribuição de bugs por componente: só funciona se componente estiver preenchido de forma consistente.
- Bugs por ambiente: exige ambiente estruturado e valores controlados.
- Severidade vs tempo de resolução: depende de severidade padronizada (sem “Alta”, “alta”, “HIGH”).
- Taxa de aprovação em validações: melhora quando comentários seguem padrão (aprovado/reprovado) e/ou quando há um campo de status de validação.
Relatórios operacionais mais rápidos
Com templates e campos obrigatórios, relatórios deixam de ser “coleta manual” e viram “consulta”. Exemplos práticos do que fica mais fácil:
- Lista de bugs críticos em
stgpor componente para reunião de priorização. - Histórias “prontas para testar” que ainda não têm critérios de aceite completos (quando você valida isso na transição).
- Mapa de regressão: issues com
test:regressione evidências anexadas.
Passo a passo para conduzir um acordo de time (adoção e manutenção)
1) Defina o “mínimo aceitável” por tipo de issue
Em 30–45 minutos, com QA + Dev + PO/PM, responda:
- O que uma história precisa ter para ser testável?
- O que um bug precisa ter para ser triável?
- O que um teste precisa ter para ser executável e auditável?
- O que um comentário de validação precisa registrar?
Transforme as respostas em uma lista objetiva (5–8 itens por tipo de issue).
2) Escolha padrões simples (e publique)
Defina e publique:
- Lista oficial de componentes.
- Valores oficiais de ambiente.
- Prefixos e valores recomendados de labels.
- Modelo de severidade (se aplicável) e quando usar cada nível.
3) Implemente “guard rails” no Jira
Em vez de depender apenas de disciplina, use mecanismos do Jira para reforçar:
- Campos obrigatórios na criação (para dados básicos).
- Validações em transições (para garantir qualidade antes de avançar o status). Ex.: só permitir mover para “Pronto para Teste” se a descrição contém a seção “Critérios de aceite” preenchida e se “Componente” está definido.
- Valores controlados (listas) para ambiente e severidade.
4) Faça uma rodada de calibração com exemplos reais
Selecione 1 história, 1 bug e 1 teste recentes e reescreva usando os templates. Perguntas para calibrar:
- O template está pedindo informação demais?
- Faltou algum campo que sempre perguntam depois?
- Os critérios de aceite estão realmente testáveis?
5) Defina donos e rotina de manutenção
Padronização degrada com o tempo se ninguém cuidar. Combine:
- Dono do padrão: normalmente QA Lead/Chapter de QA (ou alguém do time) para manter templates e convenções.
- Ritmo de revisão: mensal ou a cada release para ajustar componentes, labels e campos.
- Política de exceção: quando pode fugir do template (e como registrar a justificativa).
6) Crie um checklist de conformidade para revisão rápida
Use este checklist em refinamentos, triagens e hand-offs:
- História tem critérios de aceite no formato DADO/QUANDO/ENTÃO?
- Componente e ambiente estão preenchidos conforme padrão?
- Bug tem passos reproduzíveis e resultado esperado explícito?
- Teste referencia ACs e define evidência mínima?
- Labels seguem prefixos oficiais (sem variações)?