Encontro por aprendizagem em equipe e aplicação · 18/09/2026
Defender um trecho de código pelos testes que saem do caminho feliz. A aula parte de cinco decisões de arquitetura sobre segurança no PIX executado por comando em linguagem natural, uma por categoria de exceção, e chega à lista que se torna especificação executável.
Ritual do projeto
Cada grupo informa o avanço dos artefatos, a atividade prevista para o encontro e os impedimentos que exigem decisão.
Cinco decisões de arquitetura sobre o mesmo caso, uma por categoria de exceção, a sistematização do que elas revelam e a conversão das exceções em requisito verificável.
Um trecho de código é defendido pelos testes que saem do caminho feliz. A execução correta da entrada prevista informa pouco sobre o comportamento do sistema em operação.
O usuário fornece o dado esperado, o serviço externo responde dentro do prazo e a regra de negócio encontra todos os parâmetros que exige. Esse percurso é escrito primeiro e reprova raramente.
Parâmetro ausente, serviço indisponível, resposta ambígua, ordem legítima emitida sob coação, registro insuficiente para sustentar contestação e usuário que confirma sem conferir.
Enumerar as exceções por categoria antecede a implementação e determina o que o código precisa tratar. A lista é especificação, e cada item vira caso de teste.
O canal opera há sete trimestres em duas superfícies, o assistente do aplicativo e um canal de mensagens de terceiro. A adoção superou a projeção do plano de negócio e as contestações acompanharam o crescimento.
31% do volume iniciado entre 20h e 6h.
1.870 ocorrências, após 410 e 1.130 nos dois trimestres anteriores.
Em dois trimestres, sem queda na conversão do canal.
Sete pessoas na equipe da plataforma, sem contratação prevista.
O mesmo caso é percorrido por cinco decisões de arquitetura. Cada questão trata de uma classe de exceção que sai do caminho feliz, com quatro táticas de ganho e custo declarados.
| Categoria | A exceção em exame | O que a decisão precisa equilibrar | |
|---|---|---|---|
| 1 | Regra de negócio incompleta | Ordem de R$ 900 às 21h40 para chave cadastrada há 8 minutos: nenhuma condição isolada excede o limite e a combinação não foi prevista. | Recusar o não previsto, pontuar o risco, encaminhar à análise ou tornar a regra inspecionável por tabela de decisão. |
| 2 | Infraestrutura | Ordem liquidada cuja resposta não chega ao aplicativo; o titular reenvia e 312 ordens saem em duplicidade no trimestre. | Idempotência, confirmação em duas fases, fila durável com deduplicação ou detecção por semelhança. |
| 3 | Segurança: fraude e imprecisão | A resposta primária à perda de R$ 3,1 milhões no canal. Um dado novo é apresentado na discussão. | Verificar antes de executar, limitar a exposição, duplicar o reconhecimento ou reverter com rastro oponível. |
| 4 | Segurança: não repúdio | Contestação judicial de ordem de R$ 12.400, com registros sem assinatura e sem encadeamento. | Trilha assinada, retenção do áudio, custódia por terceiro ou assinatura pelo dispositivo do titular. |
| 5 | Usabilidade | Leitura de volta confirmada em 96% das ocorrências de engano, por habituação à confirmação repetida. | Fricção seletiva, intervalo de reflexão, confirmação ativa ou interrupção por indício de coação. |
Cinquenta minutos. A sala está publicada no acervo, acompanha o relógio do servidor e conduz as cinco questões em sequência.
Leitura da questão, escolha de uma tática e justificativa escrita. A distribuição da turma permanece oculta.
As justificativas são exibidas sem identificação, junto da distribuição. A plenária examina os argumentos.
A escolha pode ser mantida ou alterada, com nova justificativa. O formulário recomeça em branco.
As duas distribuições e o deslocamento entre elas são projetados antes de a questão seguinte abrir.
Abra a sala em pages/module-8-eng-software/tbl/lesson-1-tbl.html e identifique-se com o primeiro nome.
Três minutos por questão, com a distribuição da turma oculta, para que a escolha decorra do argumento e não da adesão à maioria.
As justificativas da turma são projetadas sem identificação. A plenária examina os critérios que sustentam cada escolha.
Identificar, para cada justificativa lida, qual condição fora do caminho feliz ela intercepta e qual permanece sem tratamento.
Toda escolha supõe algo sobre a origem da falha ou sobre o comportamento do usuário. Explicitar a suposição de cada argumento.
Declarar qual dado, se apresentado, tornaria a escolha insustentável. Na terceira questão, esse dado é efetivamente apresentado.
Na terceira questão, a discussão abre com a classificação individual das 1.870 ocorrências. As alternativas permanecem as mesmas e o critério de decisão se desloca.
Participante que manteve a tática nas duas decisões. Verificar se a justificativa se alterou, o que indica argumento novo para a mesma conclusão.
Deslocamento ocorrido quando apenas as justificativas da turma circularam, sem dado novo.
Deslocamento ocorrido na terceira questão, quando a reclassificação das ocorrências mudou a origem atribuída à perda.
O caso mostra um sistema cujo percurso principal funciona conforme especificado enquanto a perda se concentra fora dele.
A enumeração por categoria evita que a lista dependa da imaginação de quem a escreve. Cada categoria interroga o código por um ângulo distinto.
Condição que a regra não previu: parâmetro ausente, valor fora da faixa, estado em que a operação não deveria ser admitida, conflito entre duas regras válidas.
Conexão indisponível, tempo limite excedido, resposta parcial, execução duplicada por reenvio e perda de integridade entre sistemas que deveriam concordar.
Ação deliberada de terceiro contra o sistema ou contra o usuário, e ação legítima executada sobre informação imprecisa, ambígua ou obtida por engano.
Impossibilidade de reconstituir autor, enunciado, parâmetros e instante de uma ação contestada, por ausência de registro, de assinatura, de encadeamento ou de prazo de retenção.
Comportamento correto que o usuário não compreende, não percebe ou executa por hábito, como a confirmação repetida que deixa de ser lida.
A interação em linguagem natural é uma cadeia de etapas, cada uma com entrada, saída e critério de correção próprios. A enumeração percorre a cadeia etapa por etapa.
| Etapa | Exceção característica | Categoria predominante |
|---|---|---|
| Captura | Corte da primeira palavra do enunciado, que altera a intenção reconhecida. | Infraestrutura e regra de negócio incompleta. |
| Transcrição | Termo substituído por palavra foneticamente próxima, com alteração do valor ou do destinatário. | Segurança por imprecisão. |
| Interpretação | Parâmetro ausente substituído por valor padrão, e intenção de baixa confiança executada sem confirmação. | Regra de negócio incompleta. |
| Ação | Ordem legítima emitida sob engano do titular, e execução duplicada por reenvio sem identificador de operação. | Segurança por fraude e infraestrutura. |
| Resposta | Confirmação apresentada e confirmada sem leitura, e registro insuficiente para sustentar contestação posterior. | Usabilidade e não repúdio. |
Entende-se por não repúdio a propriedade que impede o autor de uma ação de negar validamente tê-la praticado, por existir evidência verificável por terceiro.
Estabelece a identidade no momento do acesso. Isoladamente, não sustenta prova posterior sobre uma ordem específica.
Garante que o registro permanece como foi gravado. Sem vínculo com o autor, não atribui a ação a ninguém.
Vincula autor, ação, parâmetros e instante em registro íntegro, verificável por quem não participou da operação.
A exceção enumerada se converte em requisito quando recebe métrica, limiar, nível de teste e critério de correção declarados.
| Exceção enunciada | Requisito verificável correspondente | Oráculo e nível de teste |
|---|---|---|
| O beneficiário é recém-cadastrado. | Ordem para chave cadastrada há menos de 30 minutos exige segundo fator, independentemente do valor. | Propriedade invariante asserida em cada execução; nível de componente. |
| O titular confirma sem conferir. | Taxa de abandono na leitura de volta inferior a 2%, medida sobre ordens de beneficiário novo. | Instrumentação em operação com limiar de alarme; nível de sistema. |
| O serviço de reconhecimento não responde. | Ordem não liquidada quando a transcrição excede 3 segundos; o canal degrada para confirmação por senha. | Injeção de atraso no duplo do serviço; nível de integração. |
| A ordem é contestada. | Reconstituição de autor, enunciado, parâmetros e instante em 100% das ordens de efeito irreversível. | Ensaio pericial sobre a trilha assinada; nível de aceitação. |
A norma organiza os requisitos não funcionais em características. A lista de exceções do projeto é distribuída entre elas, o que revela as categorias ainda não examinadas.
A função cobre as condições previstas e responde corretamente fora do percurso principal.
Latência, vazão e consumo sob a carga projetada, medidos por percentil.
Comportamento sob falha de dependência e continuidade em operação degradada.
Integridade, responsabilização e prova oponível da ação praticada.
Prevenção de erro do usuário e clareza da informação antes de ação irreversível.
Troca de informação com sistemas externos e com o arranjo regulatório.
Substituição da dependência externa por duplo e verificação isolada do componente.
Operação em outro ambiente, região de processamento ou fornecedor.
Gherkin é a linguagem estruturada em que o critério de aceitação é redigido em texto legível pelo parceiro e, ao mesmo tempo, executado como teste.
Funcionalidade — o comportamento sob especificação.Regra — a norma de negócio que agrupa cenários.Contexto — pré-condições comuns aos cenários.Cenário — um caso concreto do comportamento.Esquema do Cenário com Exemplos — o mesmo cenário sobre uma tabela de dados.Dado, Quando, Então, E, Mas — as cláusulas de cada passo.Redação declarativa: “Quando o titular ordena uma transferência de R$ 4.000”. Redação imperativa, que se reescreve a cada alteração de tela: “Quando o titular toca no microfone e fala”.
.feature permanece legível pelo parceiro, e a definição de passo, escrita em código, concentra a chamada ao sistema e a asserção.Três exceções do PIX convertidas em cenários, cada uma vinculada a uma característica da ISO/IEC 25010.
# language: pt
Funcionalidade: Transferência PIX ordenada por linguagem natural
Contexto:
Dado que o titular "t-4417" está autenticado no canal de mensagens
# Segurança — proteção contra ordem obtida por engano
Regra: Beneficiário recente exige segundo fator
Cenário: Chave cadastrada há menos de trinta minutos
Dado que a chave "j.silva@exemplo.com" foi cadastrada há 8 minutos
Quando o titular ordena uma transferência de R$ 4.000 para essa chave
Então a ordem permanece pendente de biometria facial
E nenhum valor é liquidado antes da conclusão do segundo fator
# Confiabilidade — comportamento sob falha da dependência
Cenário: Serviço de reconhecimento sem resposta
Dado que o serviço de transcrição excede 3 segundos
Quando o titular enuncia uma ordem de transferência
Então o canal informa a indisponibilidade e oferece a conclusão por senha
E nenhuma ordem é emitida com transcrição parcial
# Segurança — não repúdio da ordem contestada
Cenário: Reconstituição de ordem contestada
Dado que a ordem "o-99f2" foi liquidada em 18/09/2026 às 21:14
Quando o perito consulta a trilha pelo identificador de correlação
Então o registro apresenta autor, enunciado, confiança, parâmetros e instante
E a assinatura é validada com a chave pública do serviço emissor
Produção em grupo sobre o projeto do parceiro, registrada no repositório ao final da aula.
Quando.Então.Trabalho produzido fora do encontro, com retomada na aula seguinte do módulo.
Comparação de dois ou três serviços de processamento de linguagem natural por custo, desempenho, precisão e complexidade, com pesos justificados, corpus do domínio, data da medição e versão de cada serviço.
Pesos derivam da consequência do erro no domínio do parceiro.
Test-Driven Development In Python: the power of red-green-refactor. O percurso entre o teste que reprova, o comportamento mínimo que o aprova e a reorganização subsequente.
Disponível no material da aula, com registro das lacunas encontradas no repositório do grupo.
HAYASHI; ARAKAKI; RUGGIERO (2020), páginas 1 a 5 e 10 a 14, sobre benchmarking baseado em testes. PRESSMAN, páginas 372 a 387, sobre teste em nível de componente.
O que a enumeração de exceções agrega ao projeto entregue ao parceiro.
A execução correta do caminho feliz não constitui evidência de qualidade. A defesa de um trecho de código se estabelece pelas exceções que ele trata e pelo registro que sustenta a verificação.
Uma escolha de arquitetura é sustentável quando se declara qual classe de falha ela intercepta e qual evidência a refutaria.
As cinco categorias substituem a inspiração pela varredura sistemática do que pode sair do percurso previsto.
Métrica, unidade, limiar e oráculo convertem a exceção em teste executável e em compromisso perante o parceiro.
O registro assinado e encadeado sustenta a contestação quando o sistema operou corretamente e a perda ocorreu.
Leituras do encontro e fontes para a atividade.
Acesso ao livro de Pressman pela plataforma da biblioteca, código 9786558040118. Artigo do Autoestudo 1: documento no Drive.
Testes em aplicações de linguagem natural · 18/09/2026 · Prof. Afonso
Ao final do encontro, o estudante deve ser capaz de enumerar, por categoria, as exceções que um trecho de código do projeto precisa tratar fora do caminho feliz — regra de negócio incompleta, infraestrutura, segurança por fraude ou imprecisão, não repúdio e usabilidade —, associar cada exceção à característica de qualidade correspondente da ISO/IEC 25010 e convertê-la em requisito verificável com valor, unidade, limiar, nível de teste e oráculo declarado, redigindo o cenário de aceitação correspondente em Gherkin.
Aprendizagem em equipe sobre um caso único de instituição de pagamento que executa PIX por comando em linguagem natural, percorrido por cinco questões, uma para cada categoria de exceção fora do caminho feliz; em cada questão o estudante decide entre quatro táticas com ganho e custo declarados, lê as justificativas da turma sem identificação, discute e decide outra vez, e uma delas traz um dado novo que desloca o critério da decisão; a sistematização das categorias e a produção dos cenários de aceitação do projeto em Gherkin encerram o encontro.