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

среда, 17 октября 2018 г.

Cheat sheet for options

Чит-лист для опций в виде check-boxes и radio-buttons
- наименования
-- короткие
-- однозначные
-- логически ясные без дополнительных подсказок
--- наличие хинта для сложного наименования
--- примеры использования в статье хелпа
- значения по-умолчанию
-- описаны в хелпе
-- в check-boxes все могут быть нулевыми
-- в группе radio-buttons одно значение выбрано
-- для radio-buttons обязательна группа элементов
- граничные значения
-- check-boxes двузначные (включено/выключено)
-- check-boxes трёхзначные (все включенные/выключенные дочерние включают/выключают родительский check-box, неполный выбор дочерних ведёт к полувыбору [серая галка] родительского check-box)
-- все check-boxes могут быть включены/выключены одновременно
-- только один radio-button может быть выбран
-- все значения radio-buttons не могут быть нулевыми одновременно
-- количество check-boxes ведёт отсчёт от 1
-- количество radio-buttons не может быть меньше 2
- функционал
-- логика check-boxes в коньюнкции "И-&"
-- логика radio-buttons в дизъюнкции "ИЛИ-V"
-- значение опции должно сохраняться и восстанавливаться при переоткрытии окна с опциями и перезапуске приложения на одной и той же машине или при том же логине
-- применение в приложении каждой отдельной опции
-- применение в приложении комбинацией группы опций

суббота, 30 июня 2018 г.

МОПС - сборщик мусора

МОПС = Метод Отложенного Поиска Смысла, Можно Обдумать После Спринта, Мобильная Организация Проверки Сомнений

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

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

Общее время теста равно количеству опций (по  одной из каждого класса эквивалентности) помноженному на 2-5 минут в зависимости от скорости памяти оперативной (иногда достаточен перезапуск формы) и постоянной (обязателен перезапуск приложения).

Проверка внешнего вида формы настроек (размер и  расположение элементов, грамотность подписей) в тест о сохранении/восстановлении не входит. Поэтому все отклонения выравниваний, размерности шрифтов, цветовые сочетания, опечатки складируются в папку временных багов МОПС. Для таких мелких ошибок обычно достаточно виндовых ножниц, либо настраиваем приложение для снятия скриншотов на активное окно. Первый сохраняемый файл называем "КороткоеИмяПродукта_НомерБилда_КраткоеИмяБага". Все последующие скриншоты, используя возможности приложения, будут автоматически сохраняться в папку МОПС и нам лишь остаётся подправлять окончание в имени файла или увеличивать последовательно номер. Но более полезно менять "КраткоеИмяБага", поскольку на оформление и локализацию задач из папки МОПС обычно время выделяется из числа неоплачиваемого.
Логичность зависимостей опций между собой (например, шрифт в приложении использовать стандартный или индивидуальный; если настраиваемый, то опции формата должны быть доступны для изменений, иначе - только на просмотр) тоже не входит в наш изначальный тест. А поскольку нашим тестом проверяются все опции, то вполне возможно, что какие-то опции могут быть сгруппированы и включаться по глобальной выборке. Эти предложения откладываются в папку МОПС, поскольку требуют вмешательства со стороны консультантов, да и время теста на обсуждение не планировалось. Скриншоты в таких случаях более полезны со всего экрана, то есть запущенный PicPick (или иное приложение) настраиваем на снятие скриншотов всего рабочего стола.
Сопутствующие баги настроек иногда выявляются путём проверок синхронизаций (опция выставляется в форме настроек, а меняться может в пользовательской форме с прямым назначением: параметры принтера удобно корректировать перед самой печатью). Если пользовательская форма не имеет синхронизации с формой настроек, то такие баги, конечно же, не относятся к нашему изначальному тесту, но вполне их можно обнаружить при проверке восстановлений опций. Поэтому такие (чаще спорные моменты, которые программисты называют фичами) сомнительные моменты временно оформляем в папку МОПС. Старайтесь снять скриншот так, чтобы в его область попало сразу всё - и окно настроек, и пользовательская форма, либо воспользуйтесь видео-рекодером.

