Какие тесты возможно создавать в ms excel
Есть определенная функциональная область приложения: некая экспертная система, анализирующая состояние данных, и выдающая результат — множество рекомендаций на базе набора правил. Компоненты системы покрыты определенным набором юнит-тестов, но основная «магия» заключается в выполнении правил. Набор правил определен заказчиком на стадии проекта, конфигурация выполнена.
Более того, поскольку после первоначальной приемки (это было долго и сложно — потому, что “вручную") в правила экспертной системы регулярно вносятся изменения по требованию заказчика. При этом, очевидно, неплохо — бы проводить регрессионное тестирование системы, чтобы убедиться, что остальные правила все еще работают корректно и никаких побочных эффектов последние изменения не внесли.
Основная сложность заключается даже не в подготовке сценариев — они есть, а в их выполнении. При выполнении сценариев “вручную", примерно 99% времени и усилий уходит на подготовку тестовых данных в приложении. Время исполнения правил экспертной системой и последующего анализа выдаваемого результата — незначительно по сравнению с подготовительной частью. Сложность выполнения тестов, как известно, серьезный негативный фактор, порождающий недоверие со стороны заказчика, и влияющий на развитие системы («Изменишь что-то, а потом тестировать еще прийдется… Ну его. »).
Очевидным техническим решением было бы превратить все сценарии в автоматизированные и запускать их регулярно в рамках тестирования релизов или по мере необходимости. Однако, будем ленивыми, и попробуем найти путь, при котором данные для тестовых сценариев готовятся достаточно просто (в идеале — заказчиком), а автоматические тесты — генерируются на их основе, тоже автоматически.
Под катом будет рассказано об одном подходе, реализующим данную идею — с использованием MS Excel, XML и XSLT преобразований.
Тест — это прежде всего данные
А где проще всего готовить данные, особенно неподготовленному пользователю? В таблицах. Значит, прежде всего — в MS Excel.
Я, лично, электронные таблицы очень не люблю. Но не как таковые (как правило — это эталон юзабилити), а за то, что они насаждают и культивируют в головах непрофессиональных пользователей концепцию «смешивания данных и представления» (и вот уже программисты должны выковыривать данные из бесконечных многоуровневых «простыней», где значение имеет все — и цвет ячейки и шрифт). Но в данном случае — мы о проблеме знаем, и постараемся ее устранить.
Итак, постановка задачи
- обеспечить подготовку данных в MS Excel. Формат должен быть разумным с точки зрения удобства подготовки данных, простым для дальнейшей обработки, доступным для передачи бизнес пользователям (последнее — это факультативно, для начала — сделаем инструмент для себя);
- принять подготовленные данные и преобразовать их в код теста.
Решение
Пара дополнительных вводных:
- Конкретный формат представления данных в Excel пока не ясен и, видимо, будет немного меняться в поисках оптимального представления;
- Код тестового скрипта может со временем меняться (отладка, исправление дефектов, оптимизация).
Известная технология превращения данных в произвольное текстовое представление — шаблонизаторы, и XSLT преобразования, в частности — гибко, просто, удобно, расширяемо. В качестве дополнительного бонуса, использование преобразований открывает путь как к генерации самих тестов (не важно на каком языке программирования), так и к генерации тестовой документации.
Итак, архитектура решения:
- Преобразовать данные из Excel в XML определённого формата
- Преобразовать XML с помощью XSLT в финальный код тестового скрипта на произвольном языке программирования
Этап 1. Ведение данных в Excel
Здесь, честно говоря, я ограничился ведением данных в виде табличных блоков. Фрагмент файла — на картинке.
- Блок начинается со строки, содержащей название блока (ячейка “A5"). Оно будет использовано в качестве имени xml-элемента, так что содержание должно соответствовать требованиям. В той же строе может присутствовать необязательный “тип” (ячейка “B5") — он будет использовано в качестве значения атрибута, так что тоже имеет ограничения.
- Каждая колонка таблицы содержит помимо “официального” названия, представляющего бизнес-термины (строка 8), еще два поля для “типа” (строка 6) и “технического названия” (строка 7). В процессе подготовки данных технические поля можно скрывать, но во время генерации кода использоваться будут именно они.
- Колонок в таблице может быть сколько угодно. Скрипт завершает обработку колонок как только встретит колонку с пустым значением “тип” (колонка D).
- Колонки со “типом”, начинающимся с нижнего подчеркивания — пропускаются.
- Таблица обрабатывается до тех пор, пока не встретиться строка с пустым значением в первой колонке (ячейка “A11”)
- Скрипт останавливается после 3 пустых строк.
Этап 2. Excel -> XML
Преобразование данных с листов Excel в XML — несложная задача. Преобразование производится с помощью кода на VBA. Тут могут быть варианты, но мне так показалось проще и быстрее всего.
Ниже приведу лишь несколько соображений — как сделать финальный инструмент удобнее в поддержке и использовании.
-
Код представлен в виде Excel add-in (.xlam) — для упрощения поддержки кода, когда количество файлов с тестовыми данными более 1 и эти файлы создаются/поддерживаются более чем одним человеком. Кроме того — это соответствует подходу разделения кода и данных;
Этап 3. XML -> Code
Эта часть предельно специфична задачам которые решаются, поэтому ограничусь общими замечаниями.
-
Начальная итерация начинается по элементам, представляющим листы (различные тестовые сценарии). Здесь можно размещать блоки setup / teardown, утилит;
Финальный комментарий
Через какое-то время файлов с тестовыми данными станет много, а отладка и «полировка» шаблонов генерации тестовых скриптов будет все продолжаться. Поэтому, прийдется предусмотреть возможность «массовой» генерации автотестов из набора исходных Excel файлов.
Заключение
Используя описанный подход можно получить весьма гибкий инструмент для подготовки тестовых данных или полностью работоспособных автотестов.
В нашем проекте удалось довольно быстро создать набор тестовых сценариев для интеграционного тестирования сложной функциональной области — всего на данный момент около 60 файлов, генерируемых примерно в 180 тестовых классов tSQLt (фреймворк для тестирования логики на стороне MS SQL Server). В планах — использовать подход для расширения тестирования этой и других функциональных областей проекта.
Формат пользовательского ввода остается как и раньше, а генерация финальных автотестов можно менять по потребностям.
Преобразование XSLT не включено в репозиторий, поскольку оно генерит код для конкретной задачи — у вас все равно будет свой. Буду рад комментариям и pull request'ам.
2. Выполните команду Сервис – Макрос – Безопасность. В открывшемся диалоговом окне Безопасность во вкладке Уровень безопасности установите Средняя.
3. В ячейку D3 введите запись ФИО, а в ячейку D4 – Класс.
• При создании теста со свободным ответом создается группа ячеек для ввода ответа.
• При создании теста с выборочным ответом или теста на сопоставление выполняется следующая последовательность действий:
1) Выбирается меню Данные.
2) В ниспадающем меню выбирается команда Проверка.
3) В диалоговом окне выбирается тип данных - Список
4) В окне Источник
Результатом выполнения операций будет список с выборочными ответами, из которых обучаемый должен будет выбрать один ответ.
4. Закрепим полученные знания из п.1. Введите в ячейку E4 списки классов, которые будут проходить тестирование.
5. Оформим название теста: Тест по музыке на тему «Музыкальные термины». В строке 6 оформите заголовки столбцов теста. В ячейки В7:В16 введите вопросы, а в ячейки С7:С16 введите ответы в виде списка с выборочными четырьмя ответами, среди которых один правильный. Лист 1 переименуйте Тест.
Создадим макрос, который очищает поля для возможности тестирования многократно и назначим макрос кнопке с названием Очистка.
4. Выполните команду Сервис – Макрос – Начать запись. Дайте имя макросу Очистка. Выделите все поля с ответами и нажмите клавишу delete. Также удалите фамилию ученика и класс.
5. Выполните команду Сервис – Макрос – Остановить запись.
Теперь нарисуем кнопку и назначим ей макрос Очистка.
8. Выполните команду Вид – Панели инструментов – Формы.
10. Назначьте ей макрос Очистка.
11. Сохраните тест.
• Ваш ответ – ученик может увидеть свои ответы
• Результат – ученик может увидеть, на какие вопросы он ответил неверно.
• Верный ответ – ученик может увидеть правильные ответы.
• Оценка – ученик может увидеть свою оценку.
• Очистка – для возможности многократного тестирования.
12. В строки А2 и А3 введите записи ФИО и Класс соответственно.
13. Скопируйте с первого листа номера вопросов и сами вопросы в столбцы А6:А15 и В6:В15.
14. Введите остальные заголовки таблицы, согласно рисунку (Ваш ответ, Результат, Верный ответ).
Рисунок 7 Создадим первый макрос – Ваш ответ.
15. Выполните команду Сервис – Макрос – Начать запись. Дайте имя макросу Ваш_ответ.
Чтобы на этом листе отображались фамилия и имя ученика, создадим ссылку на соответствующую ячейку первого листа.
16. Установите курсор в ячейку В2, нажмите знак «=», перейдите на лист вопросов и щелкните мышью в ячейку Е4 (Петров Вася) и нажмите клавишу «Enter». Аналогично введите класс.
19. Остановите макрос. Нарисуйте кнопку и назначьте ей макрос Ваш ответ.
Далее оформляем столбец Результат. Для этого используем логическую функцию «если».
21. Выполните команду Вставка – Функция (или кнопка f x рядом со строкой формул).
Выберите в категории Логические функцию Если.
22. Заполните поля согласно Рис 7. Текстовые ответы необходимо заключать в кавычки.
23. Аналогичным образом заполните ячейки D7:D10.
24. Остановите макрос. Нарисуйте кнопку и назначьте ей макрос Результат.
Рисунок 8 Далее оформляем столбец Верный ответ.
25. Создайте третий макрос – назовите его Ответ1. Установите курсор в ячейку Е6.
Введите в ячейки E6:E15 верные ответы к вопросам.
26. Остановите макрос. Нарисуйте кнопку и назначьте ей макрос Верный ответ.
Далее оформляем столбец Оценка. Для этого используем логическую функцию «если» и статистическую функцию «счетесли».
28. Создайте четвертый макрос – назовите его Оценка.
29. Установите курсор в ячейку С17. Выполните команду Вставка – Функция ( или кнопка fx рядом со строкой формул). Выберите в категории Статистические функцию Счетесли.
31. В строке критерий введите запись «верно» и нажмите кнопку ОК.
Задания в тестовой форме можно разделить на две группы:
1) для обучения – этот вид направлен преимущественно на самоконтроль. Такой тип тестовых заданий используется в учебных элементах, а также промежуточные тесты в модулях.
2) для контроля – используется для получения информации о результативности обучения. Такие типы заданий используются как игровые тесты в модулях, а также тесты по результатам изучения всей модульной программы.
Структура тестовых заданий
В общем виде тестовое задание состоит из четырех частей:
2. Текст задания (вопроса);
4. Правильные ответы;
Инструкция содержит указания на то, что испытуемый должен сделать, каким образом выполнить задание, где и как делать пометки и записи.
Текст задания (или вопроса) представляет собой содержательное наполнение задания.
Правильный ответ – обязательный атрибут любого тестового задания – без него задание теряет смысл, поскольку не может быть точно оценено с учетом авторского замысла.
Типы тестовых заданий
В литературе по-разному описываются разнообразные типы тестов. В таблице 1 приведена классификация тестовых заданий[2].
Задание свободного изложения или свободного конструирования ответы не накладывается ограничения, но при этом формулировки задания должны обеспечивать наличие только одного правильного ответа. Такого рода тестовые задания легче реализовать в Word.
Задание дополнения (задание с ограничением на ответы) – тестирующийся самостоятельно отвечает на вопросы, но их возможности ограничены.
Задание на восстановление соответствия – задание, где необходимо найти и приравнять части, элементы, восстановить соответствия между элементами двух списков.
Представляю свои разработки, в которых рассматриваю как можно создать тесты в MS Excel.
Создание тестов в MS Excel 2003
Создание тестов в MS Excel 2007
[2] Майоров А.Н. Тесты школьных достижений: конструирование, проведение, использование. – СПб.: Образование и культура, 1996. – 304 с.
При создании теста первым делом следует определить его назначение. Если вы решили разрабатывать собственную методику, нужно четко знать, для чего нужен тест и чем вас не устраивают существующие аналоги. Определив общую цель тестирования, нужно разобраться с тем, какие свойства необходимо проверить.
Дальше следует самая интересная часть работы, где автор теста может проявить воображение и смекалку, — это разработка заданий. Каждое задание должно быть сформулировано четко и ясно. Это относится ко всем видам тестирования. От того, как человек их поймет и как на них ответит, и будет зависеть результат тестирования.
Задача мастер-класса научить слушателей создавать интерактивный тест в приложении MS Excel -2003.
Основные этапы создания теста
1.Продумывание способа оформления вопросов. Составление вопросов.
3.Вывод оценки ученика.
В приложении к этой странице прикреплены образцы тестов. Кроме того, прикреплена Презентация по структуре Excel для начинающих.
Инструкция по выполнению первого задания:
1. В приложении скачайте файл с рекомендациями по созданию теста и сам тест.
2. В приложении MS Ecxel повторите все действия и создайте пробный тест по моему образцу (кто знаком с программой могут сразу делать свой тест)
Данная работа будет очень интересна тем кто хочет разнообразить формы опрса на уроке.
Вложение | Размер |
---|---|
test.zip | 883.37 КБ |
Предварительный просмотр:
Существуют различные способы вовлечения учеников в процесс обучения. Интерактивное тестирование – один из них. Учащимся больше нравится осуществлять тестирование в режиме диалога с компьютером и сразу получать результат, а не ждать, когда учитель проверит бумажные тесты. Данная работа позволяет учителям создавать интерактивные тесты, не требующие особых навыков работы в MS Excel .
В работе рассматривается нестандартное применение электронных таблиц и программ по созданию компьютерных тестов для контроля знаний . Благодаря простоте создания (записи) макросов можно придать тестам интерактивность, даже абсолютно не зная Visual Basic – языка, на котором они пишутся .
Работа состоит из трех разделов. В первом – основные сведения по MS Excel – даются лишь самые основные сведения по MS Excel, которые необходимо знать при создании тестов. Во втором показана возможность создания интерактивного теста с помощью стандартных функций Excel и макросов– набора команд, используемых для автоматического выполнения некоторых операций, что позволяет автоматизировать переход к следующему вопросу теста и возврат к началу теста для дальнейшего тестирования., а в третьем показана исследовательская часть в которой данная разработка была применена на уроке математики.
Цель исследования : рассмотреть методы в интерактивном режиме, изучить литературу по данной тематике.
- научить пользоваться основными приемами работы в среде электронных таблиц;
- использовать логические функции при составлении различных математических моделей;
- создавать простейшие макросы типа «Очистка»,"Результат", "Выход", и др.
- Рассмотреть эффективность использования интерактивных тестов в отличии от традиционных методов контроля знаний.
Основные сведения о MS EXCEL.
Документ Excel имеет расширение "*.xls" и называется рабочая книга. Рабочая книга состоит из листов. По умолчанию их создается три. Переключаться между листами можно, используя закладки (ярлычки) в нижней части окна "Лист 1" и т.д.
Каждый лист представляет собой таблицу. Таблица состоит из столбцов и строк. Столбцов в листе 256 (2 в 8 степени),
а строк 65536 (2 в 16 степени).Количество ячеек предлагаю посчитать самим. Столбцы обозначаются буквами латинского
алфавита (в обычном режиме) от "A" до "Z", затем идет "AA-AZ", "BB-BZ" и т.п. до "IV" (256). Строки обозначаются
обычными арабскими числами.
На пересечении столбца и строки находится ячейка. Каждая ячейка имеет свой уникальный (в пределах данного листа)
адрес, который составляется из буквы столбца (в обычном режиме) и номера строки (например "A1").
Вспомните морской бой, шахматы или как вы находите ваше место в кинотеатре. Адрес ячейки (ссылка на ячейку) используется
в расчётах (и не только) для того, чтобы "достать" данные из этой ячейки, и использовать в формуле.
Только одна из ячеек листа в текущий момент времени является активной. Вокруг активной ячейки видна жирная
чёрная рамка с квадратиком в нижнем правом углу (маркером автозаполнения). Даже если выделен диапазон ячеек,
все равно одна из выделенных ячеек будет иметь белый цвет. Это не значит, что она не выделена, это значит,
что в выделенном диапазоне она активная -- именно в нее будет вводится набираемый с клавиатуры текст.
Макросы Microsoft Excel — это простые, легко адаптируемые и вместе с тем мощные инструменты, позволяющие пользователю экономить свое время и работать более продуктивно.
Поэтому хочу предложить один из вариантов теста с использованием макросов.
Создание интерактивного теста в MS EXCEL
Откроем Excel и переименуем листы книги:
На листе «Начало» выделим все ячейки и зададим им какой – то цвет фона (ФОРМАТ ЯЧЕЙКИ – ВИД), либо сделаем подложку для листа с рисунком
Аналогично раскрасим и листы «Тест» и «Результат»
Нарисуем на листе «Начало» кнопку - НАЧАТЬ . Точнее говоря это будет на кнопка, а всего лишь рисунок, сделанный, например, с помощью автофигур с панели Рисование. (В дальнейшем этот рисунок станет действующей кнопкой, но после того, как мы назначим ему макрос.
Рассмотрим для одного вопроса (Вопрос 1):
В ячейке С3 пишем номер вопроса
В ячейке D3 пишем сам вопрос
В ячейке Е3 необходимо задать список вариантов ответа
Дальше переходим в ячейку F3 и запишем там логическую формулу :
= ЕСЛИ(= значение ячейки;”верно”;”неверно”) – это означает, что если в ячейке Е3 выбран правильный ответ, то в ячейке F4 выведем слово «верно», иначе выведем «неправильно»
Переходим в ячейку G3, где запишем формулу: =ЕСЛИ(F3="верно";1;0)
Точно так же мы создадим все 10 вопросов. Наконец на этом листе нарисуем 2 кнопки : очистить и результат
Перейдем на лист «РЕЗУЛЬТАТ»
Скопируем с листа ТЕСТ столбцы с номерами вопросов и самими вопросами (у меня они соответственно в столбиках С и D.
В столбце Е запишем правильные ответы. В столбце F будем выводить те ответы, которые выбраны тестируемым, поэтому, например, в ячейке F3 будет формула F3 = тест!Е3 (т.е. здесь отображаются ответы, выбранные на листе ТЕСТ – это для сравнения с правильным ответом)
Аналогично заполним все остальные ячейки.
Нарисуем две кнопки: СНОВА (для повторения теста) и ВЫХОД (для выхода из теста)
В столбце I сделаем две надписи для контроля выполнения теста: ВСЕГО и ВЕРНО, ИТОГО, ОЦЕНКА.
Осталось создать макросы и назначить их кнопкам.
Начнем с кнопки НАЧАТЬ на листе НАЧАЛО.
При нажатии на эту кнопку должен открыться лист с вопросами теста (ТЕСТ), содержимое столбца Е с правильными ответами очиститься и выделиться ячейка Е3, чтобы была видна кнопка для выбора первого ответа.
Заходим в меню ВИД – МАКРОС – НАЧАТЬ ЗАПИСЬ. Даем макросу имя и ОК .
И пошла запись макроса, т.е. все, что мы сейчас делаем, будет записано в коде VBA
После этого открываем лист ТЕСТ, выделяем там ячейки Е3 – Е21, нажимаем Delete для очистки содержимого и щелкаем по ячейке Е3 для ее выделения.
Макрос записан. Останавливаем запись. Назначим этот макрос кнопке НАЧАТЬ. Для этого щелкаем по ней правой и выбираем НАЗНАЧИТЬ МАКРОС:В появившемся окне выбираем наш макрос и ОК – макрос назначен. Кнопка (а это уже кнопка, а не автофигура) стала действовать. Если кнопка не действует, то, скорее всего уровень
безопасности Excel стоит высокий.
Тогда заходим Параметры EXCEL – МАКРОС – БЕЗОПАСНОСТЬ и
Переходим на лист РЕЗУЛЬТАТ надо создать тоже 2 макроса для возврата к началу теста (кнопка СНОВА) и для выхода из теста (кнопка ВЫХОД)
Для кнопки СНОВА в макросе содержит только действие перехода на лист НАЧАЛО.
Для кнопки ВЫХОД макрос должен перейти на лист НАЧАЛО, а затем сделать завершение работы приложения.
Запишем только переход на лист НАЧАЛО, затем откроем макрос и вручную добавим код Application.Quit – завершение работы. Назначим этот макрос кнопке ВЫХОД
В результате при последующем запуске теста он будет открываться с листа НАЧАЛО, что нам и надо, а варианты выбора ответа от предыдущего запуска теста будут очищены, независимо от того ответили мы ДА или НЕТ на вопрос о сохранении изменений при выходе.
Уберем ярлычки листов, чтобы нельзя было сразу перейти и посмотреть ответы, уберем сетку, названия столбцов и строк, полосы прокрутки. Все это убираем, заходя в меню ПАРАМЕТРЫ EXCEL- ДОПОЛНИТЕЛЬНО:
ВСЕ. Тест готов. Запускаем и пробуем.(см диск)
Интерактивные методы контроля на уроках математики.
Для обоснования и подтверждения теоретических положений, представленных в данной работе было организовано экспериментальное исследование, в ходе которого предполагалось доказать эффективность предлагаемого тестирования с применением интерактивных методов контроля для 9 класса на примере экспериментального класса.
Эксперимент проводился на базе 9 "В" и 9 "Б" классов МКОУ "Кизлярской гимназии №1 им. М.В. Ломоносова" ,и состоял из следующих этапов: констатирующего, формирующего и контрольно-диагностического.
Цель эксперимента – оптимизация контроля знаний школьников, создание предпосылок реализации творческих способностей средствами интерактивных методов.
1) провести анализ и оценку уровня познавательной активности учеников экспериментальной и контрольной групп по определенным критериям;
2) формировать умения владеть МS EXCEL
3) развивать интеллектуальные способности, эмоционально-волевые и нравственные качества личности;
Читайте также: