Módulo 8 · Engenharia de Software · Aula 1

Encontro expositivo e aplicado · 18/09/2026

Testes em aplicações de linguagem natural

O que testar e como testar uma aplicação cuja interação com o usuário se dá em linguagem natural, quando a entrada é aberta, a saída não é determinística e o resultado precisa ser auditável.

Automação antes do teste manualDetecção automática de falhasNão repúdioBenchmarking por testesTestes de componentes
Pergunta guiaO que constitui evidência de que uma interação em linguagem natural funcionou como especificado?
Objeto do encontroEspecificação, medição e registro do comportamento da solução do parceiro.
Produto do encontroPlano de teste e tabela de benchmarking dos serviços candidatos.

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

Exposição em blocos curtos, demonstração de trinta minutos de especificação executável em Gherkin e vinte e cinco minutos de aplicação ao projeto.

15DailyEstado dos artefatos e impedimentos.
5AberturaSituação-problema e pergunta guia.
12O que testarCadeia de processamento e níveis de teste.
10AutomaçãoPrograma que testa programa e o oráculo.
30GherkinDado, Quando, Então e demonstração em sala.
18Falha e evidênciaDefeitos da suíte e não repúdio.
25AplicaçãoPlano de teste e tabela de benchmarking.
5FechamentoSíntese e encaminhamento dos autoestudos.
A demonstração parte de um requisito do próprio projeto, redigido em Gherkin e executado em sala. A aplicação produz o plano de teste dos requisitos não funcionais e a tabela comparativa dos serviços de processamento de linguagem natural considerados.
Situação-problema

O vídeo apresentado na Instrução 2 é retomado como caso de referência do encontro.

Enunciado

Residência automatizada operada por comando de voz

Uma residência é operada por assistente de voz integrado a iluminação, climatização, fechaduras e compras em comércio eletrônico. O sistema reconhece o enunciado, infere a intenção, extrai os parâmetros e aciona o dispositivo ou a transação correspondente. Em operação, registram-se acionamentos divergentes do que o morador declara ter solicitado: compras confirmadas sem pedido reconhecido pelo usuário, comandos disparados por conversa ambiente e ordens executadas com parâmetro distinto do enunciado.

Entrada

Enunciado aberto

Vocabulário irrestrito, sotaque, ruído, sobreposição de vozes e frases incompletas. O conjunto de entradas possíveis não é enumerável.

Processamento

Resposta variável

Modelos estatísticos produzem saídas distintas para entradas equivalentes, e a mesma entrada pode produzir resultados diferentes entre versões do serviço.

Consequência

Efeito irreversível

O acionamento incorreto abre fechadura, altera temperatura, emite pedido de compra e gera obrigação financeira.

Referência audiovisual da Instrução 2 — Smart House, Rema 1000: youtu.be/nwPtcqcqz00

Pergunta guia

O que testar e como testar uma aplicação cuja interação é em linguagem natural.

Primeira dificuldade

Entrada não enumerável

A especificação por casos de uso não cobre o espaço de enunciados. O teste passa a operar sobre classes de entrada e sobre propriedades que devem valer para todas elas.

Segunda dificuldade

Saída sem resposta única

Formulações distintas podem ser corretas. A comparação literal com uma resposta esperada reprova saídas válidas e aprova saídas erradas de igual redação.

Terceira dificuldade

Oráculo indisponível

Entende-se por oráculo o critério que decide se a saída observada está correta. Sem oráculo definido, não existe teste, apenas execução.

Consequência para o projeto. A especificação do requisito precisa declarar, antes da implementação, qual evidência será aceita como prova de conformidade: métrica, limiar, conjunto de referência e procedimento de medição.
O objeto do teste

A interação em linguagem natural é uma cadeia de etapas. Cada etapa tem entrada, saída e critério de correção próprios, e falha de modo distinto.

CapturaÁudio ou texto, com ruído e truncamento
TranscriçãoReconhecimento de fala em texto
InterpretaçãoIntenção e parâmetros extraídos
AçãoComando emitido ao sistema de destino
RespostaConfirmação devolvida ao usuário
Perguntas por etapa

