Научная статья на тему 'Разработка и применение автоматизированной обучающей системы для совершенствования процесса профессиональной подготовки специалистов по тестированию программного обеспечения'

Разработка и применение автоматизированной обучающей системы для совершенствования процесса профессиональной подготовки специалистов по тестированию программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
127
22
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
AUTOMATED TRAINING SYSTEMS / SOFTWARE TESTING / PERSONNEL TRAINING / PROFESSIONAL KNOWLEDGE AND SKILLS / АВТОМАТИЗИРОВАННЫЕ ОБУЧАЮЩИЕ СИСТЕМЫ / ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ПОДГОТОВКА КАДРОВ / ПРОФЕССИОНАЛЬНЫЕ ЗНАНИЯ И НАВЫКИ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Полевщиков И. С., Калин М. В.

Рассмотрена проблема повышения эффективности подготовки специалистов по тестированию программного обеспечения (ПО) на основе применения автоматизированной обучающей системы (АОС) для управления процессом формирования профессиональных компетенций. Для уменьшения трудоемкости и повышения эффективности процесса тестирования стоит задача обучить начинающего специалиста современным техникам тестирования, в том числе с учетом опыта реальных программных проектов. Применение средств автоматизации может интенсифицировать и повысить качество выполнения задачи обучения. В работе предлагаются модели и алгоритмы для управления формированием профессиональных знаний и навыков специалистов по тестированию с использованием современных математических методов. Работа выполнена при поддержке стипендии Президента РФ молодым ученым и аспирантам (№ стипендии СП-100.2018.5), назначенной Советом по грантам Президента Российской Федерации.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Полевщиков И. С., Калин М. В.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development and use of an automated training system to improve the process of training software testing specialists

The problem of increasing the efficiency of training specialists in software testing based on the use of an automated training system to control the process of formation of professional competencies is considered. To reduce the labor intensity and increase the efficiency of the testing process, the task is to train the novice specialist in modern testing techniques, including taking into account the experience of real software projects. The use of automation tools can intensify and improve the quality of the learning task. The paper proposes models and algorithms to control the formation of professional knowledge and skills of specialists in testing using modern mathematical methods. The research is supported by a stipend of the President of the Russian Federation to young scientists and post-graduate students (No. SP-100.2018.5), which was assigned by the grants Council of the President of the Russian Federation.

Текст научной работы на тему «Разработка и применение автоматизированной обучающей системы для совершенствования процесса профессиональной подготовки специалистов по тестированию программного обеспечения»

Разработка и применение автоматизированной обучающей системы для совершенствования процесса профессиональной подготовки специалистов по тестированию программного обеспечения

И. С. Полевщиков, М.В. Калин Пермский национальный исследовательский политехнический университет

Аннотация: Рассмотрена проблема повышения эффективности подготовки специалистов по тестированию программного обеспечения (ПО) на основе применения автоматизированной обучающей системы (АОС) для управления процессом формирования профессиональных компетенций. Для уменьшения трудоемкости и повышения эффективности процесса тестирования стоит задача обучить начинающего специалиста современным техникам тестирования, в том числе с учетом опыта реальных программных проектов. Применение средств автоматизации может интенсифицировать и повысить качество выполнения задачи обучения. В работе предлагаются модели и алгоритмы для управления формированием профессиональных знаний и навыков специалистов по тестированию с использованием современных математических методов. Работа выполнена при поддержке стипендии Президента РФ молодым ученым и аспирантам (№ стипендии СП-100.2018.5), назначенной Советом по грантам Президента Российской Федерации.

Ключевые слова: автоматизированные обучающие системы, тестирование программного обеспечения, подготовка кадров, профессиональные знания и навыки.

1 Введение. Актуальность исследования

При создании программного обеспечения (ПО) требуется правильная организация всех этапов процесса разработки, основанная на применении технологических принципов, и, в частности, грамотная организация этапа тестирования как неотъемлемого, наиболее устоявшегося средства современной системы обеспечения качества программного продукта [1-3].

Для уменьшения трудоемкости и повышения эффективности процесса тестирования используются разные подходы. С одной стороны, разрабатываются и применяются различные средства автоматизации тестирования [4]. С другой стороны, стоит задача обучить начинающего специалиста современным техникам тестирования, в том числе с учетом опыта реальных программных проектов. Применение средств автоматизации может повысить качество выполнения задачи обучения [5-8].

