Система автоматизированного тестирования приложений ATCS изначально предназначалась для тестирования решений олимпиадных задач по программированию. Возможности системы ограничивались минимумом инструментов для наладки процесса проверки и включали в себя следующие компоненты:
Подпрограмма тестирования приложений
Подпрограмма проверки корректности выходных данных для приведенных входных
Подсистема безопасности (подпрограмма – синтаксический анализатор исходного кода)
Подпрограмма чтения скомпилированных файлов тестов
Программа – конвертер тестов
Графическая оболочка для вывода результатов проверки на экран
Однако, оказалось, что на сегодняшний день подобных систем существует великое множество, а потому разработка еще одной такой системы была бы очередным исследованием в области велосипедостроения. Потому круг задач, решаемых с использованием данной системы, был значительно расширен. На сегодняшний день система представляет собой гибкий, но мощный инструмент, позволяющий автоматизировать процесс тестирования и отладки программного обеспечения. Однако, главное назначение системы сейчас – это проведение различного рода состязаний (личных, командных, тренировочных и т.п.). Кроме того, система может быть приспособлена для контроля выполнения любых заданий (по крайней мере, тех, для проверки которых возможно использование некоторого алгоритма).
Перечислим основные направления применения системы:
Автоматическое тестирование и составление отчетов об ошибках программного обеспечения
Автоматическая проверка решений олимпиадных задач по программированию
Автоматизация процесса проведения соревнований по программированию
Возможность тренировки On-Line (с использованием Web-сервера ATCS) и Off-Line (с использованием Проверяющей системы ATCS)
Возможность контроля знаний в процессе обучения