O que se verifica em cada ponto

  • Transcrição: taxa de erro por palavra sob ruído e sotaque.
  • Interpretação: acurácia da intenção e completude dos parâmetros.
  • Ação: correspondência entre parâmetro extraído e comando emitido.
  • Resposta: adequação da confirmação e do pedido de desambiguação.
Falhas típicas por etapa

Onde o defeito se origina

  • Transcrição correta e intenção errada.
  • Intenção correta e parâmetro ausente, substituído por valor padrão.
  • Intenção de baixa confiança executada sem confirmação.
  • Comando executado duas vezes por ausência de idempotência.
Níveis de teste

Cada pergunta é respondida no nível em que o defeito é isolável com menor custo. O nível errado produz teste lento, instável e de diagnóstico impreciso.

UnidadeFunção de normalização do texto, conversão de unidade, formatação do parâmetro. Execução em milissegundos, sem dependência externa.
ComponenteInterpretador de intenção isolado por duplo do serviço externo. Verifica o contrato do componente sobre classes de entrada definidas.
IntegraçãoComponente e serviço de processamento de linguagem natural em conjunto, com verificação do contrato de dados e do tratamento de erro e de tempo limite.
SistemaPercurso completo do enunciado ao acionamento, incluindo latência, custo por transação e registro de auditoria.
AceitaçãoConformidade com o requisito acordado com o parceiro, executada sobre conjunto de enunciados representativos do domínio.
A pergunta “o sistema entendeu o usuário?” é de aceitação. A pergunta “o interpretador devolve a intenção correta para esta classe de enunciado?” é de componente, e é nela que a automação produz diagnóstico útil.
Teste automatizado antes do teste manual

Entende-se por teste automatizado o programa que exercita outro programa, compara o resultado observado com o critério declarado e reprova a execução quando há divergência.

Critério de precedência

O que a automação executa primeiro

Verificações repetitivas, numerosas, sensíveis a regressão e dependentes de medição precisa são automatizadas antes de qualquer inspeção humana. A pessoa examina o que exige julgamento: adequação da resposta, clareza da desambiguação e aceitabilidade do comportamento no domínio.

A execução automatizada roda a cada alteração do repositório; a inspeção manual ocorre uma vez por entrega.

Reflexão do encontro

Requisitos não funcionais inviáveis de verificar por pessoas

  • Latência da resposta no percentil 95 sob carga concorrente.
  • Custo por transação ao longo de milhares de execuções.
  • Taxa de erro de reconhecimento sob ruído controlado.
  • Regressão de acurácia após troca de versão do serviço.
  • Comportamento sob falha e tempo limite do serviço externo.
  • Consumo de memória e estabilidade em execução prolongada.
Atividade. Cada grupo identifica, entre os requisitos não funcionais do próprio projeto, os três de verificação manual inviável e declara o procedimento automatizado correspondente.
Testes de componentes

O componente é a menor unidade com interface declarada e responsabilidade própria. Testá-lo isoladamente localiza o defeito no ponto em que foi introduzido.

Técnica estrutural

Caixa-branca

  • Teste de caminho básico, derivado do grafo de fluxo de controle.
  • Complexidade ciclomática como limite superior de caminhos independentes.
  • Cobertura de condição, de decisão e de laço.
  • Aplicável ao código próprio de normalização, roteamento e validação.
Técnica funcional

Caixa-preta

  • Particionamento em classes de equivalência de enunciados.
  • Análise de valor-limite sobre parâmetros numéricos e temporais.
  • Teste baseado em tabela de decisão para regras de acionamento.
  • Aplicável ao serviço de linguagem natural, cujo código não é acessível.
Autoestudo 2. PRESSMAN, R. Engenharia de Software, páginas 372 a 387. Questão central: por que o teste em nível de componente é condição para localizar defeito em sistema composto por serviços de terceiros.
O oráculo em linguagem natural

Quando não existe saída única esperada, o critério de correção é construído por conjunto de referência, por propriedade invariante ou por comparação com implementação alternativa.

Conjunto de referência

Corpus anotado

