Как составить тест на модуле

В предыдущей статье я рассказал о создании лекции в Moodle. В этой мы разберём, как создать и настроить тест, чтобы пользователи не списывали, а результаты были достоверными.

Попутно мы создадим небольшой тест, чтобы сразу закрепить теорию на практике. Для этого вам понадобится текст вопросов.

Я буду работать через свой аккаунт в облачной версии СДО Moodle Cloud. Повторяйте за мной, следуя инструкции, или посмотрите видеоинструкцию:

Пошаговая инструкция по созданию тестов в Moodle

Обычно на создание теста в Moodle у новичков уходит от часа до двух. Большую часть времени занимает знакомство с интерфейсом и логикой программы. Есть способ сделать тест вдвое быстрее при помощи конструктора iSpring Suite. Как в нём работать, тоже расскажу. А вы решите, какой инструмент вам больше подходит.

Теперь к делу.

Нельзя просто открыть Moodle и собрать тест. Сперва придётся создать курс, прописать название и только потом сюда можно добавить проверочные задания. Такая у Moodle логика.

Чтобы создать курс, перейдите во вкладку АдминистрированиеКурсыДобавить курс.

После перейдите во вкладку Формат курса.  Курс в Moodle, как книга. Он состоит из отдельных глав — разделов, в которые добавляют теорию и практические задания. Сколько разделов понадобится для обучения, обычно выбирают заранее. Сейчас достаточно одного, поскольку мы создаём только тест. Поставьте «1» напротив строки Количество разделов.

Выставите в курсе нужное число разделов. У меня в курсе будет один раздел

Ниже на странице курса есть ряд настроек: дата начала и окончания обучения, внешний вид курса. Займёмся ими после. Пока промотайте страницу до конца и нажмите Сохранить и Показать.

Курс готов. Остаётся присвоить себе роль управляющего, тогда курс появится в личном кабинете. Если этого не сделать, заготовку придётся долго искать в панели администратора. Поэтому в новом окне нажмите Запись пользователей на курс, введите своё имя, в выпадающем списке ролей выберите Управляющий и сохраните настройки.

Назначьте себя управляющим,чтобы быстро найти курс в Moodle

Если этого не сделать, заготовку придётся долго искать в панели администратора.

Шаг 2. Добавляем и настраиваем тест

Смотрите видео по созданию теста или читайте инструкцию ниже

Теперь в курс можно добавить тест. Для этого нажмите Перейти к курсу → Добавить элементы или ресурс. На экране появится меню инструментов Moodle. В разделе Элементы курса выберите тест.

Сперва укажите название теста и заполните описание. Важно также правильно выставить ряд настроек, чтобы ваши студенты или сотрудники не списывали. Подробно о каждой опции описано в документации Moodle. Мы рассмотрим необходимый минимум.

Настройка № 1. Синхронизация — защищаем тест от списывания

По умолчанию время на решение теста не ограничено — пользователь может начать тестирование сегодня, а закончить через три дня, спокойно списав ответы из учебника. В этом случае система незаслуженно поставит ему пятёрку за экзамен.

Чтобы получить объективные результаты, укажем период тестирования и ограничим время теста.

Указываем период тестирования. Сперва выберем дату и время начала тестирования. Например, 17 сентября в 11.00 — в это время тест автоматически откроется. До этого момента студенты в личном кабинете будут видеть только описание предстоящего экзамена.

Завершение тестирования выставим на следующий полдень — ровно в 12.00 тест закроется. Если пользователь не ответил на вопросы в срок, он автоматом получит незачёт.

Укажите начало и окончание тестирования

Ограничиваем время теста. Обычно я даю студентам 30 минут или час, но можно и больше — всё зависит от сложности проверочных заданий.

Когда пользователь начнёт отвечать на вопросы, то увидит таймер с обратным отсчётом. Он показывает, сколько времени остается на прохождение экзамена. Когда время истечет, тест автоматически закроется.

Ограничьте тест по времени. Я обычно ставлю 30 минут

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

Настройка № 2. Оценка — выставляем проходной балл

При стандартных настройках ваши сотрудники вправе отвечать на один и тот же вопрос, пока не надоест. В итоге тест можно пройти методом тыка — допустили ошибку, тут же поменяли вариант ответа. И так до бесконечности, пока не набрали максимальный балл.

Чтобы сотрудники не играли в угадайку, ограничим число попыток и выставим проходной балл.

Ограничиваем число попыток. Если это контрольное тестирование, я ставлю одну попытку. Три — в тренировочном.

Ограничьте число попыток, чтобы пользователи не решали тест методом тыка

Проходной балл. Это допустимый минимум для сдачи. Оценка выше проходного балла выделяется в журнале зеленым, а ниже проходного балла — красным.

Выставите проходной балл — это допустимый минимум для сдачи

Поскольку у меня в тесте будет всего два вопроса, для его сдачи достаточно одного балла.

Настройка № 3. Расположение — структурируем вопросы

Вы можете сгруппировать задания по блокам, поместить каждый вопрос на отдельной странице или все на одной.

Если все вопросы на одной странице, сразу виден объём работы

Я использую последний вариант,  чтобы сотрудники сразу видели объём работы и правильно распределяли время.

Настройка № 4. Свойства вопроса — задаём случайный порядок ответов

Выберите Да в случайном порядке ответов. Тогда ответы на вопросы в тесте будут перемешиваться у каждого пользователя — воспользоваться шпаргалкой будет сложнее.

В свойствах вопроса выставите случайный порядок ответа

