понедельник, 8 июня 2015 г.

Сообщения об ошибках — тоже документация, тестируйте их!

Что такое тестирование документации? В мозгах начинающих тестировщиков плотно засела мысль «Проверить ТЗ на полноту, непротиворечивость и прочая, прочая...», А когда даешь им задание найти и проверить всю документацию на уже реализованном проекте, в котором нет внутренних ТЗ, возникает ступор. Что же тогда проверять? Ой, много чего Wink ;)

Сегодня я хочу поговорить о сообщениях об ошибках. Да да, это тоже документация! Поэтому их надо все найти и проверить.


В систему можно загружать файл? Тогда пробуем грузить пустой файл, неправильного формата, расширения, разрешения...

В форме редактирования есть обязательные поля? Пробуем их не заполнять или заполнять неправильно...

Система передает ответы через SOAP/JSON? А если отправить неправильный запрос, пустой, с неполными или некорректными данными?

И так далее, и тому подобное.
Если есть доступ к коду — отлично! Смотрим, в какие сообщения разработчики оборачивают эксепшены, находим их в приложении и проверяем отображение.


Каким должно быть сообщение об ошибке?
— Коротким, иначе пользователь заснет, читая его.
— Понятным, иначе как понять, что я сделала не так?

Из сообщения должно быть понятно:
— В чем моя ошибка?
— Что мне сделать, чтобы исправить ее?

При этом сообщение должно быть в мире пользователя. Мне будет одинаково непонятны тексты:
— Извините, что-то сломалось.
— Error 38759245, see line 333 in code

Не лучше будет вариант:
— Неправильно введены данные.

Особенно на форме из 100 полей. Какие именно данные я ввела неверно? И даже если их подсветили красным, а что неверно то? Как верно будет? Вы мне скажите, что делать то надо.

Примеры

Dadata

В Дадату можно загружать файлы формата Excel или CSV. Если попробовать грузануть туда JPEG, система понятно объясняет, что надо сделать:

Сообщение об ошибке в Дадате понятно

Wildberries

Ни в коем случае не хочу ругать магазин, потому что сама им пользуюсь и все нравится Smile :)
Но вот сообщения об ошибках в Галерее стиля — просто упасть и не вставать, никогда.
Вчера я попробовала загрузить фото и невольно потестировала документацию сайта, в очередной раз...

Итак, заходим в личный кабинет, оттуда в «Мои образы» — https://lk.wildberries.ru/mylooks.
Читаем информацию, но увы, ни слова о том, какие файлы допустимы:

Вроде никаких ограничений нет...

Нет, я не злодей, который в обход разработчиков идет постить всему миру о «не-user-friendly тексте», я уже писала на форуме просьбу добавить текст о допустимых файлах до загрузки и поправить сообщения об ошибках.

Итак, возрадовались возможности создать образ, грузим фоточку

Выбираем фото для образа...

Ага, вот и первое ограничение! Файлы должны быть размером поменьше...

Упс, вот и первое ограничение...


Но ведь так айпад снимает... Ладно, берем стандартные виндовые ножницы (дома у меня любимый FSCapture не хочет работать), обрезаем фото и сохраняем как JPEG, чтобы уж наверняка мало весить стал.

Грузим снова:

Не хочешь 2 Мб, на тебе 100 Кб

И что бы вы думали, мне говорят?

Что значит «поддерживается только jpg»? А я что гружу?

Моя реакция:

Я ведь jpg и гружу, але!

Я гружу JPEG, а мне говорят, что формат неверный, «грузи JPEG»? о_О

Ладно-ладно! Снова открываю фоточку, снова вырезаю ножницами и сохраняю как PNG, на рисунке чуть выше мы его видим, он в 6 раз побольше весит, качество получше, все дела... Но ситуация повторяется...

Ох ох ох, у меня так было на первых попытках загрузки фоток, пошли «старым дедовским методом» — вставить картинку в Paint, уменьшить масштаб и сохранить как jpg. И вуаля, блин! Загрузилось!

Эти картинки сперты у моей выпускницы из блога. Эмоции примерно те же :)

Я, как пользователь, посылаю разработчикам лучи ненав, добра и нежности в такие минуты.

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

Файл должен быть не менее 500 пикселей в ширину и N в высоту.

Пикселей!!! Я грешила на размер файла (слишком маленький), но до пикселей без подсказки не догадалась бы вообще!

Что должен делать тестировщик в такой ситуации? Вообще, это явный баг, когда ты грузишь jpeg, а тебе говорят "у тебя неверный формат, грузи jpeg". Поэтому можно попробовать поставить баг на пополнение текста ошибки дополнительными требованиями.