Enunciados coletados no domínio, rotulados com intenção e parâmetros corretos. Fornece acurácia, precisão, revocação e medida F1 por intenção.

Exige versionamento e revisão periódica, sob pena de medir o passado.

Propriedade invariante

Asserção sobre toda entrada

Regras que devem valer independentemente da formulação: intenção abaixo do limiar de confiança exige confirmação; comando financeiro exige parâmetro explícito; execução repetida do mesmo identificador não duplica o efeito.

Comparação

Referência alternativa

Execução do mesmo conjunto em dois serviços ou em duas versões, com investigação das divergências. Fundamenta o benchmarking tratado no Autoestudo 1.

Enunciado de teste. O critério é declarado com métrica, limiar e conjunto: “acurácia de intenção igual ou superior a 0,92 no conjunto de validação v3, com taxa de falso acionamento de comando financeiro igual a zero”.
Gherkin: a especificação 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 do arquivo

Palavras-chave

  • Funcionalidade — o comportamento sob especificação.
  • Regra — a norma de negócio que agrupa cenários.
  • Contexto — pré-condições comuns a todos os 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.
  • Etiquetas iniciadas por @ — seleção de subconjuntos na execução.
Função no encontro

Por que a linguagem interessa aqui

O cenário declara o oráculo no vocabulário do domínio, sem referência à implementação, e por isso permanece válido quando o serviço de processamento de linguagem natural é substituído.

A tabela de Exemplos recebe o corpus anotado: cada linha do conjunto de referência passa a ser um caso executado.

O arquivo atende às três dimensões do Autoestudo 3: especifica o comportamento, afere a conformidade a cada execução e vincula requisito, teste e código.

Execução. Cada passo é vinculado a uma definição em código por um arcabouço de desenvolvimento guiado por comportamento — Cucumber, behave, pytest-bdd ou SpecFlow. O arquivo .feature permanece legível; a definição de passo concentra a chamada ao sistema.
Dado, Quando, Então

As três cláusulas repartem o cenário em estado anterior, evento único e resultado observável. A troca de função entre elas é a origem da maior parte dos cenários inúteis.

CláusulaO que declaraExemplo do casoErro recorrente
Dado
Given
Estado do mundo anterior à ação, posto sem descrever interação do usuário.O limiar de confiança para execução direta é 0,85.Descrever a ação do usuário como pré-condição.
Quando
When
O evento único cujo efeito se quer verificar.O usuário enuncia “compra mais leite”.Mais de um Quando no mesmo cenário.
Então
Then
Resultado observável na fronteira do sistema.O sistema solicita confirmação explícita.Verificar estado interno ou registro do banco.
E · MasContinuação da cláusula imediatamente anterior.E nenhum pedido é emitido ao comércio eletrônico.Alternar de cláusula sem retomar a palavra-chave.
Redação imperativa

Descreve a operação da interface

“Quando o usuário abre o aplicativo, toca no botão do microfone, aguarda dois segundos e fala.” O cenário passa a depender da interface e é reescrito a cada alteração de tela.

Redação declarativa

Descreve o comportamento do domínio

“Quando o usuário enuncia ‘compra mais leite’.” O cenário permanece válido sob qualquer interface e é compreendido pelo parceiro sem tradução.

Cenários do caso

Especificação da confirmação de comando de compra e do descarte de enunciados captados do ambiente, escrita em português com a diretiva de idioma.

# language: pt
Funcionalidade: Confirmação de comando de compra por voz

  Contexto:
    Dado que o assistente está ativo na cozinha
    E que o limiar de confiança para execução direta é 0,85

  Cenário: Intenção reconhecida com confiança insuficiente
    Dado que o serviço reconhece a intenção "comprar_item" com confiança 0,62
    Quando o usuário enuncia "compra mais leite"
    Então o sistema solicita confirmação explícita
    E nenhum pedido é emitido ao comércio eletrônico
    E a interação é registrada na trilha de auditoria

  Esquema do Cenário: Enunciado captado do ambiente
    Quando o sistema processa "<enunciado>" sem palavra de ativação
    Então nenhum comando é executado
    E o evento é registrado como descartado

    Exemplos:
      | enunciado                       |
      | acho que acabou o leite         |
      | ela mandou comprar pilhas ontem |