Настройка № 5. Итоговый отзыв — даём обратную связь по тесту

Итоговый отзыв — сообщение, которое видит пользователь после тестирования. Текст сообщения меняется в зависимости от набранного балла: отличников можно похвалить, а двоечникам рассказать о правилах пересдачи.

Итоговый отзыв — это обратная связь для сотрудников

С основными настройками разобрались,  остальное оставим по умолчанию. Нажмите Сохранить и показать. Система отправит нас на новую страницу:

Когда вы сохраните тест, система отправит на эту страницу

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

В моём тесте всего два вопроса, поэтому пользователь наберёт максимум два балла.

Впишите максимальную оценку за тест. В моём случае — это 2 балла

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

Шаг 3. Собираем задания для теста

В облачной версии Moodle 15 типов вопросов для точной проверки знаний.

Чтобы освоить алгоритм работы над тестом, создадим два самых популярных задания: «Верно/Неверно» и «Множественный выбор». Освоив алгоритм работы, вы легко создадите другие типы заданий самостоятельно.

Тип вопроса «Верно/Неверно»

Чтобы добавить проверочное задание, нажмите Редактировать тестДобавитьНовый вопросВерно/НеверноДобавить.

В появившемся окне введите название и текст вопроса — для этого воспользуйтесь шаблоном. Через панель инструментов вы также можете добавить в задание фото, видео, озвучку или ссылку на дополнительный материал по теме.

Вы также можете добавить в задание фото, видео и озвучку

Выставляем правильный ответ. В нашем случае утверждение в задании правильное. Потому в настройках выберите Верно.

Из списка ответов выберите правильный

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

Чтобы опубликовать задание, нажмите Сохранить. Готовый вопрос выглядит так:

Так выглядит готовый вопрос «Верно/Неверно»

Переходим к следующему типу вопроса — «Множественный выбор».

Тип вопроса «Множественный выбор»

Чтобы добавить задание на множественный выбор, нажмите ДобавитьНовый вопросМножественный выборДобавить. Пропишите название, текст вопроса и варианты ответов из шаблона.

В задании на множественный выбор может быть один или несколько правильных вариантов ответа. В нашем примере только один верный ответ. Так и укажем в настройках:

Выберите, сколько верных ответов будет в задании

Теперь выберем правильный ответ и выставим для него оценку в 100%. Остальные ответы ложные — за них не даём награды.

Выставите оценку за правильный ответ

Остальные настройки оставим по умолчанию, нажмите Сохранить. Готовое задание выглядит так:

Так выглядит готовый вопрос «Множественный выбор»

У вас на выбор есть ещё несколько настроек отображения:

  • Правилен ли ответ — тест покажет ошибся ли пользователь или ответил правильно.
  • Баллы — пользователь видит сколько баллов набрал за ответ
  • Общий отзыв к вопросу — обратная связь для пользователя после ответа.

Чтобы активировать эти настройки, нажмите Предварительный просмотр и выберите в новом окне нужные опции.

Список дополнительных настроек для задания

Тест готов. Осталось назначить его пользователям и отслеживать результаты по отчетам во вкладке «Оценки».

Шаг 4. Открываем Банк вопросов

Мы рассмотрели с вами, как создать с нуля проверочные задания для конкретного курса. Если вы планируете регулярно проводить срезы знаний, удобнее использовать банк вопросов.

Банк вопросов — общий склад для проверочных заданий Moodle. Здесь хранятся все вопросы, которые вы когда-либо создали. Если вам нужно собрать тест для нового курса,  не нужно делать всё с нуля — вы просто копируете заготовки из банка.. Банк вопросов экономит время.

Два задания, которые мы собрали сегодня, уже в банке вопросов. Чтобы их посмотреть, перейдите в курс через личный кабинет.

Чтобы открыть банк вопросов, зайдите в курс, нажмите на шестерёнку и выберите «Больше»

В появившемся списке выберите раздел Банк вопросов. Здесь вы можете создать новые задания или посмотреть старые.

Банк вопросов хранит все когда-либо созданные задания

Вследующий раз вы можете создать все задания здесь и собрать из них новый тест.

Собираем тест в iSpring Suite — простая альтернатива

У Moodle широкий набор возможностей для теста, но из-за большого количества настроек интерфейс выглядит перегруженным. Новичку сложно отыскать нужную опцию, не заглядывая в документацию.

К принципу работы нужно тоже привыкнуть: чтобы создать тест, приходится отдельно настраивать курс, задавать параметры тестирования и каждого задания. В итоге работа затягивается.

Решить задачу быстрее поможет конструктор iSpring Suite. Вы собираете интерактивный тест из готовых шаблонов в одном окне, не переключаясь между многочисленными страницами. Готовый тест совместим с Moodle и подстраивается под любой размер экрана. Вот пример:

Рассмотрим на практике, как создать тест в iSpring Suite. Работать будем с тем же шаблоном, что и в Moodle.

1. Выбираем тип вопроса для теста

Запустите iSpring Suite и в появившемся окне выберите раздел Тест → Новый тест. Перед вами появится окно для создания проверочных заданий.

Нажмите на кнопку Вопрос в верхнем меню и выберите тип вопроса из списка. В вашем распоряжении арсенал из 14 вариантов заданий для проверки знаний.

По иконкам из списка можно понять, как вопрос будет выглядеть на слайде

Добавим вопрос «Верно/Неверно» и введем текст из знакомого шаблона. Часть абзаца выделим жирным, чтобы лучше считывалось задание.  У конструктора привычный интерфейс Microsoft Word, потому работать с текстом удобно.

