Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016)
Материал из 0x1.tv
Содержание
Аннотация
- Докладчик
- Анастасия Маркина
В работе представлена авторская разработка — свободный проект UXDump, представленный для инструментальной оценки качества человеко-машинного взаимодействия с программными продуктами. Работа системы основана на мониторинге физического состояния пользователя с помощью биометрических датчиков популярных гаджетов (фитнес-трекеров и др.).
Рассматриваются архитектура, возможности и способы применения системы, разновидности гаджетов и типовые схемы их подключения.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Слайды
Расширенные тезисы
Измерение параметров физического состояния пользователей
Измерение параметров физического состояния пользователей (частота пульса, электропроводность кожи и др.) при работе с программным обеспечением — это подход, который позволяет быстро и эффективно определить «узкие места» интерфейса для доработки приложения, а также бывает полезен при выборе одного из нескольких конкурирующих программных продуктов. Исторически он развивался менее активно из-за необходимости в редких биометрических устройствах; однако в последнее время требуемые датчики появились в большом числе популярных гаджетов, таких как спортивные пульсометры, фитнес-трекеры, «умные часы», развлекательные энцефалографы. Несмотря на то, что эти устройства ориентированы на индустрию спорта и развлечений, они способны передавать данные хост-системе и обладают достаточной точностью для использования в usability-тестировании.
Ранее в ряде публикаций представлялись результаты тестирования, выполненные в рамках такого подхода[1][2]. В частности, этот метод хорошо проявил себя при сравнении интерфейсов, перегруженных визуальными элементами, поскольку влияние неоптимальных композиционных решений наиболее сильно сказывается на эффективности работы оператора[3][4].
В результате проведения нескольких исследовательских проектов, построенных на данной методике, была разработана программная система UXDump, упрощающая приборную оценку эффективности человеко-машинного взаимодействия. Код разработки распространяется под лицензией GPL v2.
Основная часть системы написана на C++ и Qt (опробована под GNU/Linux и MS Windows). Система ориентирована на параллельное тестирование ПО на нескольких компьютерах; для хранения результатов используется база данных MySQL, взаимодействие с которой реализовано по схеме клиент–сервер.
Проект UXDump построен по модульному принципу и включает блоки:
- добавление информации о проведённых тестах;
- визуализация данных экспериментов;
- администрирование базы данных;
- обеспечение сетевого взаимодействия.
Архитектура системы показана выше, а передача данных — на следующей иллюстрации.
Основной стартовый модуль — оболочка UXDump suite, которая передаёт управление модулям DataBase manager и Launcher. Launcher предназначен для запуска измерительных модулей (или модулей-обёрток, через которые происходит передача данных от измерительных устройств) и выбранного пользователем тестового скрипта. Тестовый скрипт запускает программное обеспечение, участвующее во взаимодействии с пользователем (начало эксперимента), и ожидает завершения его работы. После завершения теста управление возвращается к Launcher, который завершает измерительные модули, собирает созданные ими логи и передаёт управление библиотеке UXDump framework для добавления данных в базу. Эта же библиотека используется для получения данных из БД, например при визуализации результатов экспериментов модулем UXDump suite.
Измерительные модули принимают данные от устройств, надетых на пользователя. В настоящее время система включает:
- модуль FitBit — измерение частоты сердечных сокращений через фитнес-трекеры Fitbit;
- модуль mindwave — оценка концентрации внимания по данным энцефалографа NeuroSky Mindwave;
- модуль uxdumpbox — приём данных о пульсе и электропроводности кожи с аппаратного блока авторской разработки (ссылка).
Измерительный модуль записывает в лог результаты измерений в максимально доступном объёме. Если это приводит к избыточному объёму данных, используется модуль-обёртка для фильтрации или предварительной обработки биометрических показаний. Пример — модуль phasic GSR, который анализирует «сырые» данные электропроводности кожи, фильтрует их и подсчитывает пики кожно-гальванической реакции, соответствующие повышенному возбуждению оператора[4].
Измерительные модули возвращают данные в виде текстовых логов (что упрощает создание сторонних модулей). Тестовые скрипты также могут генерировать логи (например, данные о корректности выполнения заданий пользователем). После завершения работы теста модуль Launcher анализирует содержимое логов, подготавливает информацию и записывает её в базу данных, а исходные файлы сохраняет в архив. Аналогично, DataBase manager может импортировать логи из сохранённых файлов. База хранит также данные о пользователях и условиях проведения эксперимента, заполняемые перед началом теста.
Обычно при создании нового измерительного модуля используется уже существующий свободный проект для извлечения данных из устройства (например, mindwave-python или galileo). Использование оригинального API от производителя устройств маловероятно: большинство гаджетов не рассчитаны на передачу данных с нужной частотой, а некоторые применяют криптографическую защиту результатов измерений. В этом случае применяется смешанная схема — стороннее ПО извлекает и расшифровывает данные, передавая их на сервер, откуда измерительный модуль получает расшифрованные значения.
Автор выражает благодарность Стасу Фомину за предоставленное оборудование.
Источники
- ↑ Журавский В. В., Костюк Д. А., Латий О. О., Маркина А. А. Программно-аппаратная система для сравнительных исследований эргономики обеспечения // Информационные технологии и системы 2015 (ИТС 2015): материалы международной научной конференции. Минск, БГУИР, 29 октября 2015 г. — С. 252–253.
- ↑ Kostiuk D. A., Latiy O. O., Markina A. A. Software system for parallel usability testing // Шоста науково-практична конференцiя FOSS Lviv 2016: Збiрник наукових праць. — Львiв, 19–21 квiтня 2016 р. — С. 59–62.
- ↑ Костюк Д. А., Латий О. О., Маркина А. А. Инструментальная оценка состояния пользователя в задаче сравнения интерфейсов офисных приложений // XII конференция разработчиков свободных программ. Тезисы докладов. — Калуга, 16–18 октября 2015 г. — М.: Альт Линукс, 2015. — С. 8–12.
- ↑ 4,0 4,1 Костюк Д. А., Латий О. О., Маркина А. А. Об эффективности использования метафоры ленточного интерфейса // Одиннадцатая конференция «Свободное программное обеспечение в высшей школе»: Материалы конференции. — Переславль, 30–31 января 2016 г. — М.: Альт Линукс, 2016. — С. 17–23.
Примечания и отзывы
Plays:70
Comments:0