As propriedades invariantes da seção do oráculo aparecem como cláusulas Então, e a tabela de Exemplos recebe as linhas do corpus anotado.
Demonstração em sala · 30 minutos

Percurso completo de um requisito do projeto até o teste que executa, conduzido no projetor com o repositório aberto.

4 min

1 · Do requisito ao arquivo

Um grupo enuncia em prosa um requisito do próprio projeto; o enunciado é convertido em Funcionalidade e Contexto.

6 min

2 · Primeiro cenário

Redação de Dado, Quando e Então. A execução acusa passos indefinidos e imprime os esqueletos das definições.

6 min

3 · Definições de passo

Implementação das definições com chamada ao sistema. A execução reprova por comportamento ausente, com a mensagem de asserção exibida.

5 min

4 · Comportamento mínimo

Implementação da regra de confirmação sob baixa confiança até a aprovação do cenário.

5 min

5 · Esquema e corpus

Conversão em Esquema do Cenário com a tabela de Exemplos alimentada por linhas do conjunto de referência.

4 min

6 · Oráculo removido

Remoção deliberada da cláusula Então de efeito: a suíte aprova o comportamento incorreto, o que retoma a seção seguinte.

Encaminhamento. O arquivo produzido na demonstração é versionado no repositório da turma e serve de modelo para o primeiro cenário que cada grupo redige na atividade.
Falhas na automação

A suíte automatizada é software e contém defeitos. O defeito mais grave é o que produz aprovação indevida, pois suprime o sinal de erro em vez de emiti-lo.

FalhaManifestaçãoDetecção automática
Asserção ausenteO teste executa o percurso e não verifica o resultado; aprova qualquer saída.Teste de mutação: defeitos injetados no código devem reprovar a suíte.
Duplo permissivoO substituto do serviço externo devolve sempre resposta válida e esconde o tratamento de erro.Teste de contrato contra o serviço real e injeção de falha e de tempo limite.
Oráculo obsoletoO conjunto de referência não representa mais o vocabulário em uso; a métrica permanece alta em campo degradado.Amostragem periódica de tráfego real e comparação com a distribuição do conjunto.
Teste instávelResultado alterna entre aprovação e reprovação sem alteração do código; a equipe passa a reexecutar até passar.Reexecução programada da suíte sem alteração e registro do índice de instabilidade.
Cobertura inerteLinhas executadas sem verificação de comportamento; a métrica de cobertura sobe sem ganho de detecção.Cobertura de decisão combinada ao escore de mutação.
A suíte que nunca reprova não indica ausência de defeito. Quando nenhuma execução falha por período prolongado, verifica-se primeiro a capacidade de detecção da própria suíte.
Detecção do erro em operação

Parte dos defeitos de uma aplicação de linguagem natural só se manifesta com entrada real. A detecção depende de instrumentação declarada em projeto.

Invariante

Verificação em execução

Regras verificadas a cada requisição: confiança mínima, parâmetro obrigatório presente, identificador de operação único.

Telemetria

Métrica e alarme

Distribuição de confiança, proporção de desambiguação, taxa de cancelamento pelo usuário e latência, com limiar de alarme.

Liberação gradual

Versão canário

Nova versão exposta a fração do tráfego, com comparação de métricas e retorno automático quando o limiar é violado.

Reexecução

Registro e replay

Enunciados registrados são reexecutados sobre a versão candidata, o que transforma incidente em caso de teste permanente.

Reflexão do encontro. Considere o falso acionamento de compra por conversa ambiente. Qual sinal automático permitiria detectá-lo antes da reclamação do usuário, e qual é o custo de detectá-lo somente depois: financeiro, contratual e de confiança na solução.
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 um comando específico.

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.

Cenário de contestação. O usuário alega não ter acionado um comando executado pelo sistema. O perito examina os registros e conclui que houve interação. O encontro examina que evidência sustenta essa conclusão e como ela é produzida por projeto.
Mecanismos verificáveis