Обучение методам тестирования ПО является неотъемлемой составляющей подготовки бакалавров по направлению 09.03.04 «Программная инженерия» на кафедре ИТАС ПНИПУ. Однако, практическая составляющая процесса обучения в настоящее время обладает существенными недостатками как для студентов, так и для преподавателя.

В первую очередь, отсутствуют средства автоматического контроля и самоконтроля выполнения практических заданий для отработки навыков тестирования. Ручная проверка таких заданий преподавателем является весьма однообразной и утомительной работой, отнимающей много времени.

Также отсутствует достаточное количество примеров, показывающих в наглядном виде различные возможные ситуации и частные случаи в процессе тестирования. Особенно этот недостаток действителен для студентов заочного отделения, у которых крайне мало часов аудиторных занятий с преподавателем. Преподавателю требуется большое количество времени, чтобы подготовить много таких примеров и объяснить студентам.

Существующие средства автоматизации профессионального обучения не позволяют в полной мере преодолеть указанные выше недостатки.

Таким образом, разработка обучающей системы для автоматизации контроля выполнения практических заданий при обучении методам тестирования ПО на основе научно-обоснованных моделей и методов является востребованной задачей.

2 Функциональные возможности автоматизированной обучающей системы для подготовки специалистов по тестированию ПО

Функциональные требования к разрабатываемой автоматизированной обучающей системе (АОС) для подготовки специалистов по тестированию ПО описаны в виде диаграммы вариантов использования ЦМЪ [1] (рис. 1).

автоматизированный контроль выполнения практических заданий

Рис. 1. - Функциональные требования к АОС

Разработан прототип данной системы. АОС обеспечивает изучение студентами алгоритмов тестирования в режиме демонстрации. В наглядной форме показываются конкретные пошаговые примеры решения задач. Студент может корректировать различные параметры в задачах, чтобы всесторонне рассмотреть частные случаи тестирования.

Система позволяет автоматически (в соответствии с настройками преподавателя) генерировать и оценивать практические задания для обучения различным техникам тестирования ПО и для проверки сформированных навыков. Перед выполнением практических заданий предусмотрен входной контроль знаний (как для оценки знаний теории по тестированию ПО, так и по смежным дисциплинам, например, дискретной математике и математической логике).

При генерации заданий будут использованы как различные алгоритмы, лежащие в основе известных методов тестирования [1, 9] (например, тестирование базового пути; тестирование, основанное на разбиении по эквивалентности и анализе граничных значений; тестирование на основе диаграмм причинно-следственных связей), так и данные о тестировании реальных проектов, хранящиеся в базе данных автоматизированной системы.

3 Алгоритм выполнения практических заданий с применением АОС

Любое практическое задание в АОС можно разделить на последовательность частей, определяемых изучаемым методом тестирования ПО. Например, для тестирования базового пути [1] такими частями могут являться: построение потокового графа на основе текста программы; вычисление цикломатической сложности; построение множества путей и т.д.

Алгоритм выполнения студентом практического задания в АОС можно обобщенно представить последовательностью шагов:

1) Предоставление студенту задания, сформированного на основе начальных настроек преподавателя.

2) Формирование студентом решения г -й части задания на основе предоставляемых системой инструментов.

3) Оценка системой выполнения г -й части задания и получение коэффициента К{ е [0;1], определяющего степень правильности выполнения (вычисляется по некоторому алгоритму, определяемому спецификой данной части задания). Предоставление советующих воздействий (подсказок) обучаемому, если это было предусмотрено преподавателем. Возможен возврат к шагу № 2 при низком значении Ki либо других условиях, заданных

преподавателем. Здесь происходит увеличение г на 1.

4) Если все части задания выполнены, то переход к шагу 5. Иначе переход к шагу 2.

5) Получение комплексной оценки, определяющей степень правильности

п

выполнения всего задания: К = ^ ^Кг , где wi - «вес» (сложность)

г=1

выполнения г -й части задания (установлен преподавателем в настройках); п - число частей задания; Кг - оценка за г -е задание.

