Desenvolvimento baseado em testes com aplicação de critérios de teste no ensino introdutório de computação - Grajefe Feitosa, Yuri Rafael; Graciotto Silva, Marco Aurélio; Fabri, José Augusto (Anais Estendidos do Simpósio Brasileiro de Educação em Computação (EDUCOMP); 2021: Anais Estendidos do I Simpósio Brasileiro de Educação em Computação, 2021)
Estudos relatam dificuldades enfrentadas no ensino de programação para alunos iniciantes em cursos de graduação da área da Computação e afins. O teste de software pode contribuir nesse processo de aprendizagem e o TDD (Test-driven development) pode ser utilizado como uma forma de guiar a integração de teste de software com a programação, estabelecendo um plano de aprendizado de programação que tende a melhorar a capacidade do aluno de interpretar e resolver o problema computacional em questão. O objetivo do trabalho é o desenvolvimento de uma abordagem para o ensino introdutório de programação considerando TDD com critérios de teste de software. A abordagem consiste no desenvolvimento iterativo de casos de teste e da implementação de soluções para um problema (tarefa de programação), com o escalonamento dos critérios de teste considerados a cada iteração. Desta forma, além de auxiliar a evolução da compreensão sobre um problema computacional e, consequentemente, na implementação de uma solução, os critérios podem contribuir para entender situações atípicas do espaço do problema e dos aspectos computacionais. Para avaliar os resultados desta abordagem, os alunos, após a instrução sobre conceitos computacionais e criação de casos de tese, resolverão tarefas de programação com níveis de dificuldade escalonado. Dos resultados, serão verificadas a qualidade das soluções implementadas e o desempenho dos alunos na disciplina. Espera-se que o resultado do desenvolvimento de casos de teste, considerando critérios de teste antes de iniciar a codificação, possa auxiliar os alunos a desenvolver a lógica da resolução do problema computacional de uma forma mais eficaz e, consequentemente, ter um melhor desempenho nas disciplinas introdutórias de programação. Link para o vídeo da apresentação: https://youtu.be/TQPpQB95tGU