Напишите текст вопроса

2. Добавляем обратную связь

Ниже в разделе «Обратная связь и ветвление» пропишите комментарий для сотрудника и назначьте баллы за правильный ответ.

После завершения теста пользователю автоматически покажут итоговый слайд: набрал он проходной балл или нет. Изменить текст и оформление этого слайда можно в разделе Результаты.

Финальный слайд теста в iSpring

Изменить текст и оформления финального слайда можно в разделе Результаты.

3. Защищаем тест от списывания

Чтобы пользователи не списывали во время теста, ограничим число попыток и время на решение вопроса в свойствах слайда.

В свойствах слайда ограничим число попыток и время на решение вопроса

Здесь же можно выставить автоматическое смешивание, чтобы варианты ответов у пользователей отображались в разном порядке.

4. Настраиваем дизайн вопросов

Для быстрого оформления теста iSpring Suite предлагает 36 готовых тем и 19 цветовых профилей. Они находятся в разделе Темы.

Для оформление теста используйте один из 36 шаблонов

Вы можете настроить шрифты, добавить надписи, изображения и фигуры — сделать это так же легко, как в PowerPoint.

Первый вопрос готов. Второй делаем по аналогии. Итоговый результат выглядит так:

5. Публикуем тест

Готовый тест нужно опубликовать. Для этого нажмите на кнопку Публикация в верхнем меню и выберите СДО. Через эту настройку можно подготовить тест для Moodle.

Чтобы опубликовать тест, выберите раздел СДО

Выберите папку, в которую программа сохранит тест. В графе Профиль СДО по умолчанию оставим SCORM 1.2 — это формат файла, понятный для Moodle. Нажмите Опубликовать — архив с тестом появится в указанной папке.

6. Загружаем тест в Moodle

Откройте лекцию в Moodle и нажмите Добавить элемент или ресурс напротив соответствующей темы. Из выпадающего списка выберите Пакет SCORM → Добавить.

Готовый тест загружаем в SCORM-пакете

А дальше просто: загрузите тест, напишите его название, нажмите Сохранить и показатьВойти. Moodle запустит готовый тест.

Так выглядит готовый тест в Moodle

Тест можно назначить сотрудникам и отслеживать их результаты по отчётам.

FAQ — ответы на часто задаваемые вопросы

В этом разделе разберём популярные вопросы по созданию тестов в Moodle, которые присылают наши читатели.

1. Как загрузить готовый тест в Moodle

Вы можете создать тест при помощи встроенных инструментов Moodle или загрузить в систему уже готовые вопросы, собранные в сторонней программе, например, iSpring Suite.

Чтобы загрузить готовый тест в Moodle, сперва сохраните его на компьютер в формате SCORM — это международный стандарт для электронного учебного материала. Если ваш курс или тест опубликован в SCORM, его поймёт любая система дистанционного обучения. В частности, Moodle.

Выберите формат SCORM при публикации теста на компьютер. Если вы работаете в iSpring Suite, оно публикации выглядит так:

Готовый SCORM-файл загрузите в СДО через раздел Добавить элемент или ресурс. Как это сделать, читайте в отдельной инструкции.

2. Как удалить попытку теста в Moodle у слушателя?

Откройте в Moodle тест, из которого хотите удалить лишние попытки студентов. В графе Попытки выберите нужный раздел.

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

Как удалить попытку теста в Moodle

3. Как поставить в виде варианта ответа картинку

Рассмотрим весь алгоритм на примере создания вопроса Множественный выбор.

  1. Чтобы добавить в тест проверочное задание, нажмите Редактировать тестДобавитьНовый вопрос.

    Редактирование теста

  2. В появившемся окне выберите тип задания Множественный выбор и нажмите  Добавить.

    Выбор типа вопроса для теста

  3. Введите название и текст вопроса, выставите проходной балл и количество верных ответов.

    Создание теста на выбор картинки

  4. Перейдём к ответам. На панеле инструментов выберите иконку с изображением картинки.

    Выбор варианта ответа в виде картинки

  5. В появившемся окне нажмите Выбрать из хранилища и загрузите с компьютера нужную картинку.

  6. Укажите размер иллюстрации и описание. Его увидят пользователи с плохим интернетом, если картинка не загрузится. Поскольку первый вариант ответа в примере, я выставлю за него оценку в 100%. Другие варианты ответов оформите по аналогии. Готовые задание выглядит так:

    Пример теста в Moodle c вариантами ответов в виде картинок

Резюме

Мы рассмотрели два способа создания теста: через встроенный редактор Moodle и конструктор iSpring Suite.

В Moodle можно бесплатно собрать тест с разными типами вопросов. Главный минус — сложный интерфейс и куча настроек.

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

Конструктор тестов — лишь одна из возможностей в наборе iSpring Suite. При помощи инструмента вы также сконвертируете PowerPoint-презентацию в электронный курс, создадите диалоговый тренажер и смонтируете видео. Все видеогифки из статьи я делал в iSpring Suite.

У инструмента есть бесплатная пробная версия на 14 дней. Этого хватит, чтобы собрать с десяток тестов для Moodle.

Создание Теста в Moodle состоит из 2-х этапов:

  1. создание тестовых вопросов и занесение их в Банк вопросов;
  2.  создание и настройка элемента Тест

1.1  в Настройках в «Управление курсом» кликните на Банк вопросов (БВ).

Рекомендуем для большого количества тестовых вопросов создавать Категории для сортировки тестовых вопросов по каким либо признакам (темам, степени сложности и т.д.)

