Какие метрики используются для измерения удобства использования (usability) продукта?

Ответ

Удобство использования (usability) оценивается по пяти основным критериям, каждый из которых может быть измерен количественно или качественно:

  1. Эффективность (Efficiency): Время или количество шагов, необходимых пользователю для выполнения задачи.
    • Метрика: Среднее время выполнения ключевой задачи (например, оформление заказа за 2 минуты).
  2. Продуктивность ошибок (Error Tolerance): Количество и серьезность ошибок, совершаемых пользователем, и время на их исправление.
    • Метрика: Количество ошибочных кликов на сессию.
  3. Запоминаемость (Memorability): Насколько легко пользователь возобновляет работу с интерфейсом после перерыва.
    • Метрика: Время выполнения задачи при повторном входе через неделю.
  4. Обучаемость (Learnability): Насколько быстро новичок может освоить базовые операции.
    • Метрика: Время достижения первого успешного завершения задачи.
  5. Удовлетворенность (Satisfaction): Субъективное восприятие пользователя.
    • Метрика: Оценка по шкале System Usability Scale (SUS) или Net Promoter Score (NPS).

Пример автоматизированной проверки эффективности:

import time

def test_task_completion_time(user_session):
    start_time = time.time()
    # Симуляция действий пользователя
    user_session.navigate_to_checkout()
    user_session.fill_payment_details()
    user_session.confirm_order()
    completion_time = time.time() - start_time

    assert completion_time < 120, f"Задача заняла {completion_time:.1f} сек, что превышает лимит в 120 сек"

Ответ 18+ 🔞

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

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

  1. Эффективность, ёпта. Это сколько времени или движений жопой надо, чтобы задачу сделать. Вот представь: «оформи заказ». Если он за две минуты не справляется, а начинает, как мудак, метаться по интерфейсу — это пиздец, а не эффективность. Метрика простая: засекаешь время. Больше двух минут — в пизду этот интерфейс.

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

  3. Запоминаемость. Вот пользователь зашёл, всё сделал, ушёл. Через неделю вернулся. Если он, как Герасим, только «Му-му» мычать начинает, потому что нихуя не помнит, как тут что — это плохо. Замеряем, сколько времени у него уйдёт на ту же задачу при повторном визите. Должно быть быстрее, а не «я тут вроде был… блядь, где тут эта кнопка, сука?».

  4. Обучаемость. Новый пользователь, чистый лист. Насколько быстро он перестаёт быть беспомощным пиздёнышем и делает что-то полезное. Время от входа до первой победы. Если дольше, чем я Тургенева пересказывал — волнение ебать, терпения ноль ебать у этого юзера.

  5. Удовлетворенность. А это уже чистая субъективщина. После всех этих мытарств спроси его: «Ну как, сука, понравилось?». Обычно дают какую-нибудь циферку по шкале. Типа, «в рот меня чих-пых, на десяточку!» или «пиздец, один балл, и тот жалко».

А вот, смотри, как можно на коленке проверить тот самый первый пункт, эффективность. Чисто технически, без соплей.

import time

def test_task_completion_time(user_session):
    start_time = time.time()
    # Симуляция действий пользователя
    user_session.navigate_to_checkout()
    user_session.fill_payment_details()
    user_session.confirm_order()
    completion_time = time.time() - start_time

    assert completion_time < 120, f"Задача заняла {completion_time:.1f} сек, что превышает лимит в 120 сек"

Видишь? Запустил, подождал. Если выползла ошибка с текстом «заняло 300 сек» — всё, пидарас шерстяной, дизайнеры и разработчики, вы ходите по охуенно тонкому льду. Пора переписывать, а то пользователи разбегутся, как те нанайцы с чеченцами, о которых я говорил.