O não repúdio de uma interação em linguagem natural exige que a cadeia entre o enunciado e o efeito permaneça reconstituível.

Registro

O que a trilha contém

  • Identificador do usuário e do dispositivo de origem.
  • Identificador de correlação do enunciado até o efeito.
  • Transcrição, intenção inferida, confiança e parâmetros extraídos.
  • Comando emitido, sistema de destino e resultado.
  • Instante com fonte de tempo confiável e fuso declarado.
  • Versão do modelo e da aplicação no momento da execução.
Proteção

O que torna a trilha oponível

  • Assinatura digital do registro pela chave do serviço emissor.
  • Encadeamento por resumo criptográfico, em que cada entrada incorpora a anterior.
  • Escrita em repositório sem permissão de alteração ou remoção.
  • Carimbo do tempo emitido por autoridade independente.
  • Segregação entre quem opera o sistema e quem administra a trilha.
  • Política de retenção compatível com o prazo legal de contestação.
Restrição de privacidade. A retenção da gravação e da transcrição é dado pessoal e observa base legal, finalidade declarada, minimização e prazo. A evidência é desenhada para sustentar a prova com o menor conjunto de dados suficiente.
Como testar o não repúdio

A propriedade é verificada por procedimento automatizado que simula a contestação e tenta produzir o resultado que ela deveria impedir.

Casos de teste

Procedimentos automatizáveis

  • Executar comando conhecido e reconstituir autor, parâmetros e instante a partir da trilha.
  • Alterar uma entrada do registro e verificar que a cadeia de resumos acusa a adulteração.
  • Remover uma entrada intermediária e verificar que a verificação de integridade reprova.
  • Executar dois comandos simultâneos e verificar que os identificadores de correlação não se confundem.
  • Verificar que a assinatura é validável com a chave pública, sem acesso ao sistema emissor.
  • Verificar que o registro permanece disponível após o prazo de retenção declarado.
Critério de aceitação

O que a evidência precisa demonstrar

A reconstituição é considerada suficiente quando um terceiro, sem acesso privilegiado ao sistema, consegue estabelecer que determinado usuário emitiu determinado enunciado em determinado instante e que o comando executado corresponde ao enunciado registrado.

O ensaio pericial é conduzido por pessoa que não participou do desenvolvimento, com o mesmo procedimento que seria empregado em contestação real.

Autoestudo 1 · Benchmarking baseado em testes

HAYAHI; ARAKAKI; RUGGIERO (2020). Páginas 1 a 3: como avaliar uma solução computacional sem depender do discurso do fornecedor.

Problema

Assimetria de informação

A alegação do fornecedor descreve o comportamento do produto em condições que ele escolheu. A decisão técnica exige medição conduzida pelo comprador, no contexto de uso previsto, com procedimento reproduzível.

Entende-se por benchmarking o experimento comparativo que submete alternativas ao mesmo conjunto de casos, sob as mesmas condições, com métricas declaradas antes da execução.

Procedimento

Etapas do experimento

  • Definir o contexto de uso e as restrições do ambiente.
  • Derivar os atributos de qualidade das metas de negócio.
  • Especificar métrica, instrumento e limiar de aceitação.
  • Construir o conjunto de casos representativo do domínio.
  • Executar as alternativas sob condições idênticas.
  • Registrar resultados, incertezas e decisão fundamentada.

Artigo do autoestudo: acesso ao documento

Atributos de qualidade a partir de metas de negócio

Página 5 do artigo. O atributo é extraído de três fontes e convertido em especificação mensurável.

Da aplicação

O que o software faz

Funções expostas ao usuário e condições de execução: comando por voz em ambiente doméstico, operação contínua, resposta imediata.

Do domínio

Em que contexto opera

Propriedades do ambiente: ruído, sotaque regional, vocabulário técnico, intermitência de rede, presença de terceiros.

Do negócio

Que meta sustenta

Resultado esperado pela organização: redução do custo de atendimento, retenção do cliente, obrigação regulatória, prazo contratual.

