четверг, 1 августа 2019 г.

ТО о SD 5.1.1.160

Очередной build#160 продукта SQLDetective (SD) 5.1.1 выложен 18 июля 2019г. Пройдёмся по Release Notes (RNs).

IMPROVEMENTS  (85+0+80)/3=55%   минус (2,6+1+0,2)=3,8 баллов

Code Explorer (0,9+0,8+0,9+0,8)/4 = 85% готовности, минус (1+0,3+0,3+0,5+0,5)/5=2,6 пунктов за баги
• By default, the Code Explorer panel is now always open in the SQL Editor and Stored Program Editor.
По-умолчанию панель Code Explorer теперь всегда открыта в редакторах SQL Editor и Stored Program Editor.
В надежде на лучшее будем полагать, что наличие раскрытой панели Code Explorer является дефолтным только для первого открытия редакторов, так как в SQL Editor она не всегда нужна, например, DML запросы в этом дереве показаны лишь одной нодой, поэтому ничем не упрощают работу программисту. Постараемся в тестах не путать понятия "открыт" и "развёрнут", поскольку первое управляется кнопкой на тулбаре или опцией в контекстном меню, а второе - сплиттером открытого дерева.
По результатам общего теста (смотри ниже) для всех новшеств блока Code Explorer текущий пункт получает 0,9 балла, потому что кнопка тулбара показывает верно состояние дерева только в SQL Editor.
• It is now possible to toggle the visibility of the Code Explorer panel for each module separately.
Теперь возможно переключать видимость панели Code Explorer  для каждого модуля раздельно.
Напомню, что панель Code Explorer предназначена для визуализации PL/SQL кода, поэтому её наличие ожидаемо в следующих модулях и окнах: Stored Program Editor / main editor, SQL Editor / code editor, Trigger Wizard / Trigger Body / code editor, Job Wizard / General / What Execute, Sched.Job Wizard / Program / Inline Program / PL/SQL Block / code editor, Sched.Program Wizard / General / PL/SQL Block. Причём в Stored Program Editor и Trigger Wizard дерево существовало давно, а в SQL Editor добавили в SD 5.0, но из Trigger Wizard дерево как бы пропало в SD 5.1, поскольку апдейт не включает новую настройку (чуть позже опишу баг).
В целом новшество реализовано, но описание не конкретизировало модули, поэтому даю 0,8 балла.
• The “Code Explorer” page was removed from Preferences.
Страница "Code Explorer" удалена из настроек приложения.
Странно, что этот пункт не в отдельном блоке Removes и не в блоке компонента Preferences.
Проверка этого новшества заключается в трёх тестах: 1) функциональный - визуально проверить отсутствие страницы в окне Preferences; 2) недоделки (функционально-регрессионный) - в окне поиска Preferences не должны появляться убранные элементы; 3) регрессионный - восстановление (загрузка из файла) настроек приложения из предыдущей версии не меняет функционал. Функционально-юзабилити тест на замещение необходимо было бы проводить при отсутствии следующего пункта RNs.
Тест новшества положителен, но за неточности техписателя даю 0,9 балла.
• Added the “Toggle Code Explorer” command to the SQL Editor, Stored Program Editor, and Trigger Wizard pop-up menus.
Контекстное меню редакторов в окнах SQL Editor, Stored Program Editor и Trigger Wizard дополнено пунктом "Toggle Code Explorer".
Техписателю стоило уточнить, что пункт добавлен в блок Tools, а также функционал продублирован в IDic.
Тест новшества положителен, но за неточности техписателя даю 0,8 балла.

