Caça aos Erros no Scratch

As duplas criarão um pequeno programa, definirão comportamentos esperados e depois trocarão o projeto com outra dupla para realizar testes independentes e encontrar problemas.

Passo a Passo para Execução

  1. Criar um projeto simples com personagem, pontuação e uma condição de término.
  2. Definir por escrito como o programa deveria funcionar.
  3. Realizar testes normais e registrar os resultados.
  4. Criar uma pequena falha deliberada em uma parte do código.
  5. Trocar o projeto com outra dupla.
  6. Entregar aos colegas apenas a descrição do comportamento esperado.
  7. Pedir que os testadores reproduzam o comportamento observado.
  8. Registrar a diferença entre o esperado e o observado.
  9. Formular uma hipótese sobre o trecho responsável pelo problema.
  10. Fazer uma correção controlada.
  11. Reexecutar o projeto.
  12. Repetir os testes anteriores para confirmar que a correção não causou outro problema.
  13. Devolver o projeto ao grupo original junto com o relatório.
  14. Pedir que a equipe analise o trabalho dos colegas e faça os ajustes finais.

Comentários

Quando um programa apresenta um resultado inesperado, o programador precisa de evidências. O teste mostra em quais situações o problema aparece; a depuração procura sua causa. Termos como bug, hipótese, caso de teste, resultado esperado e resultado observado ajudam a organizar esse trabalho. Isso se conecta à vida real porque sistemas importantes não são simplesmente criados e publicados: eles precisam ser experimentados em diferentes condições para que os responsáveis possam descobrir e corrigir falhas.

O Laboratório de Investigação

As equipes receberão pequenos algoritmos fictícios com comportamentos incorretos. O desafio será reproduzir o problema, descobrir uma possível causa, propor uma correção e verificar se a mudança realmente resolveu a situação.

Materiais Necessários

  • Cartões contendo algoritmos curtos
  • Cartões com descrições do comportamento esperado
  • Cartões com descrições do comportamento observado
  • Fichas de teste
  • Fichas para registrar hipóteses
  • Lápis e borracha
  • Canetas coloridas
  • Quadro branco
  • Cartões de erros envolvendo listas, condições e repetições
  • Crachás de 'Testador', 'Investigador' e 'Desenvolvedor'
  • Cronômetro
  • Envelope para cada caso de investigação

Passo a Passo da Execução

  1. Explicar que um programa pode parecer correto e ainda apresentar problemas durante o uso.
  2. Apresentar um caso em que o resultado observado é diferente do esperado.
  3. Pedir que os alunos descrevam exatamente a diferença antes de tentar corrigir.
  4. Reproduzir o problema seguindo o algoritmo passo a passo.
  5. Destacar os trechos que podem estar relacionados ao erro.
  6. Formular uma hipótese sobre a causa.
  7. Propor uma alteração pequena e específica.
  8. Executar novamente o algoritmo.
  9. Comparar o novo resultado com o resultado esperado.
  10. Registrar se a hipótese foi confirmada.
  11. Entregar um segundo problema que envolva outra parte da lógica.
  12. Pedir que cada equipe produza um relatório curto da investigação.
  13. Trocar relatórios entre as equipes para uma conferência independente.
  14. Encerrar destacando que testar faz parte da construção do programa e não é somente uma etapa realizada quando tudo já está pronto.

Conexão Computacional

Depuração, ou debugging, é o trabalho de encontrar e corrigir problemas em um programa. Testar significa executar o sistema em situações planejadas para verificar se ele produz o comportamento esperado. Um caso de teste pode ter uma entrada e um resultado que desejamos observar. Para a criança, isso é parecido com investigar um brinquedo que não funciona: primeiro descobrimos o que deveria acontecer, depois observamos o que aconteceu de verdade e finalmente procuramos a causa. Essa maneira organizada de investigar é utilizada em empresas de software, jogos, aplicativos e equipamentos digitais.