Uma investigação sobre o uso de critérios de teste no desenvolvimento baseado em testes para o ensino de programação - Camara, Bruno Henrique Pachulski (2016)
Background: Students of Computer Science courses usually have difficulty assimilating the basic contents of introductory programming disciplines. Some researchers propose the use of Test-Driven Development (TDD) to improve teaching, but with no focus in the test set quality. Objective: The goal of this study is to define a strategy for test-driven development using software testing criteria, guiding students to improve the quality of their programming activities, and, consequently, academic results. Method: Initially, we performed a systematic mapping study on TDD in the Computing education context, and a literature review about the usage of test criteria with TDD. Considering the evidences collected, we defined a strategy to integrate the usage of test criteria into TDD. In order to evaluate this strategy, we defined measurements and instruments for data collection. An experimental study was conducted with students to evaluate the strategy and the objective satisfaction. Results: We defined a strategy to use software testing criteria with TDD for students that are learning how to program in Computing courses. The strategy consists into improving the test set while refactoring the code at TDD, considering control-flow-based structural testing criteria. Morever, we developed a set of tools to gather and analyze data produced by the students while using the strategy in the experimental study. The strategy lead to higher quality programs and test sets, and it was considered useful by the students, providing a guide for the creation of test cases, and helping them to discover errors. Conclusions: It was possible to observe improvements into the quality of programs and of test sets. The strategy can be replicated, considering different contexts and evaluting more testing criteria, fostering further evaluation of the objective and generalization of the results.