Enunciado inadequadoEspecificação técnica correspondenteInstrumento de medição
“Precisa ser rápido”Latência de resposta no percentil 95 igual ou inferior a 800 ms com 50 sessões concorrentes.Ensaio de carga com carga sintética e registro de distribuição.
“Precisa ser preciso”Acurácia de intenção igual ou superior a 0,92 e medida F1 de extração de parâmetros igual ou superior a 0,88.Execução sobre corpus anotado versionado do domínio.
“Precisa ser barato”Custo por transação igual ou inferior a R$ 0,012 no volume mensal projetado.Contagem de transações e tabela de preço do fornecedor.
Atributo declarado sem valor, unidade e procedimento de medição não é verificável e, por isso, não constitui requisito.
Comparação de serviços de linguagem natural

Páginas 10 a 14 do artigo. A comparação entre fornecedores é organizada em tabela com critérios homogêneos e pesos declarados antes da medição.

CritérioPesoMétrica e instrumentoObservação para a decisão
CustoR$/transaçãoPreço por requisição no volume projetado, incluindo tarifa mínima e excedente.Verificar o degrau de preço por faixa e o custo de reprocessamento.
DesempenhomsLatência média e percentil 95 sob concorrência, medida a partir da região de uso.Separar o tempo do serviço do tempo de rede e de fila interna.
Precisão0–1Acurácia de intenção e medida F1 de parâmetros sobre o mesmo corpus anotado.O corpus decide a comparação; conjunto genérico mede outro problema.
ComplexidadeporteEsforço de integração, dependências operacionais e conhecimento exigido da equipe.Considerar retenção de dados, região de processamento e dependência do fornecedor.
Registro da decisão. A tabela é acompanhada do conjunto de casos utilizado, da data da medição e da versão de cada serviço, sem o que o resultado não é reproduzível nem contestável.
A mesma decisão em ambiente crítico

Pergunta do autoestudo: a escolha seria a mesma em uma mina de extração mineral, com equipamentos, pessoas e ruído intenso.

O que muda no atributo

Condições do ambiente

  • Ruído contínuo de alta intensidade e uso de proteção auricular.
  • Vocabulário técnico restrito, com termos ausentes de modelos genéricos.
  • Conectividade intermitente, que exige processamento local.
  • Consequência do erro sobre integridade física, e não sobre conveniência.
  • Exigência regulatória de registro e de rastreabilidade das ordens.
O que muda no experimento

Desenho do benchmarking

  • Corpus gravado no próprio ambiente, com ruído real e equipamento em operação.
  • Peso maior para taxa de falso acionamento do que para custo por transação.
  • Inclusão do modo de degradação: comportamento sem rede e sob falha.
  • Medição do tempo de confirmação exigido antes de comando de risco.
  • Verificação da trilha de auditoria como critério eliminatório.
O conjunto de critérios permanece; os pesos e os limiares são derivados da consequência do erro no domínio. A alternativa de menor custo por transação pode ser inaceitável quando o falso acionamento aciona um equipamento.
Autoestudo 3 · O teste como documentação do processo

Avaliação do desenvolvimento dirigido por testes aplicado ao módulo de processamento de linguagem natural, em três dimensões.

Especificação

O teste declara o comportamento

O caso de teste enuncia, em forma executável, o que o componente deve fazer. A especificação permanece consistente com o código porque a divergência reprova a execução.

Aferição

O teste mede a conformidade

A suíte informa, a cada alteração, a proporção de requisitos verificados, a cobertura alcançada e a regressão introduzida.

Rastreabilidade

O teste vincula requisito e código

A identificação do requisito no caso de teste e na mensagem de commit estabelece o percurso entre a exigência acordada, a verificação e a alteração que a implementou.

Questão do autoestudo. Examinar, no repositório do próprio grupo, se um leitor externo reconstitui o requisito a partir dos testes existentes, e registrar as lacunas encontradas. O autoestudo é opcional.
Atividade do encontro

Quarenta e cinco minutos em grupo, com entrega registrada no repositório do projeto ao final da aula.

Produto 1