6) Далее, используя шкалу (установленную ранее преподавателем), обучаемому выставляется оценка по 5-балльной системе за выполнение

задания, например: 0,9 < K < 1 - отлично; 0,8 < K < 0,9 - хорошо; 0,7 < K < 0,8 - удовл.; K < 0,7 - неуд.

7) На экране отображается оценка выполнения задания, а также, если это было предусмотрено преподавателем, предоставляются советующие воздействия обучаемому (различные рекомендации, подсказки, разбор допущенных ошибок и т.п.).

4 Алгоритм сравнения потоковых графов при оценке заданий по теме

«Тестирование базового пути»

Рассмотрим на примере алгоритм сравнения потоковых графов при выполнении студентом задания по теме «Тестирование базового пути» (рассмотрена часть задания, в которой на основе пронумерованного преподавателем текста программы требуется построить потоковый граф):

1) Студенту предоставляется пронумерованный текст программного модуля. Пример подобного модуля на языке Java представлен на рис. 2:

fcr (int 1=5 ■■'*!*/; iclü '"2" ; i++ )

Рис. 2. - Пронумерованный текст программного кода

2) Студент строит потоковый граф. Пример построенного студентом графа представлен на рис. 3.

3) Системой автоматически сравнивается множество Мдубуч дуг графа, построенного обучаемым, с множеством Мдуал дуг «эталонного» графа (рис. 4), который требовалось построить. Результат сравнения можно представить в виде Кг = /(М°бгч-,Мдуал ), где Кг е [0;1] - оценка правильности построенного

