Módulo 8 · Engenharia de Software · Aula 1

Encontro por aprendizagem em equipe e aplicação · 18/09/2026

Testes em aplicações de linguagem natural

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.

Exceções fora do caminho felizAprendizagem em equipeRequisitos não funcionaisISO/IEC 25010Gherkin
Pergunta guiaQuais exceções o código precisa enfrentar para que a execução correta do caminho feliz não baste como evidência de qualidade?
Objeto do encontroEnumeração das exceções por categoria e conversão em requisito verificável.
Produto do encontroLista de exceções classificadas e cenários em Gherkin dos requisitos não funcionais do projeto.

Ritual do projeto

Daily · 15 minutos

Cada grupo informa o avanço dos artefatos, a atividade prevista para o encontro e os impedimentos que exigem decisão.

15:00
O que foi concluídoO que será produzidoImpedimentosProgresso da entrega
Estrutura do encontro

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.

15DailyEstado dos artefatos e impedimentos.
5AberturaO caso do PIX e a tese do encontro.
50TBLCinco questões, uma por categoria de exceção.
15ExceçõesAs cinco categorias e o caminho feliz.
25GherkinISO 25010 e cenários dos requisitos não funcionais.
5EncaminhamentosBenchmarking e autoestudos.
5FechamentoO valor da atitude de qualidade no projeto.
As cinco questões do bloco de aprendizagem em equipe ocorrem na sala publicada no acervo, com decisão individual registrada e justificativa lida pela turma sem identificação. O produto do encontro é a lista de exceções do próprio projeto, classificada por categoria e redigida em cenários de aceitação.
A tese do encontro

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.

Caminho feliz

A entrada prevista

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.

Fora do caminho feliz

As demais execuções

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.

Produto da atitude

A lista de exceções

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.

Procedimento do encontro. A lista de exceções é construída a partir de uma decisão concreta de arquitetura, discutida pela turma antes de qualquer exposição conceitual. As categorias são derivadas das falhas que a própria discussão revelar.
A ordem que o sistema entendeu corretamente

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.

Participação do canal

23% das transações

31% do volume iniciado entre 20h e 6h.

Perda no trimestre

R$ 3,1 milhões

1.870 ocorrências, após 410 e 1.130 nos dois trimestres anteriores.

Meta do conselho

Redução de 60%

Em dois trimestres, sem queda na conversão do canal.

Janela de implantação

Um trimestre

Sete pessoas na equipe da plataforma, sem contratação prevista.

O que a classificação atual não distingue

Três origens sob o mesmo código

  • Enunciado reconhecido de forma incorreta.
  • Chave de destino divergente do beneficiário pretendido.
  • Ordem emitida pelo próprio titular autenticado.
Restrições externas

Regulação e proteção de dados

  • Registro obrigatório da transação perante o Banco Central.
  • Mecanismo Especial de Devolução para casos contestados.
  • Limite de valor para transações noturnas.
  • Base legal e prazo declarados para a retenção do registro.
Cinco questões, cinco categorias de exceção

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.

CategoriaA exceção em exameO que a decisão precisa equilibrar
1Regra de negócio incompletaOrdem 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.
2InfraestruturaOrdem 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.
3Segurança: fraude e imprecisãoA 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.
4Segurança: não repúdioContestaçã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.
5UsabilidadeLeitura 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.
Nenhuma alternativa é correta. Cada tática responde a uma classe de falha e permanece exposta a outra, e é essa exposição que a lista de exceções do projeto precisa registrar.
Aprendizagem em equipe · como funciona

Cinquenta minutos. A sala está publicada no acervo, acompanha o relógio do servidor e conduz as cinco questões em sequência.

3 min

1 · Decisão individual

Leitura da questão, escolha de uma tática e justificativa escrita. A distribuição da turma permanece oculta.

4 min

2 · Discussão

As justificativas são exibidas sem identificação, junto da distribuição. A plenária examina os argumentos.

2 min

3 · Segunda decisão

A escolha pode ser mantida ou alterada, com nova justificativa. O formulário recomeça em branco.

Síntese

4 · Trajetória

As duas distribuições e o deslocamento entre elas são projetados antes de a questão seguinte abrir.

