Ir para o conteúdo
Voltar ao curso

Semana 6 · Aula 2 · 50-65 minutos

Planeje, prototipe e teste

Transforme o seu problema em um plano que dê para construir e conferir: projete as entradas, saídas, características, rótulos e regras; faça um protótipo simples; e teste com casos de teste de verdade.

Materiais
Esta aula em um navegador web · Papel e lápis, ou um aplicativo de notas
Esta aula
Em andamento

Salva sozinho neste aparelho

O que você vai conseguir fazer

  • Projetar as entradas, saídas, características, rótulos e quaisquer regras do seu sistema.
  • Explicar o que é um protótipo e fazer um simples no papel.
  • Escrever casos de teste e usá-los para achar limitações.
  • Melhorar o seu projeto por meio da iteração, com base no que os testes mostram.

Para pensar

Você já tem uma definição do problema: separar a foto de um resíduo em reciclagem, compostagem ou lixo comum. Que pistas (características) o sistema olharia? Que rótulos você ensinaria a ele? E como você saberia, antes de construir qualquer coisa de verdade, se o seu plano presta?

Nesta aula você transforma a sua ideia em um plano que dá para testar de fato no papel.

Faça uma previsão

Preveja: quando você testar o seu protótipo pela primeira vez com exemplos complicados, ele vai acertar a maioria ou vai falhar em alguns? Que tipo de exemplo você acha que vai derrubá-lo?

Característica
Uma pista mensurável sobre uma entrada que o sistema usa para decidir, como a cor, o formato ou o tamanho de um item.
Rótulo
A resposta certa ligada a um exemplo, como marcar uma foto com "reciclagem" para o sistema poder aprender com ela.
Regra
Uma instrução exata que uma pessoa escreve, como "se o item for uma garrafa de vidro, rotule como reciclagem".
Protótipo
Uma primeira versão rápida e tosca de uma ideia, feita para testar como funciona antes de construir a coisa de verdade.
Caso de teste
Um exemplo com uma resposta certa conhecida que você passa pelo seu protótipo para conferir se ele funciona.
Iteração
Repetir o ciclo de construir, testar e melhorar, para o projeto ficar melhor a cada vez.

Projete as peças: entradas, saídas, características, rótulos e regras

Antes de construir, projete as peças. A entrada é o que entra (a foto de um item). A saída é o que sai (um rótulo: reciclagem, compostagem ou lixo comum). Os rótulos são o conjunto de respostas certas que você ensinaria ao sistema e usaria para conferi-lo.

As características são as pistas que o sistema usa para decidir: o material de um item, o formato dele, ou se está molhado ou engordurado. Se uma parte da tarefa for simples e clara, você pode até acrescentar uma regra: "se for uma garrafa de vidro limpa, rotule como reciclagem". Um bom plano aponta tudo isso, para qualquer pessoa entender como uma decisão é tomada.

  • Entrada: foto de um item. Saída: um de três rótulos.
  • Características: material, está molhado, é papel, tem comida em cima.
  • Regra: "se for casca de banana, rotule como compostagem".

Um protótipo é uma primeira versão tosca feita para testar

Um protótipo é uma versão rápida e tosca da sua ideia, feita para aprender com ela, e não o produto acabado. O seu pode ser no papel: um conjunto de cartas de "se tiver estas características, então este rótulo", ou um fluxograma simples que um colega consiga seguir na mão. A questão é tornar a ideia concreta o bastante para experimentar.

Protótipos são feitos para serem imperfeitos. Fazer um barato e cedo evita que você gaste muito esforço construindo a coisa errada. Você pode jogar um protótipo fora e tudo bem: você ficou com o que aprendeu.

  • Um fluxograma no papel: "É papel? Está molhado? → rótulo".
  • Um monte de cartas de decisão que um amigo consiga seguir sem você explicar.
  • Um rascunho à mão da tela do aplicativo, mostrando a entrada e a saída.

Casos de teste revelam limitações, e a iteração as conserta

Um caso de teste é um exemplo com uma resposta certa conhecida. Você o passa pelo seu protótipo e vê se ele dá o rótulo certo. Um punhado de bons casos de teste, incluindo os complicados, mostra rapidinho onde o seu projeto quebra. Esses pontos fracos são as limitações dele: as situações em que ele erra ou não consegue decidir.