1.2 в БВ кликаем на «Вопросы» и переходим к созданию вопросов=> «Создать новый вопрос»

1.3 из появившегося на экране меню выбрать тип вопроса (допустим Множественный выбор)

1.4 заполняем появившиеся поля и сохраняем введенную информацию. 

Т.о. в БВ создаются тестовые вопросы

2.1 в Настройках в «Управление курсом» в режиме Редактирование нажать на кнопку «Добавить элемент или ресурс» и в появившемся меню выбрать Тест.

2.2 заполнить появившиеся поля, включающие основные характеристики Теста, — время проведения, продолжительность Теста, количество попыток и т.д.

Завершить Редактирование. Т.о. создан Тест, который теперь надо заполнить тестовыми вопросами из БВ

2.3 заходим в Тест, на экране появляется сообщение: «Пока не добавлено ни одного вопроса». Добавляем вопросы, нажимая на кнопку «Редактировать Тест».

С правой стороны нажимаем на  «Добавить» => «из банка вопросов» . В появившейся вкладке выбираем нужную Категорию и из нее тестовые вопросы. Кликаем на клавишу «Добавить выбранные вопросы в тест»

2.4 в правом верхнем углу впишите максимальную оценку за Тест

2.5 чтобы просмотреть, как выглядит Тест, в Настройках в «Управление тестом» нажимаем на «Просмотр»

Шаг 1. Создаём пустой курс в Moodle

Нельзя просто открыть Moodle и собрать тест. Сперва придётся создать курс, прописать название и только потом сюда можно добавить проверочные задания.

Чтобы создать курс, перейдите во вкладку Администрирование Курсы Добавить курс.

Обязательно укажите Полное и краткое название курса. И категорию курса.

Далее перейдите во вкладку Формат курса. Курс в Moodle, как книга. Он состоит из отдельных глав — разделов, в которые добавляют теорию и практические задания. Сколько разделов понадобится для обучения, обычно выбирают заранее. Поставьте нужное количество разделом напротив строки Количество разделов.

Нажмите Сохранить и Показать.

Курс готов. Остаётся присвоить себе роль управляющего, тогда курс появится в личном кабинете. Если этого не сделать, заготовку придётся долго искать в панели администратора. Поэтому в новом окне нажмите Запись пользователей на курс, введите своё имя, в выпадающем списке ролей выберите Управляющий и сохраните настройки.

Шаг 2. Добавляем и настраиваем тест

Теперь в курс можно добавить тест. Для этого нажмите Перейти к курсу. Перейти в Режим редактирования.

Далее Добавить элементы или ресурс. На экране появится меню инструментов Moodle. В разделе Элементы курса выберите Тест.

Укажите название теста и заполните вступление. Важно также правильно выставить ряд настроек, чтобы ваши тестируемые не списывали.

Настройка № 1. Синхронизация — защищаем тест от списывания

По умолчанию время на решение теста не ограничено — пользователь может начать тестирование сегодня, а закончить через три дня, спокойно списав ответы из учебника. В этом случае система незаслуженно поставит ему пятёрку за экзамен.

Период тестирования. Установите дату и время начала тестирования. Например, 17 июля в 11.00 — в это время тест автоматически откроется. До этого момента участники в личном кабинете будут видеть только описание предстоящего экзамена.

Установите дату окончания тестирования. Например, 18 июля в 12.00 тест закроется. Если пользователь не ответил на вопросы в срок, он автоматом получит незачёт.

Ограничиваем время теста. Когда пользователь начнёт отвечать на вопросы, то увидит таймер с обратным отсчётом. Он показывает, сколько времени остается на прохождение экзамена. Когда время истечет, тест автоматически закроется.

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

Настройка № 2. Оценка — выставляем проходной балл

При стандартных настройках ваши тестируемые вправе отвечать на один и тот же вопрос, пока не надоест. Ограничим число попыток и выставим проходной балл.

Ограничиваем число попыток.

Проходной балл. Это допустимый минимум для сдачи. Оценка выше проходного балла выделяется в журнале зеленым, а ниже проходного балла — красным.

Настройка № 3. Расположение — структурируем вопросы

Вы можете сгруппировать задания по блокам, поместить каждый вопрос на отдельной странице или все на одной.

Настройка № 4. Свойства вопроса — задаём случайный порядок ответов

При выборе Да в случайном порядке ответов, ответы на вопросы в тесте будут перемешиваться у каждого пользователя — воспользоваться шпаргалкой будет сложнее.

Настройка № 5. Итоговый отзыв — даём обратную связь по тесту

Итоговый отзыв — сообщение, которое видит пользователь после тестирования. Текст сообщения меняется в зависимости от набранного балла: отличников можно похвалить, а двоечникам рассказать о правилах пересдачи.

Основные настройки заполнены. Нажмите Сохранить и показать. Система отправит нас на новую страницу. Здесь вы видите все заполненные вами поля:

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

Шаг 3. Собираем задания для теста

В облачной версии Moodle 15 типов вопросов для точной проверки знаний. Чтобы освоить алгоритм работы над тестом, создадим два самых популярных задания: «Верно/Неверно» и «Множественный выбор». Освоив алгоритм работы, вы легко создадите другие типы заданий самостоятельно.

Тип вопроса «Верно/Неверно»

Чтобы добавить проверочное задание, нажмите Редактировать тест.

Добавить Новый вопрос. В окне «Выберите тип вопроса для добавления» выберите Верно/Неверно Добавить.

