LÓGICA E LINGUAGEM DE PROGRAMAÇÃO

Mini-kata TDD: Calculadora

Atividade prática S18A4 — Semana 18 · Aula 4 – Desenvolvimento guiado por testes (red, green, refactor)
Unidade 3 – Qualidade de software: depuração e testesBase: Capítulos 32 a 36 — funções, parâmetros, return e escopoTempo: 50 minEntrega: AVA (código + parecer técnico)Arquivo: NOME_TURMA_S18A4
ATIVIDADE PROPOSTA

O que vocês vão resolver

O núcleo financeiro. Vocês entraram na equipe de Engenharia de Qualidade de um banco, e o líder técnico instituiu uma regra inviolável: nenhuma função matemática entra no sistema sem um teste que a justifique antes. A missão é criar o módulo “Calculadora” com as operações de soma e subtração, trabalhando estritamente dentro do ciclo TDD.

OBJETIVOS

O que vocês vão aprender aqui

SOLUÇÃO DIGITAL

Ferramenta usada nesta aula

TDD
Python + execução do próprio arquivo de teste
O teste é uma função comum que usa assert: se a condição for falsa, o Python interrompe e mostra a mensagem. Não é preciso instalar framework nenhum — basta executar o arquivo.
ENTENDA

O ciclo red · green · refactor

A ordem é contraintuitiva de propósito: primeiro se escreve o teste que <b>falha</b>, depois o mínimo de código para ele passar, e só então se melhora o código — com a rede de segurança do teste já aprovado.

RED escreva o testee veja falhar GREEN o mínimo parapassar REFACTOR melhore como teste verdeE então volta ao início, para a próxima operação — é isso que se chama kata: repetir o ciclo.
A estrutura de um teste unitáriodef testar_operacao_soma():# Arrange — prepara os dadosvalor1 = 100.0 ; valor2 = 50.0# Act — executa a ação testadaresultado = somar(valor1, valor2)# Assert — confere o resultadoassert resultado == 150.0, "A soma falhou!"Três blocos, sempre nessa ordem. O assert é o que transforma a função em teste de verdade.
Red Falhar por bom motivo a função nem existe ainda — oerro esperado é NameError Green Menor código possível nada de adiantarfuncionalidade: só fazer oteste passar Refactor Melhorar sem quebrar renomear, documentar — e rodaro teste para provar quecontinua verde Cada fase tem uma regra própria. Pular a fase red é o erro mais comum de quem está aprendendo.

Como preencher este relatório

  1. 1Leia o cenário e observe os diagramas — eles mostram o conceito que a sua resposta precisa usar.
  2. 2Preencha a identificação do grupo no Passo 0.
  3. 3Responda um passo de cada vez, na ordem. Cada passo traz uma dica de como pensar logo abaixo do enunciado.
  4. 4Confira o checklist no final — ele verifica se não ficou nada faltando.
  5. 5Clique em Gerar PDF da resposta. Na janela de impressão, escolha Destino: Salvar como PDF e salve como NOME_TURMA_S18A4.
  6. 6Envie esse PDF no AVA. O que vocês digitarem fica salvo neste computador sozinho — dá para fechar a página e voltar depois.
PASSO 0

Identificação

Estes dados montam a capa e a folha de rosto do relatório em PDF.

PROCEDIMENTOS

Executem o kata

Duas rodadas completas do ciclo: primeiro a soma (guiada), depois a subtração (por conta de vocês).