Todo sistema tem limitações; o objetivo é achá-las de propósito, e não ser surpreendido por elas depois. Quando um caso de teste falha, você melhora o projeto e testa de novo. Esse ciclo de repetir até melhorar é a iteração, o coração de como os produtos de verdade são feitos.

  • Caso de teste: uma caixa de pizza engordurada. Rótulo certo: lixo comum ou compostagem, não reciclagem.
  • Limitação encontrada: o protótipo rotula todas as caixas como "reciclagem", então as engorduradas ficam erradas.
  • Iteração: acrescentar uma característica de "tem gordura de comida?" e uma regra para mandar as caixas engorduradas para outro lugar.

Exemplo resolvido

Prototipando e testando um separador de resíduos

  1. Projete as peças: entrada = foto de um item; saída = reciclagem / compostagem / lixo comum; características = material, é papel, está molhado, tem gordura de comida.
  2. Faça um protótipo de papel: cartas de decisão. "Se for resto de comida → compostagem. Se for papel limpo ou garrafa limpa → reciclagem. Senão → lixo comum".
  3. Escreva casos de teste com respostas conhecidas: garrafa de água limpa (reciclagem), casca de banana (compostagem), caixa de pizza engordurada (lixo comum), saco de salgadinho metalizado (lixo comum).
  4. Rode os testes na mão: o protótipo acerta a garrafa e a casca de banana, mas rotula a caixa de pizza engordurada como "reciclagem", uma falha.
  5. Ache a limitação e itere: acrescente uma característica de "tem gordura de comida?" e uma regra para papel engordurado ir para o lixo comum. Rode os casos de teste de novo; agora a caixa de pizza passa.

O essencial: Projete as peças, faça um protótipo tosco, teste com casos de resposta conhecida, ache as limitações dele, e itere até melhorar.

O ciclo de construir, testar e melhorar

Um ciclo de quatro passos que se repete. Passo 1: projete as peças (entrada, saída, características, rótulos, regras). Passo 2: construa um protótipo tosco. Passo 3: rode os casos de teste e registre quais passam e quais falham. Passo 4: ache as limitações e melhore. Uma seta leva do passo 4 de volta ao passo 2, mostrando a iteração.

Iterar significa dar mais de uma volta neste ciclo, melhorando a cada vez.

Uma folha de casos de teste
Caso de testeRótulo certoRótulo do protótipoResultado
Garrafa de água limpaReciclagemReciclagemPass
Casca de bananaCompostagemCompostagemPass
Caixa de pizza engorduradaLixo comumReciclagemFalhou
Saco de salgadinho metalizadoLixo comumLixo comumPass

Uma tabela de casos de teste do separador de resíduos. Cada linha tem um exemplo, o rótulo certo conhecido dele, o rótulo que o protótipo deu, e passou ou falhou. Garrafa de água limpa: certo reciclagem, deu reciclagem, passou. Casca de banana: certo compostagem, deu compostagem, passou. Caixa de pizza engordurada: certo lixo comum, deu reciclagem, falhou. Saco de salgadinho metalizado: certo lixo comum, deu lixo comum, passou.

Atividade

Estúdio do plano de protótipo

Resumo da atividade

Transformar a sua definição do problema em um plano projetado, prototipado e testado que você possa apresentar.

  1. Projete as peças: aponte a sua entrada, a saída, os rótulos, de três a cinco características, e quaisquer regras simples.
  2. Faça um protótipo de papel: desenhe um fluxograma ou escreva cartas de decisão que um colega consiga seguir sem a sua ajuda.
  3. Escreva pelo menos quatro casos de teste com respostas certas conhecidas, incluindo dois complicados.
  4. Passe cada caso de teste pelo seu protótipo na mão e registre passou ou falhou em uma folha de casos de teste.
  5. Liste as limitações que as falhas revelaram, e escreva uma melhoria que você faria em seguida (a sua iteração).

