Показаны сообщения с ярлыком UI. Показать все сообщения
Показаны сообщения с ярлыком UI. Показать все сообщения

понедельник, 18 ноября 2019 г.

UI appearance

Компания ConquestSS производит интерфейсные продукты для разработчиков БД Oracle, а ClearSQL (далее - CS) полезен тестировщикам PL/SQL кода. Поскольку продукт в большинстве своём - визуализатор, то посмотрим на его производительность в области интерфейса. Примечания: приложение десктопное, все установки были на Windows 64bit, замеры (кадрирование через VideoPad) интерфейсной производительности проводились по видеозаписям.
Для теста были взяты версии CS 7.0, 7.1, 8.0, 8.1, 9.0 для Windows 32bit и 64bit, а последний релиз в "светлом" и "тёмном" исполнениях. Каждая инсталляция запускалась по три раза, в каждом из которых анализировался демо-проект. Первые два идентичны по установке на "чистую" машину и полному анализу демо-проекта со всеми диаграммами. Третий запуск отличается от второго тем, что приложению нет необходимости доустанавливать продукт (создавать папки, выставлять опции по-умолчанию и прочее), а анализ проекта проводился без генерации диаграмм. Количество скриптов в демо-проекте уменьшилось на один ("Wrapped function.fnc") с версии CS 9, то есть примем везде по 60 скриптов. Настройки анализатора во всех тестах идентичны, так как взяты дефолтные.
Но сначала поглядим на запуск приложения. До версии CS 9 процесс открытия приложения проходил в так называемом "невидимом" режиме, когда пользователь не понимал, что происходит в системе: на панели задач не было кнопки приложения, на рабочем столе никаких новых окон. Спасибо, в CS 9 через 5 секунд молчания добавили "пропеллер" загрузки, а в предыдущих версиях какой-либо реакции по запуску приложения приходилось ждать иногда и более двух минут. Окно выбора лицензии мелькнуло на 5-10 секунде, а далее - пустое молчание.
Зависание старта
Казалось бы, первый и второй запуск должны быть идентичны, но график показывает реальные цифры. Напомню, все тесты проводились на одной машине, сначала первый, потом после очистки - второй и третий подряд (без очистки машины от инсталляции). Как видим из графика, пользователи 7-мых версий дольше всех ожидали в неведении отклика интерфейса. Но не стоит столь позитивно воспринимать значения 8-мых версии, так как по значениям следующего графика вам станет понятно, что фактически начать работу быстрее в 7-мых версиях, потом или почти в равной степени в 9-тых.
Ожидание полно-рабочего интерфейса
Здесь показано время, затрачиваемое триальным пользователем на стандартные клики (выбор триала, согласие о сроке использования, выбор проекта, подтверждение некоторых интерфейсных настроек) до тех пор, пока на экране не прорисуется полностью демо-проект и можно будет с ним что-либо делать: смотреть результаты анализа, менять настройки, переанализировать или получать отчёт.
Следующий график является частью предыдущего, так как подсчитано время только до момента выбора проекта, без последующей прорисовки интерфейса главного окна приложения.
Затраты на выбор проекта
Накручивание каких-то скрытых обработок от версии к версии неблагоприятно сказывается на работоспособности интерфейсного приложения. Когда ваш маркетолог или аналитик просит вставить сбор статистики, то хорошенько  оцените конкретное место для этого действия: при каждом запуске приложения или перед конкретными кликами. Любое ожидание пользователя - это его нервы, особенно, если экран никак не отображает процесс.
Например, программисты ConquestSS, как говорится в Release Notes, от версии к версии что-то ускоряют. Но мои замеры показывают, что это какие-то пустые хлопоты. Взгляните на значения для CS 7.1 64bit и сравните их с другими. Только в этой версии по-умолчанию открывалась панель Script Editor (редактор, дерево кода и первая из панелей с результатами анализа скрипта - Errors), тогда как во всех других (в том числе и в CS 7.1 32bit) отрисовывалась более красочная закладка Summary с множеством графиков.
Прорисовка главного окна при запуске приложения с открытием демо-проекта
Раздражительность пользователя растёт от непонимания происходящего и, как факт, обновление главного окна юзеру приходится ожидать более 10 секунд при открытии проекта и по 5 секунд после каждого анализа.
Прорисовка главного окна после анализа проекта
Для понимания этого графика стоит учесть, что процесс прорисовки юзер видит собственными глазами. Но в некоторых версиях были отличия: 1) как уже было сказано, CS 7.1 64bit активировал Script Editor (текст и пара таблиц) закладку, а все остальные - Summary (несколько чартов); 2) в 7-мых версиях после анализа курсор в дереве проекта перескакивал на первый скрипт и, следовательно, значения в панели с результатами анализа просчитывались только для одного скрипта; 3) в 8-мых и 9-тых версиях выбранные для анализа ноды в дереве проекта не теряли своих чекеров и, следовательно, значения в панели с результатами анализа просчитывались для всех выбранных скриптов и папок; 4) CS 7.1 64bit  отличилась и в числе подсвеченных нод после анализа тем, что курсор в дереве раздваивался - на верхней ноде оставалась подсветка и на первом скрипте прорисовывался курсор-подсветка. Как видите из графика, снижение ожидания было за счёт закладки Script Editor в CS 7.1 64bit  и, вероятно, за счёт каких-то снижений затрат на обработку интерфейса в 8-мых и 9-тых версиях.
CS 9 black - Summary tab
CS 7.1 64bit - Script Editor tab
Cs 7.1 64bit - Project Tree node highlighting
Ещё некоторые графики мне показались интерсными. В них выведены цифры из панели самого процесса анализа. Напомню, что в каждой версии продукта ожидались идентичные данные для первых двух анализов и значительное снижение за счёт избегания генерации диаграмм и сбора инфы для них (убраны чекеры с Call Tree, Flowchart, CRUD1, CRUD2 и выбрано Delete при валидации диаграммных данных).
Время общего анализа и генерации Call Tree 
Добавив ещё по паре-тройке тестов для каждой версии и выкинув результаты анализа без генерации диаграмм, результаты не приблизились к желаемой скорости.
серая линия - весь анализ, коричневая - call  tree
Большая часть анализа отводится на форматирование и разбор структуры подпрограмм для проверки правил кодирования. Но, к сожалению, программисты не вычленяют сбор данных для диаграмм из процесса форматирования и анализа, если опции формирования чартов выключены. В нижеследующем графике каждые два-три последних форматирования в рамках версии продукта выполнены без диаграмм (удаление без валидации), но времени затрачивается больше, чем с формированием с нуля или валидацией.
Время выборки данных анализатора и форматирования кода
Для того, чтобы легче вам было разглядеть графики, они сгруппированы только по временным величинам (первая группа - полное время анализа и генерация call tree, второй - только форматирование или обработка данных для проверки правил кодирования, третья - генерация матриц crud и диаграмм flowchart).
Время генерации матриц crud и диаграмм flowchart
Очень странно, что полный анализ (серая линия на первом графике и второй график) проходит за разное время во впервые открытом приложении и при повторном запуске проги. Весьма заметно, что в 9-й версии что-то "накрутили" (светло-зелёная линия) при генерации flowchart, и с версии 8.1 что-то намудрили (синяя линия резко взлетела) для CRUD1.
В демо-проекте 60 скриптов, по полсотни flowchart и call tree диаграмм, десяток crud матриц. Все запуски имели равные условия (одна машина и рабочий день, без лишних  параллельных процессов), а линия обработки проекта показывает, что время не различается при генерации с диаграммами или только с анализом, без диаграмм. Соглашусь, что количество проведённых тестов для таких выводов маловато. Но тенденции по "совершенствованию" продукта вполне можно обнаружить.
Красота, конечно, требует жертв, но это совершенно нельзя применять к интерфейсным продуктам, которые хоть и помогают юзеру общаться с данными в упрощённом режиме, но пользователь в первую очередь желает не терять скорость обращения к данным и получать отчёты. Так, например, HTML Project Report с каждой версией замедляется.
Время генерации отчётов проекта
График показывает время формирования отчёта по демо-проекту: впервые открытого в чистом триале, после полного анализа, после анализа без диаграмм и ещё раз после полного переанализа. Наименьшие значения по версиям соответствует проекту без диаграмм. Но среднее время по версиям отчего-то растёт, хотя ни в каких RNs не упоминалось ни о каких изменениях в алгоритме генерации отчёта. Значит общие интерфейсные изменения в продукте отрицательно сказывались на генерации отчёта.

