> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tela.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Comparando versões

> Rode os mesmos Casos de Teste em várias versões de um Canvas, leia a diferença, pegue regressões e decida o que publicar

Um Caso de Teste só é útil na segunda vez que você o executa. A primeira execução diz o que o Canvas faz; a segunda, em um prompt alterado ou um modelo novo, diz se a mudança ajudou, atrapalhou ou quebrou algo que funcionava. O Tela guarda uma execução por Caso de Teste por versão, e os seus exemplos e regras acompanham o Caso de Teste, então comparar duas versões é rodar a suíte nas duas e ler as mesmas métricas duas vezes.

O cenário desta página: a versão 4 do Canvas de notas fiscais está em Production. Você reescreveu o prompt para lidar com notas escaneadas, o que criou a versão 5. Antes de publicar, quer saber se a versão 5 lê o scan e continua acertando a nota limpa e a de duas moedas.

## Uma execução por versão

Toda execução fica vinculada à versão que a produziu. A experiência **Testar** mostra as execuções, os status e as métricas da versão que você está vendo, e nada mais:

* Abra o Canvas e você está vendo a versão que está editando, marcada como **Atual** no **Histórico de Versões**. Depois de uma edição, essa é a versão nova, e todo Caso de Teste volta a mostrar **Execução Pendente**.
* Abra o **Histórico de Versões** pelo botão de versão ao lado de **Publicar** e clique em **Visualizar** em uma versão mais antiga para ver as execuções e a **Pontuação de Precisão** dela. A coluna **Versão** da tabela diz em qual versão um Caso de Teste foi executado pela primeira vez.
* Clique em **Visualizar** na versão **Atual**, ou **Restaurar** uma mais antiga, para voltar.

Revisões, Respostas Esperadas, Respostas Erradas e regras são propriedades do Caso de Teste, não de uma versão. O que você ensinou à suíte na versão 4 é aplicado às execuções da versão 5 automaticamente.

