Um resumo prático de qualidade no desenvolvimento de software: entregar o que foi pedido, no prazo, nos requisitos e no custo combinados.
Para um sistema em produção, qualidade é estar disponível e entregar o esperado sempre que alguém o usa.
Qualidade também inclui documentação suficiente e um sistema fácil de manter. A documentação cobre a demanda, a alteração e a forma de validar e publicar.
Qualidade toma mais tempo?
É a dúvida mais comum. À primeira vista, cada etapa de qualidade parece aumentar o prazo.
Sem essas etapas, porém, ninguém tem certeza de que a entrega está sólida. A entrega frágil volta como defeito, ajuste de escopo e interrupção.
A entrega sólida evita essas interrupções. Por isso, investir em qualidade tende a aumentar a produtividade do time.
Qualidade nasce com a demanda
A preocupação com qualidade começa antes do código. O primeiro passo é conferir se a demanda cabe no que o produto ou o serviço consegue entregar.
Depois, a demanda evolui junto com os critérios de aceite e os roteiros de teste. Quem pede, quem desenvolve e quem testa contribuem com essas definições.
Sete pontos para o líder observar
1. Requisitos funcionais e não funcionais
Os requisitos funcionais descrevem o que a demanda pede. Os não funcionais descrevem as condições além da função, como desempenho e segurança. Os dois tipos precisam aparecer no roteiro de teste.
2. Ambiente de teste
Teste confiável pede um ambiente com configuração e dados preparados. Algumas empresas mantêm três ambientes antes da produção: desenvolvimento, teste, usado pela equipe de qualidade, e homologação, onde o cliente valida.
3. Definição de pronto
A definição de pronto lista o que uma tarefa precisa ter para ser considerada concluída: documentação, testes e evidências, por exemplo. Sem ela, cada pessoa decide sozinha quando terminou.
4. Teste unitário
O teste unitário é um código que verifica partes do código-fonte. Ele é responsabilidade de quem desenvolve e costuma ser o teste mais rápido de escrever e de rodar.
Ele roda antes da alteração, para conferir o ponto de partida, e depois dela, para verificar se o que funcionava continua funcionando. Ele pode rodar de forma automática a cada publicação.
5. Roteiro de teste
O roteiro descreve o que testar, com quais valores, em qual ambiente e qual resultado esperar. Organize os roteiros por assunto ou por módulo: uma alteração pode exigir vários roteiros.
Indique a complexidade e o tempo de execução de cada roteiro. Revise o roteiro periodicamente e sempre que um defeito aparecer.
Inclua a experiência do usuário no roteiro. O visual e o comportamento da aplicação precisam ser consistentes, e essa consistência também facilita documentar, validar e treinar quem usa.
Um bom roteiro permite que qualquer pessoa com conhecimento mínimo do produto execute o teste e confirme o resultado.
6. Roteiro automatizado
O teste unitário também roda sozinho, mas verifica só partes do código. O roteiro automatizado executa o roteiro inteiro, como uma pessoa usaria o sistema, sem ninguém operando. Ele pode rodar fora do horário comercial e a cada alteração.
Preparar esse tipo de teste costuma custar mais que as outras opções. Um assistente de IA pode reduzir o custo de escrever o código do teste. O resultado esperado continua vindo do roteiro, escrito por quem conhece o negócio.
7. Revisão de código
A revisão de código confere o padrão do código-fonte e as boas práticas. Ela também é o momento de conferir se os testes necessários existem, se falta documentação e se a entrega atende a todos os requisitos.
Com a IA gerando parte do código, a revisão tende a ganhar peso, porque mais código pode chegar para revisar em menos tempo.
Por onde começar
Não adote os sete pontos de uma vez. Comece pelo que mais prejudica o time hoje e aumente a exigência aos poucos.
Uma pergunta ajuda a escolher: de onde veio o último defeito que chegou ao cliente?
Para ver como a CTGF conduz esse tipo de projeto, veja a página Consultoria.