Шаги МОПСа:
- Создать папку с общим доступом:
-- для консультантов, аналитиков, программистов права на чтение. Не давайте пополнять им эту папку, иначе утонете в завалах;
-- к папке есть доступ из компа с тестируемым продуктом для создания файлов-скриншотов. Поскольку для тестируемых приложений обычно разворачивается виртуальная машина, то следует заранее продумывать её структуру, в том числе и доступ ко всем необходимым папкам, документам и вспомогательным приложениям (для снятия скриншотов должна работать клавиша PrtSc или копирование в буфер, для записи видео нужна специальная программа);
-- к папке есть доступ из системы контроля версий для редактирования, загрузки в баг-трекинговую систему, удаления использованных скриншотов.
- Во время проведения основного теста снимать скриншоты и складывать их в папку временных багов. Файлам давать имена с указанием продукта, билда, основного подозрительного момента.
- Актуализация, локализация и оформление выявленных спорных моментов проводятся по окончании теста, в конце рабочего дня (лучше на следующий день с утра) или спринта. Чем раньше будет выполнена эта работа, тем легче будет проводить локализацию, так как билд может смениться или подробности забудутся. Желательно проводить этот шаг в рабочее время, поскольку иногда требуется консультация других сотрудников, поэтому более лучшее время - утро следующего дня (как в поговорке "утро вечера мудренее" - проверено, локализация проходит быстрее на свежую голову). Поскольку МОПС - это метод организации работы тестировщика, то желательно руководителям запланировать время на работы по очистке папок МОПС для каждого сотрудника, в том числе и консультантов.
- Каждый использованный скриншот удаляется после актуализации и оформления. Полезные скриншоты отправляются в БТС с соответствующей корректировкой (удаляются лишние поля, добавляются пометки). Постепенное очищение папки временных багов показывает скорость вашей работы и даёт надежду на скорое её окончание, то есть мотивирует вас на достижение цели - чистота в папке временных багов ведёт к чистоте всего продукта.

Собаки мопсы - коротконогие, а шаги МОПСа позволяет по скорому тестировать и экономить рабочее время за счёт сокращения отвлеканий от основной идеи. Скарлетт О'Хара твердила: "Об этом я подумаю завтра" и не забивала голову лишними проблемами. Откладывайте актуализацию на завтра, но помечайте каждый момент, тогда ваше внимание не будет распыляться на временные препятствия, да и "всякие мелочи" не ускользнут от профессионала.

четверг, 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" в список веб-сайтов для сбора куков, но очень желательно перезапустить браузер после изменения настроек, чтоб не получить неожиданное сообщение:


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

вторник, 12 июня 2018 г.

Icon Dictionary (IDic) = продуктовый учебник и настройщик