Regras

O que a sala exige

  • A decisão é individual, e a justificativa tem no mínimo dez caracteres.
  • A escolha pode ser trocada enquanto a fase estiver aberta.
  • A justificativa é lida pela turma sem o nome de quem a escreveu.
  • Uma das questões traz um dado novo, liberado apenas na discussão.
A decisão individual

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.

O que a justificativa precisa conter

Critério declarado

  • Qual exceção a tática escolhida trata.
  • Qual custo você aceita pagar por essa escolha.
  • Qual das outras três você descarta primeiro e por quê.
O que não decide

Argumentos insuficientes

  • Preferência por familiaridade com a tecnologia.
  • Alegação de que a tática é a mais moderna ou a mais usada no mercado.
  • Escolha que depende de dado que o caso não fornece, sem declarar a suposição.
A segunda decisão de cada questão começa com o formulário em branco. Repetir a escolha anterior já marcada levaria à confirmação sem reexame, que é a habituação examinada na quinta questão.
A discussão · quatro minutos por questão

As justificativas da turma são projetadas sem identificação. A plenária examina os critérios que sustentam cada escolha.

Pergunta 1

Que exceção a tática trata

Identificar, para cada justificativa lida, qual condição fora do caminho feliz ela intercepta e qual permanece sem tratamento.

Pergunta 2

Que suposição ela carrega

Toda escolha supõe algo sobre a origem da falha ou sobre o comportamento do usuário. Explicitar a suposição de cada argumento.

Pergunta 3

Que evidência a derrubaria

Declarar qual dado, se apresentado, tornaria a escolha insustentável. Na terceira questão, esse dado é efetivamente apresentado.

A terceira pergunta sustenta a atitude de qualidade: uma decisão de arquitetura é defensável quando se sabe dizer qual observação a refutaria.
O dado novo e a leitura das trajetórias

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.

Observação 1

Escolha estável

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.

Observação 2

Migração pelo argumento

Deslocamento ocorrido quando apenas as justificativas da turma circularam, sem dado novo.

Observação 3

Migração pela evidência

Deslocamento ocorrido na terceira questão, quando a reclassificação das ocorrências mudou a origem atribuída à perda.

Passagem ao bloco seguinte. Em 78% das ocorrências o sistema executou corretamente o que foi pedido pelo titular autenticado. As táticas que verificam se o sistema entendeu o enunciado operam sem defeito nesses casos e ainda assim não impedem a transação. O caminho feliz foi percorrido inteiro, e a perda ocorreu.
O caminho feliz e o que sai dele

O caso mostra um sistema cujo percurso principal funciona conforme especificado enquanto a perda se concentra fora dele.

O que foi verificado

O percurso principal

  • O titular foi autenticado no canal.
  • O enunciado foi transcrito e interpretado corretamente.
  • A leitura de volta foi apresentada e confirmada em 96% das ocorrências.
  • A chave de destino correspondeu ao beneficiário informado.
  • A transação foi liquidada e registrada perante o regulador.
O que não foi especificado

As condições fora do percurso

  • Beneficiário cadastrado há menos de dez minutos: 64% das ocorrências.
  • Chamada telefônica ativa durante o enunciado: 41% das ocorrências.
  • Esvaziamento da conta de destino em 3 minutos e 40 segundos na mediana.
  • Devolução que recuperou 11% do valor contestado.
  • Confirmação repetida que o titular executa sem conferir.
Consequência para a especificação. Um requisito enunciado apenas pelo comportamento esperado deixa indefinido o comportamento em todas as demais condições. A enumeração das exceções por categoria é o procedimento que torna essas condições explícitas antes da implementação.
Cinco categorias de exceção

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.

1

Regra de negócio incompleta

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.

2

Infraestrutura

Conexão indisponível, tempo limite excedido, resposta parcial, execução duplicada por reenvio e perda de integridade entre sistemas que deveriam concordar.

3

Segurança: fraude e imprecisão

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.

4

Não repúdio

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.

5

Usabilidade

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 quinta categoria explica a perda do caso: a confirmação explícita foi concluída em 96% das ocorrências de engano do titular. O mecanismo operou como especificado e não produziu o efeito pretendido.
Onde cada exceção nasce

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.