Usando o seu problema da aula 1, você vai projetar as entradas, saídas, características, rótulos e quaisquer regras; rascunhar um protótipo de papel; escrever pelo menos quatro casos de teste, incluindo alguns complicados; "rodá-los" na mão; e anotar as limitações que achar e uma melhoria que faria. Isso vira o núcleo do seu Projeto Final.

Você vai precisar de

  • Papel e lápis, ou um aplicativo de notas

Você conseguiu quando

  • Entrada, saída, rótulos, de três a cinco características e quaisquer regras ficam apontados.
  • Um protótipo de papel que um colega consiga seguir sem explicação extra.
  • Pelo menos quatro casos de teste com respostas conhecidas, incluindo complicados, rodados e marcados como passou ou falhou.
  • Pelo menos uma limitação identificada e uma melhoria (iteração) proposta.

Conjunto de dados incluído

Kit inicial de casos de teste

Uma lista já incluída para escrever bons casos de teste: inclua exemplos fáceis, casos-limite (molhado, engordurado, danificado, incomum) e exemplos que poderiam ir para os dois lados. Também inclui um modelo em branco de folha de casos de teste (exemplo, rótulo certo, rótulo do protótipo, passou/falhou) para copiar.

Por enquanto, faça esta atividade com os materiais incluídos, as suas anotações e a conversa em grupo. Uma versão interativa vem numa atualização futura.

Confira o que você entendeu

Confira se você sabe planejar, prototipar e testar um projeto.

  1. Question 1. Quais destas coisas você deve projetar antes de construir o seu sistema? (Escolha todas que se aplicam.)

    Marque todas as que se aplicam.

  2. Question 2. Coloque em ordem o ciclo de construir, testar e melhorar para uma rodada de prototipagem.

    1. 1.Projetar as peças (entrada, saída, características, rótulos, regras)
    2. 2.Construir um protótipo tosco
    3. 3.Rodar os casos de teste e registrar passou ou falhou
    4. 4.Achar limitações e melhorar o projeto
  3. Question 3. O que a equipe deve fazer em seguida?

    O protótipo de papel de uma equipe passa em todos os casos de teste fáceis, mas rotula uma caixa de pizza engordurada como "reciclagem" quando a resposta certa é lixo comum.

0 de 3 respondidas

Experimente você

Quebre o seu próprio protótipo

Esforce-se para fazer o seu próprio protótipo falhar, e depois use o que aprender para melhorá-lo.

  1. Escreva três casos de teste especialmente complicados, pensados para derrubar o seu protótipo.
  2. Rode-os na mão e registre quais falham.
  3. Para cada falha, aponte a limitação que ela revela.
  4. Proponha uma mudança (uma iteração) e preveja se ela consertaria as falhas.

Você conseguiu quando

  • Três casos de teste complicados que pressionem o protótipo.
  • Cada falha ligada a uma limitação apontada.
  • Uma iteração proposta, com uma previsão do efeito dela.

Reflexão

Salva neste aparelho enquanto você escreve

Por favor, não inclua informações privadas. As suas respostas ficam salvas só neste navegador e nunca são enviadas para lugar nenhum.

Recapitulando

Você transforma um problema em um plano testável projetando as peças, construindo um protótipo tosco, rodando casos de teste de resposta conhecida, e iterando para consertar as limitações que achar.

  • Projete a entrada, a saída, os rótulos, as características e quaisquer regras antes de construir.
  • Um protótipo é uma versão tosca, feita barato, para testar uma ideia cedo.
  • Casos de teste revelam limitações; iteração é o ciclo de melhorar até ficar melhor.

Extensão para o 7.º e 8.º ano

Quanto teste é suficiente?

Equipes de verdade não conseguem testar todas as entradas possíveis, então escolhem os casos de teste com cuidado: casos comuns, casos-limite, e casos em que um erro pesaria mais. Uma IA médica é testada com muito mais rigor do que um joguinho que sugere emojis.

Para o seu projeto, decida quais casos de teste importam mais e por quê. Escreva um breve "plano de teste" explicando quanto teste você acha que basta antes que pessoas usuárias reais pudessem confiar neste sistema.

Termine esta aula

  • Attempt the knowledge check: não feito
  • Save a reflection (recommended): não feito

Faça a checagem de conhecimentos para terminar esta aula.