Версия openpsy на PyQt4
Внимание! Версия в стадии разработки, поэтому стоит со снисхождениям относиться к возможным ошибкам и недоработкам!
В настоящий момент работают тесты, идущие в поставке и механизм формирования шаблонов для быстрого написания кода нового теста.
Не работает пользовательский интерфейс для интерактивного конструирования тестов без использования программирования. Не осуществлено портирование в Windows.
Чтобя вся эта байдазаработала, нужно иметь на борту:
- GNU/Linux
- Python 2.6 (NOT 3!!!)
- PyQt4
- Qt4
- ЗАПУСК ТЕСТОВ
- Проверьте, что у launcher.py стоит флаг "исполняемый". Или же стартуйте из консоли "$python ./launcher.py". Test_editor.py всё равно не работает, так что можно не заморачиваться.
- Дальше в окне выбираем нужный тест и запускаем его.
З.Ы.: если вы закрыли тест на середине тестирования, а потом открыли снова (не закрывая окна), то он возникнет перед вами в том же состоянии, в котором был в момент закрытия. Я пытался бороться с этим, но потом решил провозгласить этот глюк фичей, так что вотЪ.
- СОЗДАНИЕ ТЕСТОВ
ВНИМАНИЕ: для того, чтобы уметь самому создать новый тест, нужно знать основы python и, как следствие, основы программирования, так что имейте ввиду. В разработке ж. Граический редактор "Teaport", чьё название кагбэ намекает на уровень предполагаемого пользователя, ещё не дописан, так что увы.
-
Открываем терминал в папке "tests"
-
Командой
"$python ./MAKE_TEST.py <Имя_теста>"
создаём необходимые файлы для нового теста. В результате в каталоге появится новый файл <Имя_теста>.py и новая папка <Имя_теста>. В файле <Имя_теста>.py нужно будет указать алгоритмы рассчета результатов тестирования, алгоритм вывода результатов пользователю и алгоритм отрисовки графика. Правила, по которым составляются алгоритмы, а также некоторые полезные функции, облегчающие жизнь, указаны в файле в качестве комментариев. В папке <Имя_тестов> находятся текстовые файлы, в которых нужно указать такие данные, как инструкция испытуемому, списов вопросов и список ответов на вопросы, баллы, зачисляющиеся за каждый ответ, и т.п. В каждом файле имеется подробное описание его назначнения и формата, в котором необходимо вводить данные. -
Если увас уже есть какой-либо готовый шаблон для генерации нового теста, вы можете указать его при формировании файлов следующим образом:
"$python ./MAKE_TEST.py <Имя_теста> -t <папка_с_шаблонами>".
В папке с шаблонами могут находиться все или некоторые из текстовых файлов, помещемых в папку с именем теста. Вместо параметра"-t"
можно также использовать"--template"
- это если вдруг читатель в танке.Зачем нужна эта возможность? Представьте, что вы хотите создать несколько тестов и выпустить их под одинаковой лицензией, с указанием имени одного и того же автора и очень похожими файлами помощи. В таком случае, вместо того, чтобы несколько раз вводить одни и те же данные, можно просто указать их в качестве шаблона для новых тестов. Андерстенд?..
-
Наконец, можно открывать файлыи начинать ввод/редактирование данных. Ваш новоиспеченный тест автоматически опознается при запуске launcher.py. Удачи!
Для любителей копаться в исходниках дяю вводный инструктаж.
- classes - основные классы приложения, наследуемые нашими самописными тестами.
- alg - содержит алгоритмы без графических интерфейсов.
- visual - функции рисования графиков/гистрограмм
- TestDescriptor - недописанный пока класс, призваный рассчитывать результаты тестов, формировать текст интерпретации и отрисовывать графики на основе одного алгоритма, избавляя пользователя тем самым от написания кода. Является основой для будующего рдактора тестов. Тест NCHL уже работает на его основе, хотя я не уверен, что правильно...
- launcher - основа для окна запуска тестов. Ничего особенного.
- teaport - базовые классы для редактора тестов. Тут пока всё туманно и изменчиво, так что воздержусь от описания, тем более что сам уже ничего не помню.
- tests - базовые классы для окна тестов. Сбор ответов на вопросы, нажатия кнопочек, окна справки, и т.п. - всё это тут.
- alg - содержит алгоритмы без графических интерфейсов.
- icons - иконки к тестам
- tests - наши самописные (пользовательские) тесты
В принципе портирование не является таким уж сложным, однако я не принимался за него, желая сначала дописать редактор тестов "для чайников", отладить всё и уже потом, имея рабочую стабильную Linux-версию, перегонять её под маздай. В принципе, ничего страшного, если сделать это на данном этапе. Портировние, по сути, будет сведено к реорганизации структуры модулей, поскольку в Linux и Windows пути к ним видятся по-разному. Окромя же расположения файлов и папок, а также содержания строк "from <бла-бла-бла> inport *" ничего не изменится.
Итак, если увас всё ещё есть вопросы - что ж, пишите. Если у вас есть предложения (ПРЕДЛОЖЕНИЯ, не фантазии!) - пишите тем более. Кроме того, позвольте выразить надежду, что чтение мануала доставляет не менее самих тестов =) Искренне ваш...