CapturaÁudio ou texto, com ruído e truncamento
TranscriçãoReconhecimento da fala em texto
InterpretaçãoIntenção e parâmetros extraídos
AçãoOrdem emitida ao sistema de destino
RespostaConfirmação devolvida ao usuário
EtapaExceção característicaCategoria predominante
CapturaCorte da primeira palavra do enunciado, que altera a intenção reconhecida.Infraestrutura e regra de negócio incompleta.
TranscriçãoTermo substituído por palavra foneticamente próxima, com alteração do valor ou do destinatário.Segurança por imprecisão.
InterpretaçãoParâ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çãoOrdem legítima emitida sob engano do titular, e execução duplicada por reenvio sem identificador de operação.Segurança por fraude e infraestrutura.
RespostaConfirmação apresentada e confirmada sem leitura, e registro insuficiente para sustentar contestação posterior.Usabilidade e não repúdio.
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.

Autenticação

Quem se apresenta

Estabelece a identidade no momento do acesso. Isoladamente, não sustenta prova posterior sobre uma ordem específica.

Integridade

O que não foi alterado

Garante que o registro permanece como foi gravado. Sem vínculo com o autor, não atribui a ação a ninguém.

Não repúdio

Quem praticou a ação

Vincula autor, ação, parâmetros e instante em registro íntegro, verificável por quem não participou da operação.

Conteúdo da trilha

O que o registro precisa conter

  • Titular autenticado, dispositivo de origem e canal de acesso.
  • Identificador de correlação do enunciado até a liquidação.
  • Transcrição, intenção inferida, confiança e parâmetros extraídos.
  • Instante com fonte de tempo confiável e versão do modelo em execução.
Proteção

O que torna a trilha oponível

  • Assinatura de cada entrada pela chave do serviço emissor.
  • Encadeamento por resumo criptográfico entre entradas sucessivas.
  • Escrita em repositório sem permissão de alteração ou remoção.
  • Base legal, finalidade e prazo declarados para a retenção.
Da exceção ao requisito verificável

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 enunciadaRequisito verificável correspondenteOrá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.
Oráculo. Entende-se por oráculo o critério que decide se a saída observada está correta. Em linguagem natural ele é construído por conjunto de referência anotado, por propriedade invariante ou por comparação entre duas implementações. Execução sem oráculo declarado não constitui teste.
ISO/IEC 25010 · modelo de qualidade do produto

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.

Adequação funcional

Completude e correção

A função cobre as condições previstas e responde corretamente fora do percurso principal.

Eficiência de desempenho

Tempo e recurso

Latência, vazão e consumo sob a carga projetada, medidos por percentil.

Confiabilidade

Disponibilidade e tolerância

Comportamento sob falha de dependência e continuidade em operação degradada.

Segurança

Confidencialidade e não repúdio

Integridade, responsabilização e prova oponível da ação praticada.

Usabilidade

Compreensão e proteção

Prevenção de erro do usuário e clareza da informação antes de ação irreversível.

Compatibilidade

Coexistência e interoperação

Troca de informação com sistemas externos e com o arranjo regulatório.

Manutenibilidade

Modularidade e testabilidade

Substituição da dependência externa por duplo e verificação isolada do componente.

Portabilidade

Adaptação e instalação

Operação em outro ambiente, região de processamento ou fornecedor.

A característica da norma nomeia a preocupação; o requisito acrescenta valor, unidade, condição de medição e limiar.
Gherkin: a exceção em forma executável

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.

Estrutura

Palavras-chave

  • 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.
Semântica

As três cláusulas

  • Dado — estado anterior à ação, sem descrever interação do usuário.
  • Quando — o evento único cujo efeito se verifica. Um por cenário.
  • Então — resultado observável na fronteira do sistema, e não estado interno.

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”.

Cada exceção enumerada produz um cenário. O arquivo .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.
Cenários das exceções do caso

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
Atividade do encontro

Produção em grupo sobre o projeto do parceiro, registrada no repositório ao final da aula.

Produto 1