В появившемся окне введите название и текст вопроса. Через панель инструментов вы также можете добавить в задание фото, видео, озвучку или ссылку на дополнительный материал по теме.

Выставляем правильный ответ. В нашем случае утверждение в задании правильное. Потому в настройках выберите Верно.

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

Чтобы опубликовать задание, нажмите Сохранить. Готовый вопрос выглядит так:

Переходим к следующему типу вопроса — «Множественный выбор».

Тип вопроса «Множественный выбор»

Чтобы добавить задание на множественный выбор, нажмите Добавить Новый вопрос Множественный выбор Добавить. Пропишите название, текст вопроса и варианты ответов.

В задании на множественный выбор может быть один или несколько правильных вариантов ответа. В нашем примере только один верный ответ. Так и укажем в настройках:

Теперь выберем правильный ответ и выставим для него оценку в 100%. Остальные ответы ложные — за них не даём награды.

Остальные настройки оставим по умолчанию, нажмите Сохранить. Готовое задание выглядит так:

У вас на выбор есть ещё несколько настроек отображения:

  • Правилен ли ответ — тест покажет ошибся ли пользователь или ответил правильно.
  • Баллы — пользователь видит сколько баллов набрал за ответ
  • Общий отзыв к вопросу — обратная связь для пользователя после ответа.

Чтобы активировать эти настройки, нажмите Предварительный просмотр и выберите в новом окне нужные опции.

Тест готов. Осталось назначить его пользователям и отслеживать результаты по отчетам во вкладке «Оценки».

Шаг 4. Открываем Банк вопросов

Если вы планируете регулярно проводить срезы знаний, удобнее использовать банк вопросов.

Банк вопросов — общий склад для проверочных заданий Moodle. Здесь хранятся все вопросы, которые вы когда-либо создали. Если вам нужно собрать тест для нового курса, вы просто копируете заготовки из банка. Банк вопросов экономит время.

Два задания, которые мы собрали сегодня, уже в банке вопросов. Чтобы их посмотреть, перейдите в курс через личный кабинет. Чтобы открыть банк вопросов, зайдите в курс, нажмите на шестерёнку и выберите «Больше»

В появившемся списке выберите раздел Банк вопросов. Здесь вы можете создать новые задания или посмотреть старые.

В следующий раз вы можете создать все задания здесь и собрать из них новый тест.

Как поставить в виде варианта ответа картинку

Рассмотрим алгоритм на примере создания вопроса Множественный выбор.

  1. Чтобы добавить в тест проверочное задание, нажмите Редактировать тест.
  2. Добавить Новый вопрос. В появившемся окне выберите тип задания Множественный выбор и нажмите Добавить.
  3. Введите название и текст вопроса, выставите проходной балл и количество верных ответов.
  4. Перейдём к ответам. На панели инструментов выберите иконку с изображением картинки.
  5. В появившемся окне нажмите Выбрать из хранилища и загрузите с компьютера нужную картинку.
  6. Укажите размер иллюстрации и описание. Его увидят пользователи с плохим интернетом, если картинка не загрузится. Готовые задание выглядит так:

Как создать задание теста с типом вопроса «Вложенный ответ» — вы можете узнать здесь

Как импортировать готовые тесты из текстового редактора — вы можете узнать здесь

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

1.Создаем курс

Так как тест является проверочным заданием в рамках обучающего курса, сначала вам необходимо его создать. Для этого вам нужно перейти во вкладку Администрирование Курсы Добавить курс.

После этого переходим во вкладку Формат курса. Курсы в Moodle делятся на разделы, в которые добавляют теоретический материал и задания для практики. Пока мы учимся создавать тест, нам вполне хватит одного раздела, поэтому ставим единицу напротив строки Количество разделов, а затем проматываем страницу вниз и нажимаем Сохранить и Показать.

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

2.Добавляем и редактируем тест

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

Далее вам нужно будет указать название теста и введение. Во введении отразите информацию, касающуюся прохождения теста: число попыток и правила оценки.

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

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

3.Составляем итоговый отзыв и завершаем редактирование

Итоговый отзыв — сообщение, которое увидит обучающийся после завершения тестирования. Текст сообщения изменяется в зависимости от набранного балла: кого-то можно будет поздравить с успешной сдачей, а с кем-то поделиться правилами для пересдачи.

Придумайте пожелания обучающимся, а затем нажмите Сохранить и показать.

4.Добавляем вопросы

Система Moodle предлагает к использованию вопросы разных типов:

  • в закрытой форме (множественный выбор). Вопрос имеет несколько вариантов ответов, из которых правильными являются один или несколько.
  • на соответствие. В этом случае требуется сопоставить элементы двух списков, причём во втором списке может быть больше элементов, чем в первом.
  • вопросы типа верно/неверно.
  • вопросы с коротким ответом. Ответом на такой вопрос является слово или фраза.
  • числовой. При ответе необходимо ввести число. Это удобно, если в вопросе требуется что-либо вычислить, поскольку вводимый ответ может иметь погрешность, задаваемую преподавателем.
  • вопрос с вложенным ответом. Он может содержать в тексте комбинацию выпадающего списка, поля для ввода короткого ответа и/или числового ответа.
  • эссе. Вопрос, требующий развёрнутого ответа, который проверяется преподавателем.
  • вычисляемый. Позволяет создавать числовые вопросы с использованием специальных подстановочных символов.

Если вы хотите разнообразить тест, то используйте несколько типов вопросов.

Чтобы добавить задание, нажмите Редактировать тестДобавитьНовый вопрос → *тип вопроса*→ Добавить.

