УДК 004.4(06) Технологии разработки программных систем А.И. НЕСВИЖСКИЙ, В.А. РЯБОВ Научный руководитель – СИНИЦЫН С.В., к.т.н., доцент Московский инженерно-физический институт (государственный университет) ПРОБЛЕМЫ РАЗРАБОТКИ ИНСТРУМЕНТАЛЬНОЙ СРЕДЫ КОНТРОЛЯ И ОБУЧЕНИЯ ТЕСТИРОВАНИЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Рассматривается модель программного комплекса, решающего проблему контроля и обучения тестированию программного обеспечения, и подходы к его разработке. В настоящее время существует множество подходов и инструментальных средств для тестирования и верификации программного обеспечения [1], но нет общих рекомендаций и обучающих примеров для их изучения. Вследствие чего молодые программисты не получают необходимых знаний и опыта. Именно поэтому сейчас ощущается острая нехватка квалифицированных специалистов в данной области. Для решения этой проблемы необходима разработка учебных курсов, направленных на обучение тестированию и верификации программного обеспечения. Отдельная задача здесь – инструментальная поддержка этих курсов. Предлагается следующий подход к организации такой поддержки: разработать хороший обучающий пример, на котором можно продемонстрировать различные ошибки, которые возникают при программировании программного обеспечения; создать множество вариантов обучающего примера с внесенными ошибками; контролировать результаты выполнения вариантов. Наибольший интерес и сложность представляют задачи генерации вариантов готового обучающего примера и контроля выполнения этих вариантов обучаемыми. Для реализации этих задач предлагается разработать программный комплекс, имеющий структуру, представленную на следующем рисунке: Обучающий пример Модуль генерации вариантов Модуль внутреннего тестирования Модуль управления конфигурациями Модуль сбора результатов Модуль контроля результатов Рекомендуемая оценка На вход программного комплекса поступает обучающий пример. «Модуль генерации вариантов» проводит анализ отлаженного кода обучающего примера для поиска специальных комментариев, размечающих код на блоки. После этого случайно выбранные блоки в коде заменяются блоками, размещенными в БД и имеющими ряд заранее определенных ошибок. Замена проводится с учетом заданных характеристик блоков подстановки так, чтобы программа не потеряла работоспособность. Для этого вводится метрика между блоками подстановки, позволяющая оценить, насколько совместимы эти замены. Затем происходит компиляция сгенерированного кода в отдельный вариант. При этом существует возможность выбора, в каком виде будут представлены варианты: в виде кода для тестирования «стеклянного ящика» с удаленными размечающими его комментариями или в виде закрытого модуля для тестирования «черного ящика». «Модуль внутреннего тестирования» проводит автоматическое модульное тестирование готового варианта и собирает сведения о появившихся ошибках взаимодействия, которые не занесены в код специально, но влияют на работу программы. «Модуль управления конфигурациями» заносит в БД номера сгенерированных вариантов, кому выдан вариант и набор ошибок, которые специально занесены в код и ошибок, которые выявлены «Модулем внутреннего тестирования». «Модуль сбора результатов» заносит результаты работы обучаемого в БД. В частности, результаты могут передаваться через Internet или локальную сеть. «Модуль оценивания результатов» сравнивает результат выполнения тестирования, который занес в БД «Модуль сбора результатов», c результатом, записанным «Модулем управления конфигурациями». На основании анализа программный комплекс выдаёт рекомендации по выставлению оценки. В качестве платформы для разработки используется MS.NET FrameWork 2.0 [2]. Для разметки кода обучающего примера и тестов используется язык XML. В докладе обсуждается опыт применения данного подхода к разработке инструментальной поддержки курса «Сертификация и верификация ПО», который включен в учебный план девятого семестра на кафедре Кибернетики. Список литературы 1. Канер С., Фолк Дж., Нгуен Е. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнесприложений. Киев: ДиаСофт, 2001. 544 с.: илл. 2. Троелсен Э. Язык программирования C# 2005 и платформа .NET 2.0, 3-е издание: Пер. с англ. М.: ООО “И.Д. Вильямс”, 2007. 1168 с.: илл. _______________________________________________________________________ ISBN 5-7262-0710-6. НАУЧНАЯ СЕССИЯ МИФИ-2007. Том 16 1