Из вышеизложенного могу порекомендовать тестировщикам и программистам интерфейсных десктопных приложений следующее.
1. Все внутренние процессы должны иметь визуализацию: конечную в виде "градусника" с процентами или таймерную анимацию в виде "пропеллера". Даже движущийся "пропеллер" не всегда даёт уверенность, что процесс когда-то закончится. А наличие сменяемого счётчика (хотя бы с 5-ти секундным интервалом) обнадёживает юзера благополучным исходом.
2. Десктопное приложение с первых секунд запуска должно быть обозначено на рабочем столе, на панели задач или трее. Юзер не должен рыскать по Диспетчеру Задач в поисках причин визуальной тишины. Причём подписи должны быть адекватными: обязательно актуальное название продукта (не как в CS 9 - пустая кнопка), информация о текущем состоянии продукта (инсталлируется, настраивается, запускается, закрывается, сохраняет или восстаналивает данные и тому подобное).
3. Сбор статистики для аналитиков или маркетологов не должен отягощать обычную работу пользователя. Если же это временно или срочно необходимо производителям, то перед выпуском проведите замеры и в Release Notes перечислите все процессы, которые станут замедляться.
4. Прежде чем кардинально менять интерфейс на новомодные элементы, замерьте прорисовку часто используемых окон по времени и объёму памяти.
5. Перерисовку основного окна не стоит выполнять бэкграундом. Закрывайте текущее окно, а затем ОДИН раз обновляйте главное. Иначе, ваше основное окно будет затрачивать ресурсы дважды: под текущим и при активации (например, в CS по завершении анализа моргают панели в основном окне, а после закрытия диалога опять прорисовывают тоже самое).

