Os quatro níveis do teste de software autônomo

  • 1. Escrita assistida. Você diz o que testar e a ferramenta escreve o código. Economiza tempo de verdade. Todas as decisões continuam sendo suas.

  • 2. Cobertura gerada. A ferramenta propõe o que testar a partir de uma especificação ou do aplicativo em execução. Você revisa o plano. É onde a maioria dos produtos realmente está.

  • 3. Automanutenção. A cobertura se adapta conforme o produto muda, sem que alguém precise consertá-la. Exige distinguir mudança intencional de regressão.

O quarto é o ciclo fechado: ele detecta uma falha, entrega as evidências a um agente de código e verifica a correção. Isso existe hoje em uma forma restrita, para defeitos de comportamento com reprodução clara, e não se estende a nada que exija uma decisão de produto.

O que cada nível exige de você

  • Nível um: saber o que testar. Todo o julgamento continua com você.

  • Nível dois: revisar um plano. É mais rápido do que escrever, mas não custa zero, e pular essa etapa é o caminho para uma cobertura que ninguém entende.

  • Nível três: decidir o que conta como mudança intencional. A ferramenta não tem como saber que um fluxo foi redesenhado de propósito.

  • Nível quatro: definir o que é correto com precisão suficiente para que uma correção possa ser verificada sem você.

Repare que o trabalho humano não desaparece à medida que você sobe. Ele muda de nível, sai da digitação e vai em direção à decisão, que é ao mesmo tempo mais valiosa e mais difícil de delegar.

O teto que nenhum marketing menciona

Nenhum nível elimina a necessidade de decidir o que significa correto. Uma ferramenta consegue deduzir que um endpoint existe e que um campo é uma string. Ela não consegue deduzir que dois descontos não devem ser acumulados, porque isso é uma regra de negócio que vive em uma decisão que alguém tomou.

Qualquer produto que sugira o contrário está descrevendo o nível dois e chamando de nível quatro.

Perguntas que posicionam um produto na escada

Os fornecedores se descrevem no degrau mais alto que conseguem defender, então vale ter perguntas que os localizem com precisão.

Quem decide o que é testado. Se a resposta for que é você, é nível um, não importa como o teste é escrito.

O que acontece quando a interface muda, mas o comportamento não. Se uma pessoa conserta o teste, é nível dois. Se ele sobrevive, é três. Se ele sobrevive e ainda assim falha quando o comportamento realmente mudou, é o nível três bem feito, o que é mais raro.

E o que acontece depois de uma falha. Se o resultado vai para um painel para alguém olhar, é aí que a coisa para. Nível quatro significa que o resultado pode ser consumido por aquilo que corrige o problema, e a correção é verificada sem que ninguém precise repassar nada. Fazer essas três perguntas nessa ordem leva cinco minutos e produz um posicionamento muito mais honesto do que qualquer lista de recursos.

Como começar

Terminal

npm install -g @testsprite/testsprite-cli
testsprite setup

Se você preferir não instalar nada, o painel faz a mesma coisa. Tudo o mais que a linha de comando permite está no repositório da CLI.

Se o pipeline pertence a outro time, o GitHub App é o caminho de menor resistência: é um webhook, não muda nada no seu repositório e dispara quando o seu build informa que a nova versão está no ar. Se você prefere a verificação visível dentro do repositório, um passo de GitHub Actions faz isso.

Onde o TestSprite fica na escada

Nível dois em toda a linha, nível três para mudança de comportamento e nível quatro na forma restrita: uma falha volta como algo sobre o qual um agente de código pode agir, e a correção é verificada pela mesma checagem, e não pelo raciocínio que a produziu.

Na prática, a cobertura é gerada a partir do seu produto e refinada em linguagem simples, os passos são intenções, de modo que mudanças cosméticas não os quebram, e a habilidade de verificação se instala no agente de código que você já usa, para que o ciclo aconteça onde o trabalho acontece.

O que fica com você é o teto descrito acima: decidir o que significa correto para uma regra ambígua. Tudo abaixo dele se move, e o ganho é que a cobertura deixa de ser limitada por quanto alguém consegue escrever.

Que nível é realista hoje?

Dois, com três para mudanças de comportamento e quatro em uma forma restrita para defeitos com reprodução clara.

Autonomia significa menos gente?

Significa um trabalho diferente. A metade mecânica encolhe e a metade de julgamento passa a ser o trabalho.

Como saber que isso não está apenas gerando ruído?

Leia o plano, corte o que não importa e meça os defeitos que escaparam, não a quantidade de testes.

O que quebra no nível três?

As mudanças intencionais. Um fluxo redesenhado parece idêntico a uma regressão, a menos que alguém diga o contrário.

Um ciclo fechado é seguro?

Para defeitos de comportamento com reprodução clara e uma checagem que você confirmou ser capaz de falhar, sim. Além disso, é otimismo.

A versão curta

Uma escada, não um interruptor.

O teste de software autônomo vai da escrita assistida até o ciclo fechado, e a maioria dos produtos está na cobertura gerada. O trabalho humano sobe a escada em vez de desaparecer, e nenhum nível elimina a necessidade de decidir o que significa correto.