графа. Чем ближе значение К{ к 1, тем больше совпадают множества, и, наоборот, чем ближе значение К{ к 0, тем больше множества различаются.

Если студент построил граф, который имеет несколько начальных или несколько конечных вершин, то Ki = 0, так как потоковый граф явно построен неверно (должна быть одна начальная и конечная вершина).

Значение Кг можно представить, как степень сходства [5] между ответом

обучаемого (множество Мду^) и эталонным ответом (множество Мдуг), рассчитывающуюся по формуле:

К. =-&-,

г ь+аъ

где Ь = М ду;"1 - мощность множества М ™л.,

Qa = Мдубуч. пМдэгг". - число совпадающих элементов во множествах Мдубуч- и

М этал-

дуг

Qъ = Мдуу4. - Qa - число элементов во множестве Мдуг1, которых нет в Мду^.

Произведем расчет для рассматриваемого примера:

М ;7= { (1, 2) (2, 3) (2, 5) (3, 4) (4, 2) }

МдубГ = { (0, 1) (1, 2) (1, 4) (2, 1) (2, 3) (3, 4) }

Q 4 4

К = =-= -« 0,57

г Ь + Qъ 5 + (6 - 4) 7

4) Если было предусмотрено в настройках, отображаются советующие воздействия обучаемому (например, отображается «эталонный граф», перечисляются или подсвечиваются недостающие или лишние дуги графа).

5 Заключение

Благодаря рассмотренным выше преимуществам, разрабатываемая АОС позволяет осуществлять формирование и контроль навыков при изучении наиболее известных методов тестирования программного обеспечения (ПО).

АОС может применяться для профессиональной подготовки специалистов по тестированию ПО: при обучении студентов вузов и учреждений среднего профессионального образования, при внутрифирменном обучении сотрудников предприятий.

АОС может быть интегрирована в систему дистанционного обучения или в другую систему, используемую для автоматизации образовательного процесса, а также в систему автоматизированного управления процессом тестирования ПО на предприятиях [10] для повышения квалификации сотрудников. Более того, алгоритмы, используемые для генерации заданий, могут быть использованы и для генерации тест-кейсов с целью формирования рекомендаций специалисту по тестированию ПО.

Литература

1. Орлов С.А., Цилькер Б.Я. Технологии разработки программного обеспечения: Учебник для вузов. 4-е изд. Стандарт третьего поколения. СПб.: Питер, 2012. 608 с.

2. Бурякова Н.А., Чернов А.В. Классификация частично формализованных и формальных моделей и методов верификации программного обеспечения // Инженерный вестник Дона. 2010. №4. URL: ivdon.ru/ru/magazine/archive/n4y2010/259.

3. Яловой И.О. Анализ требований и управление изменениями программных проектов // Инженерный вестник Дона. 2008. №4. URL: ivdon.ru/ru/magazine/archive/n4y2008/102.

4. Куликов С.С. Тестирование программного обеспечения. Базовый курс.

Минск: Четыре четверти, 2017. 312 с.

5. Карпова И.П. Исследование и разработка подсистемы контроля знаний в распределенных автоматизированных обучающих системах: дис. ... канд. техн. наук: 05.13.13. М., 2002. 200 с.

6. Fayzrakhmanov R.A., Polevshchikov I.S., Khabibulin A.F., Shkliaev F.I., Fayzrakhmanov R.R. ANYCRANE: Towards a better Port Crane Simulator for Training Operators // Proc. of the 15th International Industrial Simulation Conference (ISC'2017), Warsaw (Poland), 31 May - 1 June 2017. pp. 85-87.

7. Fayzrakhmanov R.A., Polevshchikov I.S. Increased of Efficiency in the Automated Training of Fuelling Machine Operators Using Iterative Simulation Learning // World Applied Sciences Journal. 2013. Vol. 22. № SPL.ISSUE2. pp. 70-75. URL: idosi.org/wasj/wasj22(tt)13/12.pdf.

8. Зорин Ю.А., Посов И.А. Инструментальные системы построения и получения многовариантных тестовых заданий // Компьютерные инструменты в образовании. 2014. №1. С. 14-25.

9. Калин М.В., Полевщиков И.С. Автоматизация процесса тестирования программного обеспечения на основе построения диаграмм причин-следствий // Инновационные технологии: теория, инструменты, практика. 2017. Т. 1. С. 45-51.

10. Полевщиков И.С. Автоматизированная система управления процессом тестирования программного обеспечения в ходе промышленной разработки // Решение. 2018. Т. 1. С. 191-193.

References

1. Orlov S.A., Tsil'ker B.Ya. Tekhnologii razrabotki programmnogo obespecheniya: Uchebnik dlya vuzov. 4-e izd. Standart tret'ego pokoleniya [Software development technologies: A textbook for universities. 4th ed. The standard of the third generation]. SPb.: Piter, 2012. 608 p.

2. Buryakova N.A., Chernov A.V. Inzenernyj vestnik Dona (Rus), 2010, №4. URL: ivdon.ru/ru/magazine/archive/n4y2010/259.

3. Yalovoy I.O. Inzenernyj vestnik Dona (Rus), 2008, №4. URL: ivdon.ru/ru/magazine/archive/n4y2008/102.

4. Kulikov S.C. Testirovanie programmnogo obespecheniya. Bazovyy kurs [Software Testing. Basic course]. Minsk: Chetyre chetverti, 2017. 312 p.

5. Karpova I.P. Issledovanie i razrabotka podsistemy kontrolya znaniy v raspredelennykh avtomatizirovannykh obuchayushchikh sistemakh [Research and development of the knowledge control subsystem in distributed automated learning systems]: dis. ... kand. tekhn. nauk: 05.13.13. M., 2002. 200 p.

6. Fayzrakhmanov R.A., Polevshchikov I.S., Khabibulin A.F., Shkliaev F.I., Fayzrakhmanov R.R. ANYCRANE: Towards a better Port Crane Simulator for Training Operators. Proc. of the 15th International Industrial Simulation Conference (ISC'2017), Warsaw (Poland), 31 May - 1 June 2017. pp. 85-87.

7. Fayzrakhmanov R.A., Polevshchikov I.S. World Applied Sciences Journal. 2013. Vol. 22. № SPL.ISSUE2. pp. 70-75. URL: idosi.org/wasj/wasj22 (tt) 13/12.pdf.

8. Zorin Yu.A., Posov I.A. Komp'yuternye instrumenty v obrazovanii. 2014. №1. pp. 14-25.

9. Kalin M.V., Polevshchikov I.S. Innovatsionnye tekhnologii: teoriya, instrumenty, praktika. 2017. Vol. 1. pp. 45-51.

10. Polevshchikov I.S. Reshenie. 2018. Vol. 1. pp. 191-193.

i Надоели баннеры? Вы всегда можете отключить рекламу.