Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016) — различия между версиями

Материал из 0x1.tv

 
(не показаны 24 промежуточные версии этого же участника)
== Расширенные тезисы ==
<latex>=== Измерение параметров физического состояния пользователей ===
Измерение параметров физического состояния пользователей (частота пульса, электропроводность кожи и др.) при работе с программным обеспечением "--- это подход, который позволяет быстро и эффективно определить <<«узкие места>>» интерфейса для доработки приложения, а также бывает полезен при выборе одного из нескольких конкурирующих программных продуктов. Исторически он разрабатвиввался менее активно из-за необходимости в редких биометрических устройствах; однако в последнее время требуемые датчики появились в достаточно большом числе популярных гаджетов, таких как спортивные пульсометры, фитнес-трекеры, <<«умные часы>>», развлекательные энцефалографы. Несмотря на то, что эти устройства ориентированы на индустрию спорта и развлечений, они способны передавать данные хост-системе и обладают достаточной точностью, для возможности их использования в usability-тестировании.

Ранее в ряде публикаций нами представлялись результаты тестирования, выполненные в рамках такого подхода \cite{Markina1, Markina2}. <ref name="cite-1">Журавский В. В., Костюк Д. А., Латий О. О., Маркина А. А. Программно-аппаратная система для сравнительных исследований эргономики обеспечения // Информационные технологии и системы 2015 (ИТС 2015): материалы международной научной конференции. Минск, БГУИР, 29 октября 2015 г. "--- С. 252–253.</ref><ref name="cite-2">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.</ref>. В частности, этот метод хорошо проявил себя при сравнении интерфейсов, перегруженных визуальными элементами, поскольку влияние неоптимальных композиционных решений в данном случае наиболее сильно сказывается на эффективности работы оператора \cite{Markina3, Markina4}. <ref name="cite-3">Костюк Д. А., Латий О. О., Маркина А. А. Инструментальная оценка состояния пользователя в задаче сравнения интерфейсов офисных приложений // XII конференция разработчиков свободных программ. Тезисы докладов. "--- Калуга, 16-18 октября 2015 г. "--- М.: Альт Линукс, 2015. "--- С. 8–12
\bibitem{Markina4} .</ref><ref name="cite-4">Костюк Д. А., Латий О. О., Маркина А. А. Об эффективности использования метафоры ленточного интерфейса // Одиннадцатая конференция <<«Свободное программное обеспечение в высшей школе>>»: Материалы  конференции. "--- Переславль, 30-31 января 2016 г. "--- М.: Альт Линукс, 2016. "--- С. 17–23.</ref>.

