Ferramentas de teste de UI, verificação um: o que acontece em um redesign

Esse é o custo recorrente de qualquer suíte de navegador, e a resposta varia enormemente. Uma ferramenta cujos passos são caminhos pelo DOM vai ficar vermelha diante de uma mudança puramente cosmética. Uma cujos passos expressam intenção, na maior parte das vezes, não vai.

Peça a qualquer fornecedor que demonstre isso especificamente, em vez de descrever.

Verificação dois: quem escreve o teste número duzentos

Os dez primeiros são escritos durante a avaliação, por alguém motivado. Seis meses depois, com quarenta telas novas e o entusiasta original já fora do projeto, a resposta honesta costuma ser ninguém. A maioria das suítes abandonadas foi abandonada aqui, e não por um motivo técnico.

Verificação três: como uma falha se parece para quem vai corrigi-la

Um screenshot e um stack trace pressupõem que um humano vai interpretá-los. Cada vez mais quem corrige é um agente de código, que não consegue. Uma falha que diz o que foi tentado, o que o aplicativo fez e onde os dois divergiram pode ser tratada diretamente por qualquer um dos dois.

Verificação quatro: uma execução que não chegou a nenhuma asserção é reportada como aprovada?

Teste isso deliberadamente durante uma avaliação, porque às vezes a resposta é sim, e isso invalida todo o resto. Uma suíte que reporta verde em execuções que estouraram o tempo antes de verificar qualquer coisa é pior do que nenhuma suíte, porque produz confiança em vez de informação.

O exercício que vale a pena fazer

Quebre algo de verdade. Um salvamento que não persiste mais, um filtro que silenciosamente retorna tudo. Depois observe cada candidata. Ela falha? A falha nomeia a divergência real? Quem for corrigir conseguiria partir daquela saída? Meio dia de trabalho, e isso diz mais do que um mês de comparações.

O que perguntar especificamente sobre falhas

Todo fornecedor vai te mostrar uma execução que passa. Os cinco minutos úteis de qualquer demonstração são os de pedir para ver uma que falha, e há três coisas para observar.

A saída diz o que era esperado, ou apenas o que aconteceu? Um relatório que mostra o screenshot de uma página quebrada sem dizer o que deveria estar ali deixa a interpretação por sua conta.

Dá para saber em que ponto do fluxo houve a falha sem assistir a um vídeo? Vídeo é um bom complemento e um péssimo recurso principal, porque vasculhar uma gravação de dois minutos atrás do momento exato é justamente o trabalho que você queria evitar.

E um agente conseguiria agir a partir dela? Cada vez mais quem corrige o bug não é uma pessoa, e isso muda o que é um bom relatório de falha mais do que qualquer outra coisa na última década.

Os custos que acompanham qualquer uma delas

Seletores

  • Um redesign que não muda nada funcional deixa a suíte vermelha.

  • É para onde vai, de fato, a maior parte do tempo de manutenção.

Esperas

  • Delays fixos são lentos e ainda assim instáveis. Esperas corretas precisam saber o que esperar.

  • A maior parte da instabilidade tem origem aqui.

Cobertura escrita à mão

  • Você cobre o que alguém escreveu, ou seja, os fluxos interessantes, e não os que quebram.

Terminal

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

A mesma configuração está disponível no dashboard da TestSprite, caso você prefira não instalar nada localmente. O restante da superfície do CLI está no repositório do 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 que a verificação fique visível no próprio repositório, um passo de GitHub Actions resolve isso.

Como a TestSprite responde às quatro verificações

Em um redesign, passos expressos como intenções sobrevivem a mudanças cosméticas, então a suíte não fica vermelha porque um botão mudou de lugar. O teste número duzentos é gerado, e não escrito à mão, a partir do seu produto, e refinado em linguagem simples. Uma falha diz o que foi tentado, o que a aplicação fez e onde os dois divergiram, o que serve tanto para um agente de código quanto para uma pessoa. E uma execução que nunca chega às suas asserções não é reportada como aprovada.

Vale a pena testar essa quarta você mesmo durante qualquer avaliação, inclusive esta. Quebre um salvamento para que ele não persista mais e confirme que a verificação fica vermelha.

O que você ganha é uma cobertura que acompanha um time que entrega mais rápido do que consegue escrever testes, e um sinal de falha que as pessoas continuam lendo porque, na maior parte das vezes, é real.

Suporte a navegadores importa?

Olhe primeiro os seus dados de analytics. Muitos times pagam por cobertura de navegadores que quase nenhum dos seus usuários tem.

Open source ou comercial?

A licença raramente é o custo. Escrever e manter os testes é, e isso é parecido nos dois casos.

Dá para migrar depois?

Parta do princípio de que os testes não serão portados. Escolha pensando em onde você espera estar daqui a um ano, em vez de planejar a troca.

Quanto tempo deve durar uma avaliação?

O suficiente para incluir um redesign ou uma regressão real. Sem um dos dois, você avaliou a demonstração.

E se precisarmos de mais de uma?

É comum e tudo bem. Um framework em código para fluxos deliberados, mais cobertura gerada para ganhar amplitude, é um arranjo normal.

A versão curta

Quatro verificações valem mais do que qualquer tabela de recursos.

Ao comparar ferramentas de teste de UI, verifique o que acontece em um redesign, quem escreve o teste número duzentos, como uma falha se parece para quem vai corrigi-la e se uma execução sem asserções é reportada como aprovada. Depois, quebre alguma coisa de propósito.