Plano de teste e cenários

  • Três requisitos não funcionais do projeto, com valor, unidade e limiar.
  • Nível de teste de cada verificação e instrumento utilizado.
  • Oráculo declarado: conjunto de referência ou propriedade invariante.
  • Cenário correspondente em Gherkin, no modelo Dado, Quando e Então.
  • Procedimento de detecção automática de falha da própria automação.
  • Casos de verificação do não repúdio sobre o comando de maior consequência.
Produto 2

Tabela de benchmarking

  • Dois ou três serviços candidatos de processamento de linguagem natural.
  • Critérios de custo, desempenho, precisão e complexidade, com pesos justificados.
  • Conjunto de casos do domínio do parceiro utilizado na medição.
  • Resultado da execução e decisão fundamentada.
  • Revisão dos pesos na hipótese de operação em ambiente crítico.
Critério de aceitação. Cada linha do plano declara como o resultado será obtido por execução automatizada. Item verificável apenas por inspeção humana é registrado com a justificativa da impossibilidade de automação.
Síntese do encontro

Seis proposições para a verificação da solução do parceiro.

A interação em linguagem natural é verificável quando o critério de correção, a evidência aceita e o procedimento de medição são declarados antes da implementação.

1 · Oráculo declarado

Sem métrica, limiar e conjunto de referência, a execução não constitui teste. O cenário em Gherkin registra esse critério em forma executável.

2 · Automação primeiro

O que é repetitivo, numeroso e sensível a regressão é verificado por programa; a pessoa examina o que exige julgamento.

3 · Nível adequado

O defeito é isolado no nível de componente; o nível de sistema confirma o percurso completo.

4 · Suíte sob suspeita

Mutação, contrato e injeção de falha verificam a capacidade de detecção da própria automação.

5 · Evidência oponível

O não repúdio exige trilha assinada, encadeada e verificável por terceiro.

6 · Decisão medida

A escolha do serviço decorre de experimento comparativo reproduzível, com pesos derivados da consequência do erro.

Referências e autoestudos

Leituras do encontro e fontes para a atividade.

Autoestudos

Preparação para o encontro

  • HAYAHI; 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, testes em nível de componente.
  • Avaliação do desenvolvimento dirigido por testes: especificação, aferição e rastreabilidade. Opcional.
Normas e fontes técnicas

Consulta durante a atividade

  • Cucumber — referência da linguagem Gherkin e das definições de passo.
  • NORTH, D. Introducing BDD, 2006 — origem de Dado, Quando, Então.
  • 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.
  • 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 especificar o plano de teste de uma aplicação cuja interação ocorre em linguagem natural, declarando oráculo, métrica e limiar de cada verificação, redigindo os cenários correspondentes em Gherkin com as cláusulas Dado, Quando e Então, distinguindo o que é automatizável do que exige inspeção humana, descrevendo como detectar automaticamente a falha da própria automação, verificando o não repúdio das ações executadas e comparando serviços candidatos por benchmarking baseado em testes.

Estratégia do encontro

Exposição dialogada em blocos curtos sobre a cadeia de processamento do enunciado, níveis de teste e construção do oráculo, seguida de demonstração de trinta minutos em que um requisito trazido por um dos grupos é convertido em cenário Gherkin e executado em sala, do arquivo de funcionalidade às definições de passo; os blocos seguintes tratam das falhas da própria automação e do não repúdio, e o encontro encerra com a produção dos cenários, do plano de teste dos requisitos não funcionais e da tabela de benchmarking dos serviços considerados.

Estrutura do encontro

  1. Daily: estado dos artefatos, atividade prevista e impedimentos — 15 min
  2. Abertura: situação-problema da residência automatizada e pergunta guia — 5 min
  3. O que testar: cadeia de processamento, falhas por etapa e níveis de teste — 12 min
  4. Automação e oráculo: precedência da automação e construção do critério de correção — 10 min
  5. Gherkin e demonstração em sala: Dado, Quando e Então, do requisito ao teste que executa — 30 min
  6. Falha da automação e não repúdio: mutação, contrato, trilha assinada e verificação pericial — 18 min
  7. Aplicação: cenários, plano de teste e tabela de benchmarking do projeto — 25 min
  8. Fechamento: síntese e encaminhamento dos autoestudos — 5 min