Для проверки минимальной функциональности открываем каждое из окон в режиме "чистой установки" (удаляем все настройки приложения из файловой системы и реестра), затем переоткрываем окна с включенным и отключенным предварительно деревом в этой же сессии приложения, третий шаг - открытие модулей с перезапуском приложения.  Для теста нужна матрица:
Для просмотра кликните по элементу
Если вы заметили, то этой матрицей мы одновременно проверяем все вышеописанные новшества. Проверки состояния пункта Tools/Togle Code Explorer в контекстном меню, состояния кнопки переключения дерева на тулбаре, состояния дерева expanded-split также можно сделать параллельно, но для полной детализации стоит расширить матрицу соответствующими строками.
Примечания. Первое открытие приложения "на чистую" всегда сопровождается автоматическим открытием SQL Editor, поэтому влияние модулей друг на друга проверяем полностью, а не опираемся на первый кейс. Поскольку SD позволительно запустить множество раз на одной машине, а некоторые настройки приложения временно работают из оперативки, то не лишним будет тест в трёх параллельных сессиях приложения (не подключение к базе, а отдельные инстансы интерфейса).
Тесты дали в большинстве положительные результаты. Выявленные баги:
1. Опцию переключения дерева кода в Trigger Wizard перенесли в иное место хранения (внутрипрограммные заморочки), но не выполнили перенос значения опции при апдейте приложения. В результате - регрессионный баг функционала - старые пользователи "потеряли" дерево кода в Trigger Wizard. Почему не включили для новых пользователей? Первая гипотеза - забыли, вторая - посчитали излишним, третья - посчитали интерфейс и без того перегруженным. Минус 1 балл.
2. В редакторах PL/SQL кода таких окон как Job Wizard, Sched.Job Wizard, Sched.Program Wizard нет дерева кода. Если бы описание новшества было конкретизировано по модулям, то это не считалось бы багом, а предложением. Минус 0,3 балла.
3. Не упомянуты в RNs изменения экшена и его кнопки в рамках IDic. Баг малой критичности из области документирования. Минус 0,3 балла.
4. Состояние открытости дерева в Stored Program Editor и Trigger Wizard не совпадает с состоянием кнопки переключения на тулбаре. Примечание: этот же экшен корректно отображается в контекстном меню. Интерфейсный баг не высокой критичности. Минус 0,5 балла.
5. В мастере триггера выявлен баг, связанный с размерами окна. При переоткрытии окна не восстанавливается высота. К тому же, предлагаемая высота чуть больше рабочего пространства, что вынуждает приложение добавлять вертикальный скроллер. Минус 0,5 балла.

Text Editor -100% антивыполненности
• When there is no text occurrence of the searched text in the code, the user is no longer prompted to start searching from the top.
Юзеру больше не предлагают начать поиск с начала, если в тексте закончились места с искомым.
Во-первых, в SD существует два типа редакторов текста: SynEdit, встроенный в модули для редактирования кода, и стандартный редактор текста, используемый самостоятельным окном для показа, например, значений символьных полей. Во-вторых, в обоих поиск запускается по стандартному экшену (Ctrl+F, кнопка на тулбаре, пункт в контекстном меню) и должен итерационно продолжаться по тоже стандартному экшену (F3, кнопка на тулбаре, пункт в контекстном меню).
Тест на продолжение и окончание поиска показал, что в SynEdit функционал поиска остался неизменно удобным: продолжение поиска работает и, при достижении конца/начала текста, предлагает новую итерацию. А вот в простом редакторе текста (окно с результатами Schema Extractor или дополнительное окно для просмотра/редактирования varchar-поля) не то что выполнение следующей итерации с начала/конца текста перестало быть возможным, а даже обычное продолжение по F3 (нет кнопки Find Next на тулбаре и пункта в контекстном меню).
Мало того, что описание новшества не соответствует реализации, так ещё это можно назвать анти-юзабилити. Поэтому минус 1 балл.
В рамках комплексного тестирования выявлено западание окна с результатами множественных замен в тексте.
Для просмотра кликните по элементу
Online Support Desk (=OSD) 80% готовности
• Added the ability to reply to OSD messages from the “OSD Preview” window.
Добавлена возможность отвечать на OSD сообщение из режима предварительного просмотра.
Вспомним, что экшен Reply давно появился в списках сообщений. Но почему-то хотя бы в рамках новшества не убрали лишние пункты из меню для отправленных и удалённых, поскольку для черновиков пункта Reply нет в контекстном меню.
В режиме просмотра кнопка Reply активна для сообщений типа Received, но странно, что она не гаснет и для просматриваемого нового ответа. Да, для обычных новых сообщений кнопка в неактивном режиме, но ведь ответ - это тоже новое сообщение. Значит программист на каком-то этапе не допереключил флаг с Received на New, поскольку ещё раз ответ уже не генерится.
С учётом недоделок даю 0,8 балла.
В рамках комплексного тестирования вылезли следующие юзабилити-баги:
1. Минимальная высота окна такова, что все кнопки управления спрятаны. Для их нажатия приходится скроллить основной экран, что прячет информацию из заголовка сообщения. Моё предложение про необходимость сворачивать блоки существует (если шеф его не удалил) в базе багов очень давно, года с 2015-2016.
2. В форме нового сообщения-ответа (Reply) поле Text имеет два окна: не редактируемая пустая строка и основное окно. Эта пустая строка - лишний элемент, обычно показываемый для авто-формируемых сообщений из EurekaLog. Если её скрыть, то кнопки управления будут хотя бы наполовину видны.
Для просмотра кликните по элементу