В результате проведения нескольких исследовательских проектов, построенных на данной методике, была разработана программная система UXDump, упрощающая приборную оценку эффективности человеко-машинного взаимодействия. [данной разработки\footnote{\url{https://bitbucket.org/AsyaAliset/uxdump}}  Код разработки] распространяется под лицензией GPL v.2.

Основная часть системы написана на C++ и Qt (опробовалась для двух тестируемых платформ,опробована под GNU/Linux и MS Windows). Система ориентирована на одновременное параллельное тестирование ПО на нескольких компьютерах; поэтому для хранения результатов измерений была выбраниспользуется база данных MySQL, взаимодействие с которым разработанное приложение взаимодействуюткоторой реализовано по схеме клиент-сервер.

Проект UXDump построен по модульному принципу и включает в себя блоки, обеспечивающие:
* добавление информации о проведеённых тестах, визуализацию;
* визуализация данных экспериментов,;
* администрирование базы данных,;
* обеспечение сетевого взаимодействия.
</latex>

[[File:Архитектура системы uxdump.svg|center]]

Архитектура системы показана  выше, а передача данных  на следующей иллюстрации.

[[File:Архитектура системы uxdump (передача управления).svg|center]]

<latex>
Основной стартовый модуль "--- оболочка UXDump suite, которая передаёт управление модулям DataBase manager и Launcher.  
Launcher предназначен для запуска измерительных модулей (либоили модулей-обёрток, через которые происходит передача данных от измерительных устройств) и выбранного пользователем тестового скрипта.  
Тестовый скрипт запускает программное обеспечение, участвующее во взаимодействии с пользователем (т.е. начинает экспериментначало эксперимента), и ожидает завершения его работы. По окончании 
После завершения теста управление возвращается к Launcher, который принудительно завершает измерительные модули, собирает созданные ими логи и передаеёт управление библиотеке UXDump framework для добавления данных в базу.  
Эта же библиотека используется для получения данных из БД, например при визуализации результатов выбранных экспериментов модулем UXDump suite.

Измерительные модули принимают данные от устройств, надетых на пользователя устройств.  
В настоящее время система включает:
* модуль FitBit для измерения измерение частоты сердечных сокращений с помощьючерез фитнес-трекеровы Fitbit,;
* модуль mindwave для оценки оценка концентрации внимания с помощьюпо данным энцефалографа NeuroSky Mindwave;
* и модуль uxdumpbox, принимающий данные  приём данных о пульсе и электропроводности кожи с аппаратного блока авторской разработки\footnote{\url{ ([https://github.com/fiowro/uxdump}} ссылка]).

Измерительный модуль записывает в лог результаты измерений в максимально доступном объеёме. Если это приводит к неоправданному превышению количества хранимой информацииизбыточному объёму данных, то может использоватьсяиспользуется модуль-обёртка, выполняющий фильтрацию снятых для фильтрации или предварительной обработки биометрических показаний и/или их первичную обработку.  
Пример последнего "--- модуль-обёртка phasic GSR, который анализирует <<«сырые>>» данные электропроводности кожи, фильтрует их и подсчитывает пики тонической кожно-гальванической реакции, соответствующие повышенному возбуждению оператора \<ref name="cite{Markina4}-4" />.

Как уже упоминалось, измерительныеИзмерительные модули возвращают данные в виде текстовых логов (что заметно упрощает создание сторонних модулей). Такие же логи с данными 
Тестовые скрипты также могут генерировать и некоторые тестовые логи (например, данные(например, показания о корректности выполнения заданий пользователем).  
После возвращения управления к модулюзавершения работы теста модуль Launcher происходит анализ содержимогоанализирует содержимое логов, подготовкаавливает информациию и записывает её запись в базу данных, а также передача исходных лог-файловисходные файлы сохраняет в архивное хранилищеархив. Аналогичным образом информация может быть добавлена в базу модулемАналогично, DataBase manager при импорте ранееможет импортировать логи из сохранённых лог-файлов. Помимо результатов измеренийфайлов.  
База хранит также данные о пользователях и условиях проведения эксперимента, заполняемые (заполняются перед началом очередного теста).

Обычно, при написоздании нового измерительного модуля, удаётся задействовать используется уже существующий свободный проект, предназначенный для извлечения данных из соответствующего устройства. Например (например, для mindwave "--- это библиотека mindwave-python, а для fitbit "--- проект или galileo).  
Использование оригинального API от разработчика устройства, по нашему опыту, наименее вероятный вариант: из-за другого целевого назначения гаджета штатные средства обычнопроизводителя устройств маловероятно: большинство гаджетов не позволяют передавать биометрические данныерассчитаны на передачу данных с нужной частотой, а и в необходимый момент времени. При этом некоторые производители используют стойкуюприменяют криптографическую защиту результатов измерений, и, в.  
В этом случае, необходима применяется смешанная схема получения данных, когда стороннее ПО обеспечивает своевременное извлечение результатов и ихизвлекает и расшифровывает данные, передавая их на сервер, откудна  сервер, а измерительный модуль, дождавшись завершения этой процедуры, запрашивает получает расшифрованные данные с серверазначения.


</latex>

[[File:Взаимодействие uxdump с фитнес-трекером FitBit.svg|center]]

<latex>
\textit{''Автор выражает благодарность Стасу Фомину за экземпляры предоставленного оборудования.}

\begin{thebibliography}{99}
\bibitem{Markina1} 
\bibitem{Markina2} 
\bibitem{Markina3} предоставленное оборудование.''

=== Источники ===
<references />




[[File:{{#setmainimage:Система параллельного тестирования эффективности человеко-машинного взаимодействия!.jpg}}|center|640px]]

\end{thebibliography}
</latex>

== Примечания и отзывы ==
<!-- <blockquote>[©]</blockquote> -->
<references />

{{fblink|1781454875440859}}                                          
{{vklink|200}}                                          
<references/>

[[Category
{{stats|disqus_comments=0|refresh_time=2018-03-01T20:19:112021-08-31T18:23:10.051697572306|vimeo_comments=0|vimeo_plays=3647|youtube_comments=0|youtube_plays=17}}23}}

[[Категория:OSSDEVCONF-2016]]
[[CategoryКатегория:Open-source]]

Текущая версия на 08:30, 20 октября 2025

Аннотация

Докладчик
Анастасия Маркина.jpg
Анастасия Маркина

В работе представлена авторская разработка — свободный проект UXDump, представленный для инструментальной оценки качества человеко-машинного взаимодействия с программными продуктами. Работа системы основана на мониторинге физического состояния пользователя с помощью биометрических датчиков популярных гаджетов (фитнес-трекеров и др.).

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

Видео

on youtube

Слайды

Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf Система параллельного тестирования эффективности человеко-машинного взаимодействия (Анастасия Маркина, OSSDEVCONF-2016).pdf

Расширенные тезисы

Измерение параметров физического состояния пользователей

Измерение параметров физического состояния пользователей (частота пульса, электропроводность кожи и др.) при работе с программным обеспечением — это подход, который позволяет быстро и эффективно определить «узкие места» интерфейса для доработки приложения, а также бывает полезен при выборе одного из нескольких конкурирующих программных продуктов. Исторически он развивался менее активно из-за необходимости в редких биометрических устройствах; однако в последнее время требуемые датчики появились в большом числе популярных гаджетов, таких как спортивные пульсометры, фитнес-трекеры, «умные часы», развлекательные энцефалографы. Несмотря на то, что эти устройства ориентированы на индустрию спорта и развлечений, они способны передавать данные хост-системе и обладают достаточной точностью для использования в usability-тестировании.

Ранее в ряде публикаций представлялись результаты тестирования, выполненные в рамках такого подхода[1][2]. В частности, этот метод хорошо проявил себя при сравнении интерфейсов, перегруженных визуальными элементами, поскольку влияние неоптимальных композиционных решений наиболее сильно сказывается на эффективности работы оператора[3][4].

В результате проведения нескольких исследовательских проектов, построенных на данной методике, была разработана программная система UXDump, упрощающая приборную оценку эффективности человеко-машинного взаимодействия. Код разработки распространяется под лицензией GPL v2.

Основная часть системы написана на C++ и Qt (опробована под GNU/Linux и MS Windows). Система ориентирована на параллельное тестирование ПО на нескольких компьютерах; для хранения результатов используется база данных MySQL, взаимодействие с которой реализовано по схеме клиент–сервер.

Проект UXDump построен по модульному принципу и включает блоки:

  • добавление информации о проведённых тестах;
  • визуализация данных экспериментов;
  • администрирование базы данных;
  • обеспечение сетевого взаимодействия.
Архитектура системы uxdump.svg

Архитектура системы показана выше, а передача данных — на следующей иллюстрации.

Архитектура системы uxdump (передача управления).svg

Основной стартовый модуль — оболочка 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 от производителя устройств маловероятно: большинство гаджетов не рассчитаны на передачу данных с нужной частотой, а некоторые применяют криптографическую защиту результатов измерений. В этом случае применяется смешанная схема — стороннее ПО извлекает и расшифровывает данные, передавая их на сервер, откуда измерительный модуль получает расшифрованные значения.

Взаимодействие uxdump с фитнес-трекером FitBit.svg

Автор выражает благодарность Стасу Фомину за предоставленное оборудование.

Источники

  1. Журавский В. В., Костюк Д. А., Латий О. О., Маркина А. А. Программно-аппаратная система для сравнительных исследований эргономики обеспечения // Информационные технологии и системы 2015 (ИТС 2015): материалы международной научной конференции. Минск, БГУИР, 29 октября 2015 г. — С. 252–253.
  2. 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.
  3. Костюк Д. А., Латий О. О., Маркина А. А. Инструментальная оценка состояния пользователя в задаче сравнения интерфейсов офисных приложений // XII конференция разработчиков свободных программ. Тезисы докладов. — Калуга, 16–18 октября 2015 г. — М.: Альт Линукс, 2015. — С. 8–12.
  4. 4,0 4,1 Костюк Д. А., Латий О. О., Маркина А. А. Об эффективности использования метафоры ленточного интерфейса // Одиннадцатая конференция «Свободное программное обеспечение в высшей школе»: Материалы конференции. — Переславль, 30–31 января 2016 г. — М.: Альт Линукс, 2016. — С. 17–23.



Система параллельного тестирования эффективности человеко-машинного взаимодействия!.jpg

Примечания и отзывы



Plays:70   Comments:0