Перед началом тестов у меня была мизерная надежда, что разработчики в ConquestSS услышали своих пользователей и вместе с "бантиками" в виде новых иконок и тем подложки ускорили работу в приложении. Но, как всегда, вся вера в лучшее рухнула при виде результатов тестов. Помимо того, новый интерфейс только усугубил неудобства в виде плохо просматриваемых элементов, а местами и отсутствие привычных полезностей. Среди последнего: кнопка приложения в режиме загрузки приложения не имеет подписи; в тёмной теме очень трудно разглядеть выбранные ноды в дереве, процесс не отображается на кнопке приложения в панеле задач; сочетание новых иконок и тёмной темы не продумано - чёрные или голубые тонкие линии не видны на сером фоне. Так что в моей копилке высказываний завелось ещё одно: "Декорирование - хитрая наука, но тестировщик знает, что чем ярче банты, тем круче баги".

четверг, 14 июня 2018 г.

Копим куки

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

Предварительная настройка:
- в FireFox отключить все куки ("Открыть меню / Настройки / Приватность и защита / Принимать куки с веб-сайтов" = отключено)
- очистить имеющиеся куки ("Открыть меню / Настройки / Приватность и защита / Показать куки" = "Удалить выбранные")
- можно перезапустить браузер, но не обязательно.

Пример 1
- открыть сайт "mail.ru"
- в левом верхнем углу набрать свои (полностью корректные) параметры входа в почту:

- по нажатию на кнопку "Войти" неожиданно появляется опять форма для входа в почту с пустыми данными:

- вводим ещё раз свои корректные (!!!) данные. Хотя, очень непонятное явление - может какой вирус желает перехватить вводимую инфу? или сервис настолько наворочен, что впихнул в одну фичу все пять? или мои данные потерялись где-то? или ещё что...

Актуально: после второй попытки входа абсолютно неверное сообщение об ошибке в имени пользователя или пароле:


Ожидаемый результат: сообщение об ошибке должно говорить о некорректно настроенных или отключенных куках браузера.
Решение проблемы: добавить "https://mail.ru" и "https://account.mail.ru" (обратите внимание на протокол) в разрешённые веб-сайты для сбора куков.

Примеры 2, 3
Аккаунты в "Blogger.COM", "Blogspot.RU", "Google.COM" недоступны без включенных куков:






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

Пример 4
Аккаунт в Facebook становится доступным после добавления "https://www.facebook.com" в список веб-сайтов для сбора куков, но очень желательно перезапустить браузер после изменения настроек, чтоб не получить неожиданное сообщение:


Совет тестировщикам: для качественно проведённой работы проверяйте сайты с полностью очищенными куками и выключенными настройками для сбора куков.
Зачем? Понятный и дружелюбный интерфейс - это прямая дорога к увеличению пользователей, т.е. росту дохода компании.

среда, 9 мая 2018 г.

ПроЛОГОведение