В появившемся окошке вводим название и текст вопроса. Через панель инструментов можно добавить к нему фото, видео, аудио или ссылку на дополнительные материалы по теме.

5. Банк вопросов

Конечно, для своих тестов вы можете создавать вопросы с нуля, но если вы планируете часто проводить проверочные работы, гораздо удобнее пользоваться банком вопросов, ведь он сэкономит ваше время.

Это что-то вроде склада, где хранятся все вопросы, которые вы когда-либо создавали. Поэтому, когда вы решите собрать тест для нового курса, вам не придётся делать все заново — вы просто берете заготовки из банка.

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

Надеемся, наша статья помогла вам, и теперь вы можете самостоятельно создавать тест в системе Moodle. С инструкцией по установке этой системы на компьютер или хостинг вы можете ознакомиться по этой ссылке.

Если вы хотите получать информацию в сфере СДО самыми первыми — обязательно подписывайтесь на нашу рассылку. Мы всегда рады делиться знаниями!

Общая картина модульного тестирования

Время на прочтение
10 мин

Количество просмотров 31K

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

Тема модульного тестирования не так проста, как может показаться. Многие из нас, разработчиков, приходят в модульное тестирование под давлением клиентов, сотрудников, коллег, своих кумиров и так далее. Мы быстро понимаем его ценность, и, закончив технические приготовления, забываем об общей картине, если вообще когда-либо её понимали. В этой статье я вкратце расскажу о том, чем является и чем не является модульное тестирование как в целом, так и в PHP, а заодно опишу, какое место занимает модульное тестирование в сфере QA.

Что такое тестирование?

Прежде чем углубляться в модульные тесты, нужно изучить теорию самого тестирования, чтобы не делать ошибок вроде той, что совершили авторы одного из самых популярных PHP-фреймворков: на своём сайте они показали интеграционные тесты и назвали их модульными. Нет, Laravel, это не модульные тесты. Хотя это не мешает мне всё ещё любить этот фреймворк.

Тестирование ПО определяется как «расследование, проведённое с целью предоставления заинтересованным сторонам информации о качестве продукта». Этому противопоставляется «тестирование ПО — это пустая трата бюджета проекта разработчиками, которые не делают ничего важного, а затем просят ещё времени и денег, потому что «ничего» может быть весьма дорогим». Тут ничего нового.

Вот моя краткая история становления тестирования:

  • 1822 — Разностная машина (Difference engine) (Чарльз Бэббидж).
  • 1843 — Аналитическая машина (Analytical engine) (Ада Лавлейс).
  • 1878 — Эдисон вводит термин «баг».
  • 1957 — Тестирование и отладка программ (Чарльз Бэйкер).
  • 1958 — Первая команда тестирования ПО (Джеральд Вайнберг).
  • 1968 — Кризис ПО (Фридрих Бауэр).
  • 1970-е — Модель «водопад», реляционная модель, декомпозиция, критический анализ (Walkthrough), проектирование и инспектирование кода, качество и метрики, шаблоны проектирования.
  • 1980-е — CRUD-анализ, архитектура системы, автотестирование, V-модель, надёжность, стоимость качества, способы использования, шаблоны ООП-проектирования.
  • 1990-е — Scrum, usability-тестирование, MoSCoW, эвристическое тестирование, автоматизация ПО и тестирования.

Если вы относитесь к поколению миллениалов, как я, то, возможно, будете поражены, что команды тестировщиков существовали ЗАДОЛГО до вашего рождения. Остановитесь на минутку, вдохните, выдохните, успокойтесь.
История показывает, как в течение времени менялся тип тестирования, которое считалось «достаточно хорошим» для заинтересованных сторон. Примерные фазы, на что ориентировались при тестировании:

  • … — 1956 отладка
  • 1957 — 1978 демонстрация
  • 1979 — 1982 разрушение (destruction)
  • 1983 — 1987 оценка
  • 1988 — … предотвращение

Следовательно, модульное тестирование необходимо для предотвращения несоответствий между проектом и реализацией.

Чем на самом деле является тестирование?

Есть разные классификации тестирования ПО. Чтобы лучше понимать место модульного тестирования, упомяну лишь о наиболее широкораспространённых подходах.

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

Статическое и динамическое тестирование

Статическое тестирование проводится без исполнения кода. Сюда относится корректура, проверка, ревизия кода (при наблюдении за работой другого / парном программировании), критический анализ, инспекции и так далее.

Динамическое тестирование для получения корректных результатов требует исполнять код. Например, для модульных тестов, интеграционных, системных, приёмочных и прочих тестов. То есть тестирование проводится с использованием динамических данных, входных и выходных.

«Ящичный» подход

Согласно этому подходу, все тесты ПО делятся на три вида ящиков:

  • Тестирование типа «белый ящик» проверяет внутренние структуры и модули, игнорирует ожидаемую функциональность для конечных пользователей. Это может быть тестирование API, внесение неисправностей (fault injection), модульное тестирование, интеграционное тестирование.
  • Тестирование типа «чёрный ящик» больше интересуется тем, что делает ПО, а не как делает. Это означает, что тестировщики не обязаны ни разбираться в объекте тестирования, ни понимать, как он работает под капотом. Такой тип тестирования нацелен на конечных пользователей, их опыт взаимодействия с видимым интерфейсом. К «чёрным ящикам» относится тестирование на основе моделей, тестирование способов использования, таблицы переходов состояний, спецификационное тестирование и т. д.
  • Тестирование типа «серый ящик» проектируется со знанием программных алгоритмов и структур данных (белый ящик), но выполняется на пользовательском уровне (чёрный ящик). Сюда относится регрессионное тестирование и шаблонное тестирование (pattern testing).