Lista de exceções classificadas

  • O trecho do projeto em exame, identificado por arquivo e função.
  • Ao menos duas exceções por categoria: regra de negócio incompleta, infraestrutura, segurança por fraude ou imprecisão, não repúdio e usabilidade.
  • Para cada exceção, a consequência da ausência de tratamento.
  • A característica da ISO/IEC 25010 correspondente.
Produto 2

Cenários em Gherkin

  • Três exceções convertidas em requisito com valor, unidade e limiar.
  • Um cenário por requisito, com uma única cláusula Quando.
  • Resultado observável na fronteira do sistema em Então.
  • Oráculo declarado: conjunto de referência ou propriedade invariante.
  • Nível de teste em que cada verificação é executada.
Critério de aceitação. Cada linha declara como o resultado é obtido por execução automatizada. Item verificável apenas por inspeção humana é registrado com a justificativa da impossibilidade de automação.
Encaminhamentos

Trabalho produzido fora do encontro, com retomada na aula seguinte do módulo.

Tarefa

Tabela de benchmarking

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.

Autoestudo em vídeo

Ciclo de desenvolvimento dirigido por testes

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.

Leitura

Autoestudos 1 e 2

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.

A lista de exceções produzida hoje é o insumo do plano de teste dos requisitos não funcionais, que compõe a entrega do módulo.
O valor da atitude de qualidade

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.

1 · Decisão defensável

Uma escolha de arquitetura é sustentável quando se declara qual classe de falha ela intercepta e qual evidência a refutaria.

2 · Exceção enumerada

As cinco categorias substituem a inspiração pela varredura sistemática do que pode sair do percurso previsto.

3 · Requisito verificável

Métrica, unidade, limiar e oráculo convertem a exceção em teste executável e em compromisso perante o parceiro.

4 · Evidência oponível

O registro assinado e encadeado sustenta a contestação quando o sistema operou corretamente e a perda ocorreu.

Referências e autoestudos

Leituras do encontro e fontes para a atividade.

Autoestudos

Preparação e continuidade

  • HAYASHI; ARAKAKI; RUGGIERO (2020). Benchmarking baseado em testes — páginas 1 a 5 e 10 a 14.
  • PRESSMAN, R. Engenharia de Software — páginas 372 a 387, teste em nível de componente.
  • Vídeo sobre o ciclo de desenvolvimento dirigido por testes, incorporado ao material da aula.
Normas e fontes técnicas

Consulta durante a atividade

  • ISO/IEC 25010 — modelo de qualidade de produto de software.
  • ISO/IEC/IEEE 29119 — processo, documentação e técnicas de teste.
  • ISO/IEC 27001 e 27002 — registro de eventos e proteção da trilha de auditoria.
  • Cucumber — referência da linguagem Gherkin e das definições de passo.
  • NORTH, D. Introducing BDD, 2006 — origem de Dado, Quando, Então.
  • Banco Central do Brasil — Mecanismo Especial de Devolução e limites do PIX.
  • Lei nº 13.709/2018 — tratamento de dados pessoais e prazo de retenção.

Acesso ao livro de Pressman pela plataforma da biblioteca, código 9786558040118. Artigo do Autoestudo 1: documento no Drive.

Sobre este encontro

Testes em aplicações de linguagem natural · 18/09/2026 · Prof. Afonso

Objetivo de aprendizagem

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.

Estratégia do encontro

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.

Estrutura do encontro

  1. Daily: estado dos artefatos, atividade prevista e impedimentos — 15 min
  2. Abertura: caso do PIX, as cinco questões e as regras do TBL — 5 min
  3. TBL: cinco questões, cada uma com decisão individual, discussão e segunda decisão — 45 min
  4. Consolidado: o caminho feliz percorrido inteiro e a perda ocorrida — 5 min
  5. Exceções: cinco categorias, cadeia de processamento e não repúdio — 15 min
  6. ISO 25010 e Gherkin: características de qualidade e cenários do projeto — 25 min
  7. Encaminhamentos: benchmarking, autoestudos e vídeo do ciclo dirigido por testes — 5 min
  8. Fechamento: o valor da atitude de qualidade no projeto — 5 min