А можно вспомнить про финт ушами и поставить улучшение. Нам надо его продумать для начала. Как сделать так, чтобы у пользователей не возникало проблем и игрищ в "измени размер исходной картинки 5-ю способами"?

Давайте сформулируем предложение по улучшению.

Подсказывать правильный формат и размер файлов для загрузки в ГС.

1. Указать ограничения еще до того, как пользователь начнет грузить файлы. В раздел [«Мои образы»|https://lk.wildberries.ru/mylooks] (Прим. автора — так обозначаются гиперссылки в JIRA) добавить надпись:

Принимаются фото:
— jpg, jpeg, gif, png, bmp до 2Мб
— не менее 500 пикселей в ширину и 700 в высоту

2. Если пользователь грузит файл неподходящий под требования, выводить конкретное сообщение.

Неподошел формат → «Вы пытаетесь загрузить файл неподдерживаемого формата. Загрузите jpg, jpeg, gif, png или bmp».
Слишком большой → «Размер файла не должен превышать 2000 Кб».
Не прошел по пикселям → «Файл должен быть не менее 500 пикселей в ширину и 700 в высоту».

Если это сделать сложно, то выводить одно сообщение:
«Поддерживаются файлы jpg, jpeg, gif, png, bmp до 2Мб.
Не менее 500 пикселей в ширину и 700 в высоту».

**********************************************

Но, будь у меня «доступ к телу», то есть к разработчикам, я бы попыталась их убедить, что проверка пикселей → это просто кошмар. Это вообще не в мире пользователей. Обычные пользователи, которые грузят фоточки в галерею — девушки или женщины. Они делают фото на свой айфон и загружают в компьютер.

Какие пиксели? Что надо делать, чтобы сделать их больше или меньше?
Имхо, лучше грузить фото покрупнее, до 3-4 Мб и ужимать их на программном уровне, чтобы не хранить тяжесть в базе. В галерее все равно небольшая фоточка отображается, поэтому обидно врядли будет, если делать как «радикал», который сам уменьшает фото до 800 px.

Если эту пикселяцию поставили для ограничения снизу, чтобы не прошли нечеткие фото, то тоже стоит обсудить. Если это было предотвращение чего-то, то лучше ее вообще снять и посмотреть, сильно ли ухудшится качество загружаемых фотографий. Потому что 100 Кб jpeg вполне себе нормально отображается. Если нагрузка на модераторов возрастет, подумать, что можно сделать. Но пока этот отсев создает проблемы пользователю, а не модератору.

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

И мы, как тестировщики, в процессе тестирования документации должны такие баги находить и как минимум извещать команду разработки.

PS — опубликовав пост, дала на него ссылку на форуме, может быть, команда разработки сайта меня услышит )))

А на форуме у меня нет аватарки. Так-то, по хорошему, можно было бы аватарку из магазина подтягивать... Но ладно, пойдем загрузим...

Иду в «Мой кабинет» на форуме, далее «Изменить фотографию», выбираю фото и...


БЛИН, ДА ВЫ ЧТО, ИЗДЕВАЕТЕСЬ, ЧТОЛИ?!!!

Расстроилась и ушла, потому что из сообщения вообще непонятно, что мне надо сделать как пользователю, чтобы исправить ошибку. Хотя вангую на вес фото, но блин... Сообщения об ошибках должны быть в мире пользователя, в мире! Эх...

См также:
Pretty roses — пользователи не любят запретов
Твой пароль плохой. Угадай, какой хороший

Статья написана в помощь студентам моего курса по тестированию.

PS — добавила пост в общую копилку багов.

2 комментария:

  1. Вроде даже в скайпе мелькало и везде мклькало, но все же:
    "Sorry, your password has been in use for 30 days and has expired — you must register a new one."
    roses
    "Sorry, too few characters."
    pretty roses
    "Sorry, you must use at least one numerical character."
    1 pretty rose
    "Sorry, you cannot use blank spaces."
    1prettyrose
    "Sorry, you must use at least 10 different characters."
    1fuckingprettyrose
    "Sorry, you must use at least one upper case character."
    1FUCKINGprettyrose
    "Sorry, you cannot use more than one upper case character consecutively."
    1FuckingPrettyRose
    "Sorry, you must use no fewer than 20 total characters."
    1FuckingPrettyRoseShovedUpYourAssIfYouDon'tGiveMeAccessRightFuckingNow!
    "Sorry, you cannot use punctuation."
    1FuckingPrettyRoseShovedUpYourAssIfYouDontGiveMeAccessRightFuckingNow
    "Sorry, that password is already in use."

    ОтветитьУдалить
    Ответы
    1. Точно, спасибо! Хм, я думала, я его уже публиковала :)

      Удалить