Теперь, чтобы запутать вас, скажу, что модульное тестирование может относиться и к «чёрному ящику», поскольку вы можете разбираться в тестируемом модуле, но не во всей системе. Хотя для меня оно по-прежнему «белый ящик», и предлагаю вам с этим согласиться.

Уровни тестирования

Их количество варьируется, обычно, в диапазоне от 4 до 6, и все они полезны. Названия тоже бывают разные, в зависимости от принятой в компании культуры вы можете знать «интеграционные» тесты как «функциональные», «системные» тесты как «автоматизированные», и так далее. Для простоты я опишу 5 уровней:

  1. Модульное тестирование.
  2. Интеграционное тестирование.
  3. Тестирование интерфейсов компонентов.
  4. Системное тестирование.
  5. Эксплуатационное приёмочное тестирование.

Модульное тестирование проверяет функциональность конкретного куска кода, обычно по одной функции за раз. Интеграционное тестирование проверяет интерфейсы между компонентами, чтобы собранные воедино модули формировали систему, работающую, как задумано. Это важный момент, потому что большое количество тестов, которые называют модульными, на самом деле являются интеграционными тестами, а разработчики считают их модулями. Если подразумевается использование нескольких модулей — это тестирование интеграции между ними, а не самих модулей. Тестирование интерфейсов компонентов проверяет данные, передаваемые между разными модулями. Например, получили данные из модуля 1 — проверили — передали в модуль 2 — проверили. Системное тестирование — это сквозное тестирование ради проверки соблюдения всех требований. Эксплуатационное приёмочное тестирование выполняется для проверки готовности к эксплуатации. Оно не является функциональным, проверяется лишь работоспособность сервисов, не повреждают ли какие-то подсистемы среду и прочие сервисы.

Типы тестирования

Каждый тип тестирования, вне зависимости от его уровня, также может подразделяться на другие типы. Существует больше 20 общепринятых типов. Самые распространённые:

  • Регрессионное тестирование.
  • Приёмочное тестирование.
  • Дымовое (smoke) тестирование.
  • UAT
  • Разрушительное (Destructive) тестирование.
  • Тестирование производительности.
  • Непрерывное тестирование.
  • Usability-тестирование.
  • Тестирование безопасности.

Из названия понятно, для чего предназначен тот или иной тип тестирования. Жирным выделены модульные тесты в PHP. Если очень хочется, то к модульному тестированию можно применить каждый из этих терминов. Однако главной разновидностью модульных тестов являются тесты регрессионные, которые проверяют, все ли модули системы исполняются корректно после внесения изменений в код.

Теперь вы знаете, что модульные тесты являются динамическими, относятся к классу «белый ящик», выполняются на уровне модулей, представляют собой регрессионные тесты, но при этом под модульными тестами можно понимать многие разновидности тестов. Так что же такое на самом деле модульные тесты?

Что такое модульное тестирование?

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

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

И это справедливо. У модульных тестов масса достоинств. Они:

  • Изолируют каждую часть программы и проверяют её корректность.
  • Помогают рано обнаруживать проблемы.
  • Заставляют разработчиков мыслить в рамках входных, выходных и ошибочных условий.
  • Придают коду удобный для тестирования вид, облегчают будущий рефакторинг.
  • Упрощают интегрирование рабочих (!) модулей.
  • Частично заменяют техническую документацию.
  • Заставляют отделять интерфейс от реализации.
  • Доказывают, что код модуля работает так, как ожидалось (хотя бы математически).
  • Могут использоваться как низкоуровневые наборы регрессионных тестов.
  • Демонстрируют прогресс в незавершённой системной интеграции.
  • Снижают стоимость исправления багов (с TDD — ещё больше).
  • Позволяют улучшать архитектуру приложения с помощью определения ответственности модулей.
  • Если вы можете это протестировать, то можете присоединить к своей системе.
  • Модульное тестирование — это ВЕСЕЛО!

Однако, есть определённые ограничения, о которых вы подумали, вероятно, при чтении этого списка:

  • Модульное тестирование не вылавливает ошибки интегрирования.
  • Каждое булево выражение требует как минимум двух тестов, и количество быстро растёт.
  • Модульные тесты столь же глючные, как и тестируемый ими код.
  • Привязка тестов к паре конкретных фреймворков или библиотек может ограничить рабочий процесс.
  • Большинство тестов пишется после завершения разработки. Печально. Используйте TDD!
  • Возможно, после маленького рефакторинга система будет работать как прежде, но тесты будут сбоить.
  • Вырастает стоимость разработки.
  • Человеческая ошибка: комментирование сломанных тестов.
  • Человеческая ошибка: добавление в код обходных путей специально для прохождения модульных тестов.

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

Я часто обсуждал с коллегами и клиентами, что такое хороший модульный тест. Он:

  • Быстрый.
  • Автоматизированный.
  • Полностью управляет всеми своими зависимостями.
  • Надёжен: может запускаться в любом порядке, вне зависимости от других тестов.
  • Может запускаться только в памяти (никаких взаимодействий с БД, чтений/записей в файловой системе).
  • Всегда возвращает один результат.
  • Удобен для чтения и сопровождения.
  • Не тестирует SUT-конфигурацию (system under test).
  • Имеет чётко определённую ЕДИНСТВЕННУЮ ЗАДАЧУ.
  • Хорошо именован (и достаточно понятно, чтобы избежать отладки только ради выяснения, что же сбоит).

