Введение 4
1. Цель и постановка задачи 6
2. Существующие решения 7
3. Реализация 9
3.1. Разработка системы тестирования 9
3.2. Разработка тестов 9
4. Результаты 15
Заключение 16
Список литературы 17
Сейчас происходит компьютеризация всех областей деятельности человека, и вполне вероятно, что вскоре умение программировать станет таким же обыденным навыком, как умение читать или писать. Поэтому задача эффективного обучения школьников программированию является очень актуальной.
Учиться программировать трудно, а использование классических учебных языков, таких как Pascal или BASIC, нередко создаёт дополнительную проблему, так как все ключевые слова в этих языках программирования на английском. Для учащихся младших и средних классов языковой барьер может стать серьёзным препятствием - английский на данном этапе они знают плохо, а некоторые так и вовсе могут изучать другой иностранный язык.
Выявив эту проблему, А.Н.Терехов разработал компилятор языка С в коды виртуальной машины с русскими сообщениями, русскими ключевыми словами и русскими идентификаторами и интерпретатор этой машины. Транслятор получил название «РуСи».
На данный момент транслятор RuC реализует часть функционала языка C, достаточную для написания учебных программ, и продолжает развиваться. Усовершенствованием «РуСи» занимается группа студентов под руководством Андрея Николаевича. Однако за всё время своего существования RuC ни разу не подвергался серьёзному всестороннему тестированию, что на нынешнем этапе его развития просто необходимо.
Регрессионное тестирование - это тестирование, направленное на выявление ошибок в уже протестированных участках кода. При изменении программного продукта всегда есть вероятность, что модификации затронут реализованный ранее функционал и негативно скажутся на корректности его работы. Системы регрессионного тестирования отслеживают подобные случаи и сообщают о найденных проблемах, исключая таким образом деградацию качества работы продукта при росте функциональности.
Система регрессионного тестирования представляется удобным инструментом проверки качества в случае разработки транслятора. Если создать набор тестов, охватывающий все реализованные в RuC конструкции языка C, то их успешное прохождение будет гарантировать стабильную работу транслятора после внесения в него изменений.
В рамках данной работы были получены следующие результаты:
• Разработана среда для тестирования транслятора RuC;
• Изучены конструкции языка C, реализованные в трансляторе RuC и планирующиеся к реализации;
• Создан набор тестов, охватывающий изученные конструкции.