BUGS FIXED  (100+0+75+90+50+100)/6=69,16%  минус (1+0,3+1+0,3)=2,6 балла

Code Explorer два бага исправлены на 100%, но за регрессию минус 1 балл
• Toggling the visibility of the Code Explorer panel in the Stored Program Editor no longer affects the SQL Editor and Trigger Wizard.
Переключение видимости панели дерева кода в Stored Program Editor больше не влияет на SQL Editor и Trigger Wizard.
Поясню. Раньше (до SD#5) Code Explorer был только в Stored Program Editor и Trigger Wizard, его видимость определялась по своим настройкам в каждом окне, но для Stored Program Editor был дубликат опции в настройках приложения. Когда в предыдущей версии Code Explorer добавили в SQL Editor, то его видимостью (а заодно и фильтрацией) заведовала общая опция с Stored Program Editor. Теперь, поскольку у каждого модуля есть самостоятельная опция переключения видимости, изменение её значения для одного окна не влияет на остальные два. Тест уже был проведён в рамках вышеописанных новшеств для Code Explorer - это тоже принцип комплексного тестирования, когда одним тестом закрываются и новшества, и баги по одному модулю. Ставлю 1 балл.
• The Code Explorer tree is no longer empty on first opening of the script.
Дерево Code Explorer больше не пустое при первом открытии скрипта.
Этот баг был актуален только для SQL Editor, поскольку для чистой закладки редактора дерево кода даже не подписывалось и воспринималось как лишнее окно. Баг исправлен и заслуживает 1 балл.
Но тест был бы не полным, если бы мы ограничились лишь одним модулем и не проверили пустые окна Stored Program Editor и Trigger Wizard. Открытие пустого окна и новой закладки в Stored Program Editor никакой регрессии не привнесло. А вот открыть новый Trigger Wizard с пустым редактором кода не было возможным в предыдущей версии (шаблон тела триггера вставляется автоматически). Попытки же создать новый триггер без предварительного выбора таблицы/вьювера оказались невозможными. То есть внесён баг регрессии: невозможно открыть мастер триггера для создания нового объекта из главного меню приложения и контекстного меню навигатора объектов без заведомо выбранного родительского объекта. Минус 1 балл.

Schema Compiler не более 0,5 балла
• An access violation error no longer occurs after compilation is completed.
Ошибка доступа больше не случается по окончании компиляции.
В качестве теста выполняем компиляцию схемы в предыдущем билде и текущем. Поскольку у меня не получилось отловить AV ни на особой схеме, ни на нескольких, ни на спец.режиме компиляции в предыдущих билдах, то заключаю, что это не исправление бага, а приписка. И поэтому ставлю 0,5 балла за возможное неполное описание техписателем.

Schema Extractor 90% из-за неполного описания
• The object list in the Schema Extractor is no longer empty.
Список объектов в экстракторе схем больше никогда не пустует.
Поясню: список объектов в Schema Extractor можно увидеть только если включена опция "Schema Extractor / Options / Preview list of objects before extract".  Поскольку она по-умолчанию включена, то для теста экспортируем любую схему в предыдущем билде и текущем. Из чего выяснилось, что раньше выгружались только триггеры, хоть и были выбраны все типы объектов. Так что баг исправлен на 0,9 баллов. Но меня смущает тот факт, что не исправляется не менее важная проблема - скорость, особенно для юзера без DBA привилегий. Schema Extractor работает в полтора раза медленнее Compare Schemas, а обычный юзер в два раза медленнее админского. Также был подмечен баг прятания модульного окна со списком объектов за основное окно приложения, если во время выгрузки переключаться на другие приложения.

Main Window 75% из-за регрессии
• When the “Show active session window only” option is enabled, objects of inactive sessions are no longer shown in the taskbar pop-up menu.
Объекты неактивных сессий больше не показываются в контекстном меню линейки задач при включенной опции "Show active session window only".
Поясню: опция "Show active session window only" переключается в главном меню "View / Active Session" или по кнопке главного тулбара в правом нижнем углу, а контекстным меню для описанного случая считается список не уместившихся кнопок на строке задач. Для теста, кроме включенной опции "Show active session window only" желательно включить опцию "Preferences / General / Task Bar / Dislay captions" и нет смысла включать опцию "Preferences / General / Task Bar / Combine buttons". При такой комбинации настроек надо сделать несколько подключений к базе (одинаковые или разные схемы), в которых открыть много мастеров объекта (любого типа, но проверить и пересечение типов, и наименований). Окна с фичей мультисессии (Stored Program Editor, Schema Extractor и другие) для теста не показательны, но могут дать баги при внутреннем переключении сессий, если это не было проверено при внедрении фич по визуальному разделению сессий и масштабированию панели задач.
В рамках воспроизведения бага на предыдущей версии выяснилось, что панель задач может вообще быть пустой для второго подключения базы. Так что фикс получился более широким, а техписатель коротким описанием принизил масштаб и важность исправления.
По результатам тестов можно отрапортовать о следующих багах:
1. Выполнение Close All для панели задач не учитывает режим показа кнопок только активной сессии. Для меня была неожиданностью пустота taskbar во второй сессии после выполнения Close All в рамках первой при включенной опции "Show active session window only".
2. В подписях кнопок (или хотя бы в хинтах) и пунктов выпадающего списка панели задач не хватает информации о сессии (connection string, color), особенно для окон с поддержкой мультисессионности. Понимаю, что это сложно реализовать для SmartDataset и Stored Program Editor, работающих одновременно с разными сессиями без фильтрации по ним. Но когда в нескольких SQL Editor ведётся работа по отдельным сессиям, то именно подобная подпись смогла бы улучшить интерфейс. На самом деле отсутствие хинтов - это баг регрессии, особенно если выключить опцию "Preferences / General / Task Bar / Dislay captions".
3. Анимация значков не работает в выпадающем списке панели задач. График двигается для модуля DB Monitor и давно ожидается для PL/SQL Profiler на кнопках taskbar. Но когда они в списке невидимых, то иконка модуля только статична.
4. Мультисессионные окна никак не реагируют на переключение между активными сессиями при включенной опции "Show active session window only".
5. Множественное открытие окон SQL Editor и Stored Program Editor для нескольких подключенных сессий в режиме включенной опции "Show active session window only" прячет окно Preferences на моменте его открытия.

Object Wizards 0%
• The “Compress data” check box no longer appears unavailable (grayed out) in the Index Wizard, Materialized View Wizard, Materialized View Log Wizard, Tablespace Wizard.
Чек-бокс "Compress data" больше не рисуется в недоступном режиме в мастерах объектов Индекса, Материализованного Представления, Лога материализованного представления, Табличного Пространства.
Во-первых, ни в одном из мастеров нет опции под названием "Compress data". Во-вторых, аналогично её нет и при выгрузке DDL (как-то промелькнула мысль, что техписательница опечаталась с модулями). В-третьих, в мастере сегмента есть опция компрессии, но это давно комбобокс, а не чек-бокс. В-четвёртых, комбобокс недоступен для изменений при значении Unavailable для компрессии объекта в рамках базы. Из чего заключаю, что этот фикс либо приписка из числа давно неактуальных багов, либо техписательница абсолютно неверно описала фикс. Не могу поставить даже полбалла.

User Wizard 100%
• The “Account Lock” check box no longer appears unavailable (grayed out).
Чек-бокс "Account Lock" больше не рисуется в недоступном режиме.
Стоит отметить, что вместе с опцией "Account lock", возможно в рамках текущего фикса, поправлена и соседняя "Password expire". Так что плюс в карму программиста, но минус в карму техписателя. А фиксу даю 1 балл.


Итого готовность билда: (85+0+80)/3=55% импрувами и (100+0+75+90+50+100)/6=69,16%  багами даёт 62% общей готовности.

Комментариев нет:

Отправить комментарий