Icon Dictionary – уникальный модуль продукта SQLDetective (http://www.conquestsoftwaresolutions.com/page/sqldetective_screen_shots "Miscellaneous | Icon Dictionary Screenshot library: 67 / 69"), позволяющий обучиться пользованию продуктом, устанавливать удобные горячие клавиши и тулбары во всех рабочих окнах, отслеживать объём работ в продукте.


Подсказки к видео (https://www.youtube.com/watch?v=RFgnUsijudI):

* 4 сек "Migrating to SQLDetective: Shortcut Schema" – имя продукта SQLDetective имеет специальный фонт частями и слово неразделимо; значение заголовка ролика говорит о том, что при переходе на продукт SQLDetective с других аналогов Вам не придётся менять свои привычки, потому что достаточно перевыбрать список горячих клавиш, и "новое" приложение будет работать в привычном Вам режиме. Например, компиляция подпрограммы "Ctrl+F" в TOAD имеет иное сочетание горячих клавиш в SQLDetective -"F9", но возврат к привычному делается в один клик;

* 7 сек "For a seamless migration from peer SQL IDE tools to SQLDetective you can use familiar shortcut key schemas." – список "привычных" продуктов ограничен: TOAD, SQL Navigator, PL/SQL Developer, к сожалению, нет схемы горячих клавиш самого популярного бесплатного продукта SQL Developer от Oracle;

* 13 сек "NO unknown key combinations – select the preferable schema type from the list. If necessary, modify the existing shortcuts or define the new ones." – детально смена горячих клавиш описана в статье "The SQLDetective interface - Icon Dictionary - Action Navigator - Shortcut key customization" хелпа приложения. Не пытайтесь вызвать хелп из окна со списком горячих клавиш и активной строкой какого-нибудь действия, так как новая горячая клавиша F1 будет пытаться быть назначенной текущему действию;

* 31 сек "Combinations different from the default, are marked with Yes in the Modified column." – пометка об изменённом сочетании горячих клавиш, отличном от стандартного в зависимости от продуктовой схемы, показывается только для конкретной продуктовой схемы горячих клавиш. Вернуться к стандартной горячей клавише можно в любой продуктовой схеме через действия Reset current Shortcut в конттекстном или главном меню окна;

* 41 сек "Top Features  Detect most and least popular features by counting the number of clicks you made to call them in the interface." – экшены в тулбаре, главном и контекстном меню являются едиными и их выполнение подсчитывается в едином списке. Смена и проверка уникальности горячих клавиш тоже производится по единому списку для уникальности хотя бы в одном независимом окне;

* 46 сек "Top Features  See, the number of times you used Open Object equals 14… " – наименование окна Open Object неполноценно отформатировано (оба слова – название одного окна). В качестве примера выбран объект – хранимая подпрограмма, который открывается в окне Stored Program Editor, для большинства других объектов в SQLDetective автоматически открываются собственные мастера объектов, если этот объект выбран в дереве Object Navigator. Когда же в Object Navigator курсор на папке, то по экшену Open Object появится окно для выбора типа и владельца открываемого объекта;

* 56 сек  "Top Features  … but after you open a DB object once again, the figure automatically changes to 15. By the way, the last used date is also there." - данные о кликах хранятся в зашифрованном виде (пара файликов в %AppData%), доступном только из приложения. История кликов не ведётся, показывается только дата без точного времени (хоть и выставлена в настройках приложения) одного последнего клика. Клики при записи и воспроизведении макроса (http://www.conquestsoftwaresolutions.com/page/sqldetective_screen_shots  "Miscellaneous | Macro Recorder  Screenshot library: 68 / 69") учитываются в числе прочих. Но если окно IDic было открыто на закладке со списком нажатой горячей клавиши, то при активации окна IDic придётся обновить список вручную – открыть любую соседнюю страницу и вернуться, так как нет иной возможности обновить список нажатых горячих клавиш или кнопок тулбара. Нажатие кнопки тулбара и сочетания горячих клавиш подсчитывается как единое действие, различий нет;

* запись сделана на билде, которого нет в общем доступе, поэтому не ищите точного интерфейсного совпадения с имеющимся SQLDetective 4.4.


В режиме обучения (выберите режим из комбобокса Display mode и навигируйте особым курсором по видимым экшенам – кнопки тулбаров, иконки, пункты меню) доступны описания почти всех действий приложения. Отдельная часть Movie Navigator состоит из списка обучающих видео-роликов, записанных много лет назад на версии 3.5, но частично актуальных и в текущей версии SQLDetective.

Не беспокойтесь, история запущенных действий не отправляется автоматически в техподдержку Conquest Software Solutions вместе с логами или настройками приложения. К сожалению, мониторить работу с приложением можно в очень ограниченном виде – только количество и дата последнего клика.




понедельник, 11 июня 2018 г.

Call Tree диаграммы в ClearSQL

Подсказки по работе с Call Tree диаграммами в приложении ClearSQL (https://www.sqldev.tech/clearsql)

1. Для любых скриптов проекта, имеющих в коде вызовы объектов базы данных Oracle, ClearSQL генерит диаграммы Call Tree. Главный объект диаграммы выделен цветом по значению опции "main menu / Options / Code Analyzer Options / Diagram Options / Call Tree / Call Tree Colors / Selected subroutine". Объекты в диаграмме сгруппированы по владельцу и опционально по "родительскому" (подпрограммы пакета или объектного типа). Группировка утяжеляет генерацию диаграмм. Объекты по имени и владельцу попадают в диаграммы уникально для всего проекта. На перегенерацию при анализе скрипта не влияют некоторые локальные опции диаграммы, если включена "main menu Options / Preferences / Project Analysis / Carts, Diagrams and Matrices / Keep diagram local settings"? но их смена применяется при перерисовке диаграммы в самом окне диаграммы по кнопке Redraw.

2. Существует два окна с диаграммами Call Tree в интерфейсе – уровень проекта (закладка All Call Trees) и уровня скрипта (закладка Script: Editor and Analyzer Info / Call Trees). В отчёт эти диаграммы попадают "as is" в зависимости от опций интерфейса и отчёта "main menu / Tools / Project Report Assistant". Обе закладки состоят из двух частей – дерево диаграмм и окно просмотра выбранных в дереве диаграмм. Выбор объектов в дереве диаграмм автоматически подсвечивает скрипты в дереве проекта с основным объектом диаграммы.

3. Примечания к титрам видеоролика (https://www.youtube.com/watch?v=7qsJYZQKVbo):

* 3 сек "Call Trees in ClearSQL" - название продукта неполноценно отформатировано (часть Clear должна быть italic-format = ClearSQL);

* 12 сек "Purpose ClearSQL draws subroutine calls and called-by path of PL/SQL code in call tree diagrams." – уровень вложенности вызовов настраивается в "main menu / Options / Code Analyzer Options / Diagram Options / Call Tree / Call Tree Appearance / Call level", по-умолчанию равен 3 в обе стороны. Подписи обращений к объектам данных показаны по-умолчанию опцией "main menu / Options / Code Analyzer Options / Diagram Options / Call Tree / Call Tree Appearance / Show data flow labels";

* 26 сек "Statements  Data flows show how subroutines get data from data objects (table, view) with SELECT statement, and how they put data back with INSERT or UPDATE statements, delete data with DELETE statements." – суб-команды из выражения MERGE тоже попадают в схему как самостоятельные связки, но никакие команды не попадают в диаграмму из строкового значения какой-либо переменной кода и из EXECUTE IMMEDIATE;

* 40 сек "Clicking call tree blocks locates subroutine in the Code Editor, so you have the source code at hand." – навигация из диаграммы в текст кода работает в одностороннем порядке, т.е. из кода в диаграммы навигации не существует, но из дерева диаграмм автоматически подсвечиваются срипты в дереве проекта;

* 45 сек "For example, clicking the CREATETRN function opens the DNTS1 package, where you can see from where the INSERT INTO transactions table flows." – на закладке All Call Trees для демо проекта откройте дерево диаграмм до ноды "Dataset Objects / TRANSACTIONS", при этом в дереве проекта позиционируется скрипт "Package Body.sql", по клику в диаграмме на блоке "CREATETRN" активный курсор из закладки All Call Trees перейдёт в окно "Script: Editor and Analyzer Info / Code Editor" и подсветит первую строку подпрограммы "CreateTRN", в которой имеется первый из вызовов объекта "TRANSACTIONS". Поскольку один и тот же объект в скрипте может вызываться в нескольких местах, то локатор из Call Tree диаграммы в код находится в стадии доработки и частично реализован в ClearDB Documenter (http://www.conquestsoftwaresolutions.com/page/cleardb_screen_shots  - Docu | PL/SQL code in diagrams — Slide 2/4: Call Trees), или например в доке (http://www.conquestsoftwaresolutions.com:8082/docus/), из пакета "HR.DBG_DEMO.PROC1" вызывается процедура "HR.DBG_DEMO.PROC2" и её упоминание в пакете есть на 47 и 55 строках тела пакета;

* 1 мин 3 сек "Clicking the MAKETRANS procedure will help you identify the SELECT statement FROM this table." – следует читать как " Clicking the MAKETRANS block in diagram navigates you to the SELECT statement for this table in code text.";

* 1 мин 15 сек "Legend The diagram legend won't let you forget what all these colorful arrows & boxes mean." – цвета блоков по типам объектов совпадают с настройками, если диаграмма генерилась с включенной группировкой, иначе – блоки вызываемых и вызывающих объектов покрашены в красный и терракотовый цвета, для которых не существует юзерских настроек;

* 1 мин 24 сек "Flexible GUI  Zoom out a complex diagram net to see the overall picture or magnify its separate parts to see the details closer." – зуммер и лупа доступны не только в Call Tree, но и в Flowchart диаграммах. Осторожно: кнопки "Zoom diagram" и "Magnifier" никак не синхронизированы с встроенным списком в нижнем правом углу процентного просмотра html-вьювера. При регенерации диаграмм зуммер сбрасывается в дефолт – 100%;

* 1 мин 37 сек "Flexible GUI  For better usability, turn on the Highlight Elements feature to see the separate data flows and not to get lost in the maize of lines & blocks. Note: Highlight is available in SVG format only!" – формат диаграмм SVG является дефолтным, но сменить можно в "main menu / Options / Code Analyzer Options / Diagram Options / Output Diagram Format" перед генерацией.