This paper examines the problem of automated testing of modified programming tasks for future computer science teachers. It is recommended that GitHub Copilot be used to generate tests based on the code. This approach makes it possible to solve the following tasks: reducing the time and effort required for manual checking of programming tasks completed by students; promoting better assimilation of the material of the relevant disciplines by students; promoting the development and improvement of students' skills in algorithmisation and programming; compliance by students with academic integrity; effective use of GitHub Copilot to generate baseline tests to test modified programming assignments completed by students; ensuring the flexibility and scalability of the approach to the development of various training courses in programming; development of students' software product testing skills. In the process of research, we found the following disadvantages of using the GitHub Copilot system for generating basic tests: GitHub Copilot does not always generate perfect code or tests; for complex tasks, GitHub Copilot may require additional correction of the generated code. Therefore, it is important to check and refine the generated tests carefully, if necessary. Therefore, at the moment, we recommend using GitHub Copilot as a template generator for writing tests. The proposed approach is a promising solution for facilitating the verification of modified programming tasks and increasing the effectiveness of the education process of future informatics teachers. The conducted research opens up new prospects for effective improvement of the verification of modified tasks performed by students and the generation of tests for verification. In particular, the integration of the proposed system based on GitHub Copilot with learning management systems (LMS) and automated task verification systems. Another area of research could be exploring the possibilities of using other tools for generating tests instead of GitHub Copilot or combining them in order to obtain better results.
Read full abstract