К чему   перемены?
"А я милого узнаю по ..." Картинке! Любой продукт нуждается в представлении, а постоянный в логотипе. Первые конкурсы художественного слова в г.Кольчугино обозначались кругом с лирой иль птичьим крылом. Но с приобретением статусности, приглашая в жюри преподавателей из Академии Театрального Искусства, логотип в своих очертаниях напоминал сцену с волнами кулис:
  2008г.

С приходом технологий театры отказываются от тяжёлых кулис, также и логотип конкурса откинул "занавес":
  2016г.

Проект набирал обороты, команда впитывала опыт профессионалов, анализировала собственные шаги. Логотип должен отображать смысл: театральность и художественное чтение - разные направления, каждый чтец несёт свою мысль. К изменению картинки подключился архитектор:
- сцену, как намёк на театральность, убрали;
- вновь появились крылья в качестве полёта души выступающих, притом с мощным остовом;
- шрифт "СЛОВО" напоминает о корнях лексики;
- "СЛОВО" балансирует как бы на весах, но город поддерживает разные точки зрения (исполнения) новых и давно известных произведений;
- точка над городом как сгусток энергии искусства в самом театральном городе Владимирской области.
  2018г.


Это был пример десятилетнего Российского продукта на волонтёрской основе.
Теперь рассмотрим "совершеннолетний (16-18)" продукт с российскими корнями и европейско-американскими вливаниями. В 2000-2002 годах создавался продукт для внутреннего пользования заводским АСУПом - Table Magic. Потребность в функциях на тот момент была не велика: удобный доступ к данным и сопутствующему коду. Данные в базе Oracle хранятся в таблицах, поэтому и соответствующее имя продукту было дано:
  2000г.

В мае 2002 года компанией RCS решено было предложить продукт сторонним пользователям за плату. Тут нашёлся помощник из Европы с опытом работы в Америке. Он предложил новое название, но в тех же сине-красных тонах:
  2002г.

Продукт развивался, дополнялся утилитами для разработчиков и администраторов баз данных. Через пару лет случилось очередное кардинальное изменение имени и раскраски продукта:
  2004г.

Пройдя сквозь пару кризисов из логотипа ушёл красный цвет и серый хвост:
  2010г.

Компания расширила линейку продуктов, но иконка сайта осталась равной логотипу первого продукта, не смотря на то, что логотип компании появился в далёком 2005 году с открытием сайта. Здесь сказалась непродуманность смены брендов:
5 частых ошибок при процедуре ребрендинга
7 смертельных ошибок ребрендинга

Размерность мониторов увеличивалась с годами, и картинка приобрела мелкие детали, а  подпись "отлетела" (видимо за ненадобностью):
  (на сайте)
  (в продукте с 2017г.)

Вместе с преображением логотипа первого, но не основного по мнению маркетинга, продукта началось изменение дизайна сайта. Попытки облегчить его и приблизить к пользователю обернулись многозадачностью единственного программиста и отсутствием профессионального тестировщика. Переход затянулся на полгода, по прошествии которого сайт "почернел" и переехал к иному провайдеру web-платформ.
Скриншот первой версии (осень 2017 г.):


До сих пор есть места, доступные в первой версии:


Второй вариант дизайна тоже живёт в рамках последней версии:


Таким был сайт до весны 2018г. с верхним блокированным и продуктовым меню:


Текущий вариант верхнего меню:


Текущий вариант нижнего меню:


В ходе ребрендинга цвет логотипа компании посветлел:


Продукты попытались поделить по цвету. Рекламный проспект распределил: красный ClearSQL, зелёный ClearDB Documenter, синий - SQLDetective.


А на сайте раскраска оказалась иной: синий ClearSQL, красный ClearDB Documenter, зелёный SQLDetective.




Менее полугода сайт пестрел разнообразием красок.
В предверии выхода последней версии сайта был создан сайт-спутник по отдельной тематике одного из продуктов - gdprdb.com. Теперь это одна из страниц перенесённого портала. Его дизайн пределил текущую версию: чёрная шапка, а под ней бесфоновый текст. В чём символизм? Скорее всего в торопливости и общерусском "так сойдёт".
Очередное перемещение с заменой домена посерило всё: первое меню стало чёрным с едва заметным серым выделением, второе меню тоже не блокированное тонко-голубое на белом фоне, все картинки в дымке. Но среди всей видимой серости радует одно - появились лица реальных разработчиков, первый шаг выхода из тени. Афиширование российских, а особенно крымской, персон - весьма отчаянный шаг в рамках санкций. А если США их применит к "своей" компании, то останутся госструктуры в числе пользователей?

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