2.5. Вывод результатов пользователю Пользователю предоставляется статистика по результатам работы системы:
Информация относительно профессии с самой высокой оценкой: ее название, собственно оценка, компетенции с минимальным и максимальным значениями, список рекомендуемых курсов, ссылка для поиска вакансий на сайте hh.ru по рекомендованной профессии;
Значения всех компетенций в виде линейной диаграммы и в табличной форме;
Оценки по профессиям в виде линейной диаграммы и в табличной форме;
Детализации оценки по любой из профессий - значения и важность всех составляющих компетенций;
Частично заполненную форму для генерации резюме. Сайт hh.ru в России является одним из самых популярных по посещению и использованию. Форма резюме во многом основана на содержании резюме на сайте hh.ru. Она содержит исчерпывающую информацию о человеке, является уже привычной для многих работодателей;
Пользователь должен заполнить пустые поля в форме резюме, после чего запросить его в текстовом или pdf формате;
В зависимости от решения пользователя, в браузере либо открывается страница с резюме в текстовом виде, либо появляется приглашение сохранить файл CV.pdf, в котором содержится сгенерированное резюме. Форма генерируемого резюме с использованием тестовых данных изображена на рисунке:
Рис. 2.5. Пример конечной формы резюме
3. Тестирование и отладка Тестирование – процесс анализа программного обеспечения, направленный на поиск отличий между требуемыми результатами выполнения программы и результатам реальными[11].
Для системы автоматизированное составления резюме были разработаны тестовые программы, для следующих типов тестирования:
Функциональное - направленное на демонстрацию правильности функционирования приложения, в соответствии с выбранными алгоритмами;
Тестирование графического интерфейса - необходимое для проверки правильности работы интерфейса веб-приложений, которые будут использоваться;
Нагрузочное - предназначенное для оценки корректности функционирования системы при увеличении нагрузки (количества запросов);
Комплексное - для оценки работы системы с реальными массивами данных, с учетом всех возможностей, предлагаемой модели.
3.1. Функциональное тестирование Функциональное тестирование проводилось по следующей методике. В базу данных приложения был внесен тестовый пакет данных, состоящий из:
Одной учетной записи студента: Иванов Иван;
Двух курсов со следующими атрибутами
Таблица 3.1. Функциональное тестирование. Информация по курсам
-
Курс
| Лекции
| Часы семинаров
| Часы лабораторных работ
| Часы самостоятельной работы
| Наличие курсового проекта
| Наличие экзамена
| Компьютерная графика
| 30
| 30
| 30
| 30
| -
| +
| Информатика
| 25
| 25
| 25
| 25
| -
| +
| Четырех компетенций:
Таблица 3.2. Функциональное тестирование. Информация по компетенциям
-
Курс
| Компетенция
| Доля в курсе
| Полнота изучения навыка в курсе
| Компьютерная графика
| Растровые редакторы
| 50
| 70
| Компьютерная графика
| Векторные редакторы
| 50
| 90
| Информатика
| Программирование на ЯВУ
| 90
| 80
| Информатика
| Архитектура информационных систем
| 10
| 40
| Двух профессий:
Таблица 3.3. Функциональное тестирование. Информация по профессиям
-
Профессия
| Компетенция
| Важность компетенции
| Разработчик интерфейсов
| Растровые редакторы
| 50
|
| Программирование на ЯВУ
| 40
|
| Векторные редакторы
| 10
| Архитектор ИС
| Архитектура информационных систем
| 70
|
| Программирование на ЯВУ
| 30
|
Набора общих оценок для студента Ивана Иванова:
Компьютерная графика: итоговая оценка - 100 (по 100-бальной шкале), средняя - 90;
Информатика: итоговая оценка - 67, средняя - 50;
Набора оценок по компетенциям для студента Ивана Иванова:
Растровые редакторы - 60;
Векторные редакторы - 100.
Данный набор тестовых данных не призван отразить реальные данные для существующей учебной программы, а предназначен исключительно для удобной оценки результатов тестирования. Для выбранного тестового набора данных были подсчитаны результаты, которые необходимо представить студента (Иван Иванов) по результатам взаимодействия с интерфейсом пользователя, исходя из выбранных алгоритмов. Для данной ситуации, очевидно, подсчет значений всех компетенций будет подходом с использованием коэффициентов методиста, так как они заданы для каждой из компетенций. В результате подсчетов по существующей модели были получены следующие значения для компетенций:
Растровые редакторы - 50;
Векторные редакторы - 90;
Программирования на ЯВУ - 44;
Архитектура информационных систем - 22;
Разработчик интерфейсов - 51;
Архитектор ИС - 28;
На рис. 3.1. изображены значения подсчитанных компетенций и оценок по профессиям:
Рис. 3.1. Функциональное тестирование. Вывод значений компетенций и профессий
Затем был проведен тестовый прогон программы, который подтвердил корректность работы алгоритма, после сопоставление с вышеописанными значениями. Все последующие тестовые прогоны осуществлялись по следующему принципу: менялся один из параметров относительно первого входного набора (который в дальнейшем будет именоваться базовым) или относительно одного из уже проделанных (для таких тестов приводится ссылка на тот тест, который является для них опорным, с точки зрения модификации входных данных), делалось предположение на основе разработанного алгоритма, каким именно образом это изменение повлияет на конечный результат. Затем полученный результат в рамках прогона сопоставлялся с ожидаемым. Далее описано множество этих тестовых прогонов с учетом изменения входного набора данных и полученного результата. Некоторые из них рассмотрены отдельно, некоторые сгруппированы для более наглядного представления:
Добавление новых учетных записей пользователей, добавление оценок для них, добавление курсов, с которыми не связана ни одна компетенция, добавление профессий, с которым не связана ни одна из компетенций, добавление новых записей в таблицу ПО. Все эти изменения не должны иметь никакого эффекта на итоговые значения компетенций и оценок. При этом программа, разумеется, должна работать без каких бы то ни было побочных эффектов и формировать конечный результат идентичный первому тестовому прогону;
Увеличение количества часов всех типов на 10 для курса КГ относительно базового прогона и добавления информации о курсовом проекте по этому курсу. Эти изменения никак не должны повлиять на результат, так как при текущих параметрах компетенций, все расчеты ведутся с учетом коэффициентов методиста и безотносительно часов, которые были потрачены на ту или иную компетенцию;
Уменьшение доли от общего времени курса для компетенции "Векторные редакторы" до 30% и увеличение этой доли для компетенции "Растровые редакторы" до 70%. Никак не должно отразиться на итоговых результатах, как и для теста 2;
Изменение итоговой оценки по курсу КГ на 67. Должно привести к уменьшению значения компетенций "Векторные редакторы" и "Растровые редакторы", а следовательно и к новой, более низкой, оценке по профессии "Разработчик интерфейсов". Ожидаемые значения:
Растровые редакторы - 43;
Векторные редакторы – 81;
Разработчик интерфейсов - 46;
Аналогичные изменения в меньшую сторону средней оценки и оценки по компетенции, которые должны привести, к уменьшению значений компетенций и оценки по компетенции, в соответствии с заданными коэффициентами влияния для этих оценок;
Изменение набора оценок: удаление оценки за компетенцию "Растровые редакторы". Должно привести к изменению формулы для подсчета взвешенной оценки по этой компетенции. Исходя из того, что эта оценка была ниже средней и итоговой, после ее удаления значение компетенции должно увеличиться. Должна также увеличиться оценка по професии "Разработчик интерфейсов":
Растровые редакторы – 65;
Разработчик интерфейсов - 58;
Также удалялась средняя оценка, что также должно привести к другой формуле подсчета взвешенной оценки по компетенции, и соответствующему изменению значения компетенции и оценки по профессии;
Изменение коэффициентов важности компетенций для профессии "Разработчик интерфейсов" на следующее: "Растровые редакторы" (важность 50%), "Программирование на ЯВУ" (10%), "Векторные редакторы" (40%). Исходя из подобранных оценок, очевидно, что оценка по профессии должна увеличиться, так как возрастает значимость компетенции "Векторные редакторы", значение которой относительно велико, и уменьшается значимость компетенции "Программирование на ЯВУ", значение которой относительно низкое:
Разработчик интерфейсов - 65;
Изменение формы контроля для курса КГ на зачет и, соответственно, удаление итоговой оценки по курсу. Должно привести к изменению формулы расчета взвешенной оценки для компетенций "Векторные редакторы" и "Растровые редакторы", а соответственно и оценки по профессии "Разработчик интерфейсов":
Растровые редакторы – 48;
Векторные редакторы – 87;
Разработчик интерфейсов - 49;
Добавление нового курса "Инженерная графика", одна из компетенций которого "Векторные редакторы", с коэффицентом полноты изучения 10%. Также добавляются итоговая и средняя оценка по курсу - 100 и 100. Это должно привести к увеличению значения компетенции "Векторные редакторы". Такой тест должен показать корректность функционирования системы для ситуации, когда компетенция изучается в нескольких курсах:
Векторные редакторы – 100;
Разработчик интерфейсов - 52;
Уменьшение значения коэффициента методиста для полноты изучения навыка в курсе по компетенции "Программирование на ЯВУ" до 40%. Должно привести к уменьшению значения этой компетенции и уменьшению оценки по профессиям "Разработчик интерфейсов" и "Архитектор ИТ", так как эта компетенция нужна для обеих профессий.
Программирование на ЯВУ - 22;
Разработчик интерфейсов - 42;
Архитектор ИС – 21;
Удаление коэффициентов методиста для полноты изучения навыков в компетенциях для курса КГ. Это должно привести к изменению алгоритма подсчета оценок по всем компетенциям в данном курсе: теперь в расчет принимаются часы, которые были выделены на курс КГ и на отдельные компетенции в нем. При этом значения компетенций "Программирование на ЯВУ", "Архитектура информационных систем" не должны меняться - для них по-прежнему будет работать алгоритм с коэффицентами методиста. Все последующие тестовые прогоны использует в качестве опорного данный, 10-ый при изменении входных параметров.
Растровые редакторы - 38;
Векторные редакторы - 53;
Программирование на ЯВУ - 44;
Архитектура информационных систем - 22;
Разработчик интерфейсов - 41;
Архитектор ИС - 28;
Рис. 4. Функциональное тестирование. Значения компетенций и профессий (с использованием часов)
Тесты 4-8, проведенные относительно опорного 10-ого прогона. Таким образом, можно убедиться в правильности влияния набора оценок и их значений на значения компетенций, в правильности влияния коэффициента значимости для компетенций в профессиях на оценку по профессии и в корректности работы системы для случая, когда одна компетенция изучается в нескольких курсах, при использовании алгоритма подсчета значений компетенций с использованием часов в отсутствие коэффициентов от методиста;
Увеличение количества лекционных часов по курсу КГ до 50 относительно опорного 10-ого прогона. В этой ситуации значения компетенций, изучаемых в курсе, должны увеличиться, как и оценки, связанных с ними профессий:
Растровые редакторы - 41;
Векторные редакторы - 56;
Разработчик интерфейсов - 42;
Уменьшение доли времени, которая в курсе КГ отводится на компетенцию "Векторные редакторы" до 20% и увеличение этой доли для компетенции "Растровые редакторы" до 80%, относительно опорного 10-ого прогона. Должно привести к уменьшению и увеличению значений, соотвественно, первой и второй компетенций. И к изменению оценки для профессии "Разработчик интерфейсов":
Растровые редакторы - 61;
Векторные редакторы - 21;
Разработчик интерфейсов - 49;
Добавление в курс КГ информации о наличии курсового проекта. Из-за этого изменения, часы самостоятельной работы по курсу будут иметь большую ценность, нежели чем без курсового проекта, что приведет к увеличению значений всех компетенций по курсу и оценки по соответствующей профессии:
Растровые редакторы - 48;
Векторные редакторы - 67;
Разработчик интерфейсов - 47;
Увеличение количества лабораторных часов по курсу информатика до 35. Это изменение должно иметь следующий эффект, который на первый взгляд, может показаться неожиданным: значения компетенций из курса информатика не изменятся, так как для их расчета требуются коэффициенты методиста, а часы не нужны. Но, при этом изменятся значения компетенций по курсу КГ. Это произойдет из-за того, что общее количество взвешенных часов для компетенции "Программирование на ЯВУ" (которая и до этого являлась компетенцией с максимальным количеством часов обучения) увеличится. Что приведет к уменьшению оценки по всем компетенциям, для которых в алгоритме расчета значений используются часы:
Растровые редакторы - 33;
Векторные редакторы - 45;
Программирование на ЯВУ - 44;
Архитектура информационных систем - 22;
Разработчик интерфейсов - 37;
Архитектор ИС - 28.
Проведенные тесты показали, что выходные данные соответствуют ожиданиям для тестовых прогонов, что свидетельствует о корректности реализации тех алгоритмов, которые были заложены в систему. Благодаря разработанной тестовой программе, удалось исследовать все факторы влияния на итоговые значения компетенций и оценок по профессиям и убедиться в правильности уровня этого влияния на конечный результат.
Для проведения функционального тестирования модуля синхронизации с базой LMS Moodle была решено воспользоваться методом полного перебора: всего существует 4 типа обновлений данных из базы LMS (курсов, студентов, средних оценок, оценок по компетенциям). Были сделаны тестовые прогоны для всех комбинаций этих обновлений: по одному, по два, по три и все вместе. Первые два типа обновлений не имеют никакой привязки к той информации, которая уже хранится в базе. Обновления оценок же требуют наличия в базе студентов и курсов, студентов и компетенций с идентификаторами заданий по этим компетенциям, для средних оценок и оценок по компетенциям соответственно. Из-за этого обновления таблиц оценок для базы, где нет необходимых данных для определения критерив выборки этих оценок, не могут увенчаться успехом, что в то же время не приводит к ошибкам самого приложения. Были протестированы оба механизма запуска обновлений - по таймауту (когда разница между текущей датой и датой последнего обновления такого типа больше заданного администратором значения) и вручную администратором.
|