![Histórico de Versões do Canvas de notas fiscais com a ver-4 em production e a ver-5 como Atual](https://mintcdn.com/meistrari/M2w7BduKZAFA1Sbx/images/pt/test-cases/version-history.png?fit=max\&auto=format\&n=M2w7BduKZAFA1Sbx\&q=85\&s=13bfa559302822441399ea877c56d6a6)

## Executando a suíte em uma nova versão

**1. Termine de revisar a versão antiga primeiro**

Antes de mudar o prompt, garanta que a suíte está **Concluído** na versão 4 e que a **Pontuação de Precisão** mostra o que você espera. Essa é a sua linha de base. Atributos não revisados na versão antiga não podem ser comparados com nada.

**2. Mude o prompt no Craft**

Reescreva as instruções para documentos escaneados. O Tela cria a versão 5 como a versão que você está editando.

**3. Executar Todos em Testar**

De volta em **Testar**, todo Caso de Teste está em **Execução Pendente** na versão 5. Clique em **Executar Todos**. Atributos que coincidem com os seus exemplos ou passam nas suas regras voltam **AUTO-REVISADO**; os outros esperam por você.

**4. Revise o que sobrou**

Filtre por **Revisão Pendente**, abra cada Caso de Teste e dê um veredito aos atributos que mudaram. Em geral são exatamente os atributos que o novo prompt afetou.

**5. Leia as duas versões lado a lado**

Anote a **Pontuação de Precisão**, **Revisados** e **Atributos** da versão 5, depois clique em **Visualizar** na versão 4 no **Histórico de Versões** e compare. Faça o mesmo por Caso de Teste: a coluna **Pontuação** e as células vermelhas da linha mostram onde cada versão errou.

Pela API, o mesmo ciclo é [`POST /test-case/run-all`](https://docs.tela.com/api-reference/test-case/post-test-case-run-all) com o `promptVersionId` de cada versão, depois [`GET /test-case`](https://docs.tela.com/api-reference/test-case/get) com `promptVersionIds` para ler as execuções. Os IDs das versões vêm do [histórico de versões do Canvas](https://docs.tela.com/api-reference/prompt-version/get-prompt-version-history.md).

```sh cURL theme={null}
# Rodar a suíte inteira na versão 5
curl -X POST https://api.tela.com/test-case/run-all \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $TELA_API_KEY" \
    -d '{ "promptVersionId": "VERSION_5_ID" }'

# Ler as execuções da versão 5 de todos os Casos de Teste do Canvas (repita com VERSION_4_ID para a linha de base)
curl "https://api.tela.com/test-case?promptId=CANVAS_ID&promptVersionIds=VERSION_5_ID&includeGenerations=true" \
    -H "Authorization: Bearer $TELA_API_KEY"
```

## Lendo a diferença

Três desfechos importam, e a tabela mostra cada um de um jeito:

| O que você vê na versão 5 | Significado | O que fazer |
| - | - | - |
| A nota escaneada passa de um `total_amount` vermelho para **AUTO-REVISADO** Bom | A mudança fez o que devia | Nada |
| A nota com duas moedas, verde na versão 4, agora mostra `total_amount` em vermelho (*Não corresponde às respostas esperadas*) | Uma regressão: o novo prompt quebrou um caso que funcionava | Corrija o prompt, execute de novo na próxima versão |
| Um Caso de Teste que estava **Concluído** na versão 4 está em **Revisão Pendente** na versão 5 com um valor que você nunca viu | Um comportamento novo, que ainda não se sabe se é bom ou ruim | Revise; o seu veredito vira exemplo para a próxima versão |

Vereditos automáticos são o que torna regressões visíveis sem reler todos os documentos. Um Caso de Teste com Respostas Esperadas nos quatro atributos não precisa de revisão humana em uma versão nova a menos que um valor mude, e um valor alterado que não coincide com nenhuma Resposta Esperada é marcado como **Ruim** na hora. Quanto mais você revisa em uma versão, menos precisa revisar na seguinte.

> [!WARNING]
>
> Trocar de modelo é uma mudança como qualquer outra. Um modelo mais rápido ou mais barato pode pontuar igual na nota limpa e perder a escaneada. Rode a suíte completa, não só o caso que você estava olhando, antes de publicar uma troca de modelo.

## Decidindo o que publicar

Publique a versão 5 quando:

* a **Pontuação de Precisão** dela for pelo menos a da versão 4, com cobertura de **Atributos** igual ou melhor;
* nenhum Caso de Teste tiver passado de verde para vermelho, ou cada um que passou tiver sido revisado e o valor novo aceito de propósito;
* os Casos de Teste com a categoria do comportamento que você mudou (por exemplo `scanned`) estiverem verdes.

Depois clique em **Publicar**, escolha o **Target de publicação** e confirme. Apps e chamadas de API naquele ambiente passam a usar a versão 5 imediatamente. Se quiser uma última verificação com tráfego real antes, publique em um ambiente `staging` e chame-o com `environment_name`, como descrito em [Versões e ambientes](https://docs.tela.com/pt/completion-api/versions-and-environments.md).

Se a versão 5 for pior, você tem duas opções: continuar editando (cada edição é uma versão nova, rode a suíte de novo) ou abrir o **Histórico de Versões** e **Restaurar** a versão 4 como a versão que você edita. Veja [Voltando para uma versão anterior](https://docs.tela.com/pt/craft/publishing.md#voltando-para-uma-versao-anterior).

> [!TIP]
>
> Dê categoria aos Casos de Teste que cobrem um comportamento que você vai mudar (`scanned`, `multi-currency`) antes de mudá-lo. **Rodar Filtrados** nessa categoria dá uma resposta rápida enquanto você itera; **Executar Todos** antes de publicar dá a resposta completa.

## Mantendo a suíte viva

Uma suíte que para de crescer para de pegar regressões. Dois hábitos a mantêm útil:

* Toda vez que o seu time corrige uma tarefa na Workstation, transforme-a em Caso de Teste. Cada um chega já revisado, com a correção como Resposta Esperada e o erro como Resposta Errada, então não custa nada revisar e registra um erro que o Canvas de fato cometeu.
* Quando um Caso de Teste reprova em uma versão nova por um bom motivo (o documento mudou, a saída esperada estava errada), corrija o Caso de Teste em vez de ignorar o vermelho: atualize a Resposta Esperada na aba **Exemplos**, ou use **Editar Entradas**.

### Em Workflows

Versões de Workflow funcionam do mesmo jeito: uma execução por Caso de Teste por versão, métricas por versão, **Histórico de Versões** para trocar. Como uma execução de Workflow roda todas as etapas, compare a etapa cuja saída mudou, não só o resultado final. Veja [Executando, testando e publicando](https://docs.tela.com/pt/workflow/running-testing-and-publishing.md#casos-de-teste).

### Em Agentes

Agentes também guardam uma execução por caso de teste por versão, e cada caso de teste tem um **Histórico de execuções** que lista as execuções entre versões com os atributos que mudaram desde a última. Abrir um caso de teste enquanto visualiza uma versão antiga mostra **Sem execução para esta versão**. Veja [Rodando todos](https://docs.tela.com/pt/agent/testing.md#rodando-todos).

> [!NOTE]
>
> Não existe uma tela de comparação lado a lado. A comparação descrita nesta página é feita trocando de versão no **Histórico de Versões** e lendo as métricas de cada uma.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.