1
Fase RED — prevejam o erro antes de executar.
Como pensar: Escrevam o teste da soma chamando uma função somar que ainda não existe. Antes de rodar: o que o Python vai fazer? Como ele vai descrever isso no traceback?
2
Fase RED — executem e registrem o erro real.
Como pensar: O teste precisa falhar por um motivo legítimo: a função não existe. Copiem a mensagem do traceback.
3
Fase GREEN — escrevam o mínimo de código para o teste passar.
Como pensar: Menor quantidade de código possível: nada de validações, mensagens ou funcionalidades extras que o teste não exija.
def somar(a, b): return a + b
4
Fase REFACTOR — melhorem o código sem quebrar o teste.
Como pensar: Renomeiem os parâmetros a e b para valor_principal e acrescimo, e acrescentem uma docstring. Depois rodem o teste de novo: o verde precisa se manter.
5
Kata contínuo — repitam o ciclo inteiro para a subtração.
Como pensar: Sem olhar o guia: criem testar_operacao_subtracao, vejam falhar, escrevam a lógica, e então refatorem. Registrem as três fases.
FaseO que vocês fizeramResultado ao executar
Red
Green
Refactor
6
Parecer — Quebra de paradigmas.
Como pensar: Descrevam a sensação técnica e o desafio lógico de escrever a validação de um algoritmo antes de existir a lógica que processa os dados.
7
Parecer — Design e arquitetura.
Como pensar: Por que escrever o teste primeiro força funções menores, mais focadas e com propósito único? Pensem no que acontece quando se tenta testar uma função que faz cinco coisas.
8
Parecer — Prevenção de regressão.
Como pensar: Na hora de renomear parâmetros e adicionar docstring, como o teste já aprovado mudou a sua segurança para mexer no código?
CONFIRA

Checklist antes de gerar o PDF

Ao clicar em “Gerar PDF da resposta”, o navegador monta o relatório completo no padrão de roteiro de aula prática — com capa, folha de rosto, objetivos, procedimentos, as respostas do grupo e as referências. Na janela de impressão, escolha Destino: Salvar como PDF, salve como NOME_TURMA_S18A4 e envie no AVA.
AVALIAÇÃO

Como esta atividade será avaliada

CritérioPontos
Ciclo red-green-refactor seguido na ordem correta para a soma3,0
Kata da subtração completo, com as três fases registradas3,0
Refatoração feita sem quebrar o teste1,0
Qualidade argumentativa do parecer técnico3,0
REFERÊNCIAS

De onde veio o conteúdo desta aula

Curso Técnico em Desenvolvimento de Sistemas
Roteiro de Aula Prática
Lógica e Linguagem de Programação
Mini-kata TDD: Calculadora
São Paulo - SP
2026
Roteiro de Aula Prática
Mini-kata TDD: Calculadora
Roteiro de Aula Prática apresentado ao componente curricular Lógica e Linguagem de Programação, como requisito parcial de avaliação do 3º bimestre.
São Paulo - SP
2026

Roteiro de Aula Prática

Nome da disciplina: LÓGICA E LINGUAGEM DE PROGRAMAÇÃO
Unidade: 3 – Qualidade de software: depuração e testes
Aula: 4 – Desenvolvimento guiado por testes (red, green, refactor)
Base teórica: Capítulos 32 a 36 — funções, parâmetros, return e escopo

Objetivos

  • Aplicar o ciclo de TDD: red (teste que falha), green (código mínimo) e refactor (melhoria).
  • Escrever a suíte de testes antes da implementação lógica.
  • Reconhecer a estrutura Arrange / Act / Assert de um teste unitário.
  • Refatorar com segurança, usando o teste aprovado como proteção contra regressões.

Solução digital

Python + execução do próprio arquivo de teste.

O teste é uma função comum que usa assert: se a condição for falsa, o Python interrompe e mostra a mensagem. Não é preciso instalar framework nenhum — basta executar o arquivo.

Procedimento / Atividade

Atividade proposta: O núcleo financeiro. Vocês entraram na equipe de Engenharia de Qualidade de um banco, e o líder técnico instituiu uma regra inviolável: nenhuma função matemática entra no sistema sem um teste que a justifique antes. A missão é criar o módulo “Calculadora” com as operações de soma e subtração, trabalhando estritamente dentro do ciclo TDD.

Procedimentos para a realização da atividade

Checklist de entrega

Critérios de avaliação

CritérioPontos
Ciclo red-green-refactor seguido na ordem correta para a soma3,0
Kata da subtração completo, com as três fases registradas3,0
Refatoração feita sem quebrar o teste1,0
Qualidade argumentativa do parecer técnico3,0

Referências

  • SEDUC-SP — Roteiro de Atividade Prática SISANO1C1B3S18A4AP: “Mini-kata TDD Calculadora”. Situação fictícia produzida pela SEDUC-SP.
  • Apostila da disciplina — Capítulos 32 a 36: funções, parâmetros, return e escopo.
  • Documentação oficial do Python — instrução assert e docstrings (PEP 257).
salva sozinho neste computador