Тем, кто ухмыльнулся, прочитав «автоматизированный»: я не имел в виду интегрирование PHPUnit или JUnit в CI-конвейеры. Речь идёт о том, что если вы меняете код, сохраняете его и не знаете, проходят ли модули свои тесты, то они не автоматизированы, а должны бы. Выигрышный вариант — отслеживание файлов (File watcher).

Что нужно подвергать модульному тестированию?

В нормальных системах модульные тесты нужно писать для:

  • Модулей — неделимых изолированных частей системы, которые выполняют какую-то одну задачу (функция, метод, класс).
  • Публичных методов.
  • Защищённых методов, но только в редких случаях и когда никто не видит.
  • Багов и их исправлений.

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

Так что вы сами можете определять, что для вас является модулем. Или можете тестировать методы один за другим, упростив жизнь тому парню, что потом будет работать с кодом.

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

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

Что НЕ нужно тестировать

Чуть сложнее определить, что тестировать не нужно. Я постарался собрать список элементов, которые не нужно подвергать модульному тестированию:

  • Функциональность за пределами контекста (scope) модулей (!)
  • Интеграция модулей с другими модулями (!)
  • Неизолированное поведение (неимитируемые (unmockable) зависимости, настоящие БД, сеть)
  • Приватные, защищённые методы.
  • Статичные методы.
  • Внешние библиотеки.
  • Ваш фреймворк.

Уверен, не следует применять модульное тестирование ни к чему из вышеперечисленного, кроме статичных методов. Мне нравится аргументировать, что статичность, по сути, означает процедуральность, причём в многих случаях процедуральность глобальную. Если статичный метод вызывает другой статичный метод, то эту зависимость нельзя переопределить. А это значит, что вы теперь тестируете не изолированно. И тогда это уже не модульное тестирование. С другой стороны, это же часть кода, которая может жить сама по себе, у неё есть предназначение, и её нужно тестировать, чтобы удостовериться: какую бы часть этой бестолковой системы ни вызвала тестируемая часть кода, та не сломается. Поэтому считаю, что тестировать статичные методы можно, если вы уверены, что выходные данные вашего теста не сможет изменить никакой другой тест, и что язык или фреймворк позволят тестировать нативно.

Как писать модульные тесты?

  • Пишите код, пригодный для модульного тестирования, затем тестируйте его.
  • Пишите код, пригодный для модульного тестирования, затем тестируйте его.
  • Пишите код, пригодный для модульного тестирования, затем тестируйте его.

Если «затем тестируйте его» недостаточно, то на laracasts.com есть очень хорошие видео про модульное тестирование PHP. Есть и масса сайтов, посвящённых той же задаче в других языках. Не вижу смысла объяснять, как я выполняю модульное тестирование, потому что инструменты меняются довольно быстро, и когда вы прочитаете этот текст, я могу переключиться с PHPUnit на Kahlan. Или нет. Кто знает.

Но ответить на первый вопрос (как писать код, пригодный для модульного тестирования) гораздо легче, и вряд ли ситуация сильно изменится со временем:

  • SOLID
  • DRY
  • Отсутствие новых ключевых слов в конструкторе.
  • Отсутствие циклов в конструкторе (и переходов, если это оговаривается).
  • Отсутствие статичных методов, параметров, классов.
  • Отсутствие методов setup(): объекты должны быть полностью инициализированы после конструирования.
  • Отсутствие синглтонов (глобального состояния) и прочих нетестируемых антипаттернов.
  • Отсутствие всемогущих объектов (God objects).
  • Отсутствие классов со смешанной функциональностью (mixed concern classes).
  • Отсутствие скрытых зависимостей.

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

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

В этой статье вы найдете следующую информацию:

  • Что такое модульное (Unit) тестирование?
  • Зачем оно нужно?
  • Как его провести?
  • Методы модульного тестирования
  • Разработка через тестирование (TDD)
  • Преимущества модульного тестирования
  • Недостатки модульного тестирования
  • Рекомендации по модульному тестированию


Что такое модульное тестирование?

Модульное тестирование (Unit Testing) – это тип тестирования программного обеспечения, при котором тестируются отдельные модули или компоненты программного обеспечения. Его цель заключается в том, чтобы проверить, что каждая единица программного кода работает должным образом. Данный вид тестирование выполняется разработчиками на этапе кодирования приложения. Модульные тесты изолируют часть кода и проверяют его работоспособность. Единицей для измерения может служить отдельная функция, метод, процедура, модуль или объект.

В моделях разработки SDLC, STLC, V Model модульное тестирование – это первый уровень тестирования, выполняемый перед интеграционным тестированием. Модульное тестирование – это метод тестирования WhiteBox, который обычно выполняется разработчиком. На деле же из-за нехватки времени или халатности разработчиков, иногда модульное тестирование приходится проводить QA инженерам.

Зачем нужно модульное тестирование?

Отсутствие модульного тестирования при написании кода значительно увеличивает уровень дефектов при дальнейшем (интеграционном, системном, и приемочном) тестировании. Качественное модульное тестирование на этапе разработки экономит время, а следовательно, в конечном итоге, и деньги.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Если котенок потерялся как его найти
  • Как найти повязку на глаза в террарии
  • Как найти по имею серийный номер
  • Ошибочно списана кредиторская задолженность как исправить
  • Как найти косинус угла в равностороннем треугольнике

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии