Отчёт тестирования первого билда (#121) новой мажорной версии (#8.0.1) продукта
ClearSQL (далее -
CS) от компании
ConquestSS, опубликованного 12 ноября 2018 года. Последний
билд предыдущей версии был выпущен пару месяцев назад, но это не значит, что текущую новую версию группа разработки сделала за столь короткий период. Обычно новшества следующей версии готовятся параллельно с фиксами багов в текущей. Проверки будут осуществляться по пунктам
Release Notes новой версии с учётом аналогичных фиксов за полгода в предыдущей версии. Также, в самом приложении текст доступен в главном меню "Help / Release Notes". Оценка готовности билда производится в процентных баллах с учётом выявленных проблем.
NEW FEATURES 0.5+0.5+0.5+0.5=2 из
4 возможных
NEW: Metered License. A new license that provides a monthly subscription including 100.000 lines of code.
Новшество: Мерная лицензия. Новая лицензия допускает месячную подписку на 100000 строк кода.
Здесь стоит пояснить недочёт составителя
RNs. Ежемесячная лицензия очень дешёвая (10$) и ограниченная не только по периоду использования, но и по количеству строк кода, которые можно переанализировать в рамках такой лицензии. Шестизначное число сначала кажется большим, но если разобраться, то этого количества вам может не хватить даже на один день работы. Из многолетнего опыта сотрудника тех.поддержки всех продуктов
ConquestSS могу вас заверить, что средний пакет с телом в продуктах банковской или любой иной серьёзной сферы состоит из 2-3 тысяч строк, а в схеме таких пакетов обычно несколько тысяч. Так что, мерная лицензия никак не сопоставима с серьёзными организациями. Она может лишь заменить триальную версию. Весьма накладно доплачивать за каждый последующий десяток тысяч строк кода для анализа. Могу лишь согласиться с той мыслью, что такой тип лицензирования приучит
программистов писать более короткий код. В плане функционального тестирования этого новшества ничего не могу предоставить из-за отсутствия у меня соответствующих прав. Но, зная систему программирования в
ConquestSS, могу предположить, что баг с переводом дат (возврат назад до истечения периода) по-прежнему существует. Скорее всего и с подсчётом строк имеются проблемы, когда алгоритм неожиданно требует подключение к Интернету, а потом не может согласовать смену компьютера и передачу ключа соседу, или простенько обнуляется удалением особого ключа из реестра и файлика. Для вытягивания денег из пользователей
CS такая новинка вполне вписывается в стиль
ConquestSS-бизнесменов, а если посмотреть на нужды юзеров, то глубоко сомневаюсь, что мерная лицензия с подобными ограничениями станет популярной. Но если я ошибаюсь в понимании функционала, в чём виновато скудное его описание, то может случиться так, что на самом деле ограничение поставлено на каждый из анализируемых скриптов, подобно триальному в 300 строк, а не на общее количество строк во всех анализируемых скриптах. Тогда
CS можно считать условно бесплатным приложением, что врядли позволят себе всегда жаждущие халявно наживиться владельцы
CS. Кстати, действительно ли мерная лицензия считает строки кода со специальным символом в конце, а не строки файла с обычным переводом каретки в каждой? Поэтому даю лишь 0.5 балла. Если подтвердите мои догадки о багах, то снимайте баллы и за них. В частности, тестом на регрессию будет кейс утери файла ключа и возврат на триал или перевыбор лицензии.
Год назад со мной общался новый маркетолог компании и одним из моих предложений по раскручиванию продуктов был возврат к лицензиям аренды на месяц-квартал-полгода. Немного переиначив старый функционал разработчики ввели понятие мерной лицензии. Мне же, как идейному вдохновителю, ничего от этого не перепало. Вот и верь после этого в "честность бизнеса", которой постоянно бахвалится
финдиректор.
NEW: Technical Debt. A new code metric to calculated an assumed cost of fixing structural imperfections in code.
Новшество: Технический долг. Новая метрика кода подсчитывает стоимость структурных изменений кода.
В результатах анализа кода в таблицу с метриками кода и в некоторые графики добавлен показатель, просчитывающий так называемый технический долг разработчика PL/SQL кода. Формула и параметры расчёта описаны во встроенной справке для страницы "Options / Code Analyzer Options / Code Metrics Options / Technical Debt", но, как видите сами,
тех.писательница поленилась упомянуть всё это в
RNs. В справке сразу бросаются в глаза двойные символы процента.
|
Проблемный текст помощника |
Нигде не сказано, на какие исследования ссылается вывод об избранной формуле для расчёта технического долга. Также нет возможности корректировать формулу, даже изменяемые в опциях параметры не отображают своего фактического значения в формуле, что даёт повод подозревать применимость лишь дефолтных значений. Все иные метрики, изменяемые на странице выше "Options / Code Analyzer Options / Code Metrics Options", моментально отображаются во встроенной справке и имеют ссылки на официальные документы и исследования. Выявленные недоработки позволяют мне дать лишь 0.5 балла за новшество.
NEW: “Avoid duplicate code.” A new code review rule detecting similar lines of code, blocks, and scripts in a ClearSQL project.
Новшество: Избегать дублирование кода. Новое правило проверки кода выявляет похожие строки кода или целые блоки, а также скрипты в проекта продукта.
Ранее, при импорте скриптов в проект
CS дублирование скриптов проверялось лишь по его имени, либо во время синхронизации скрипта проекта с линкованным файлом или объектом БД. Теперь в число правил проверки кода добавили сравнение всех строк анализируемого кода на повторимость во всех скриптах, анализируемых в текущей сессии анализатора. Настройка правила имеет "точность" сравнения от 1 до 1000 строк. Лимиты сразу вызывают подозрение, поскольку не имеют значения "unlimited" для полного сравнения скриптов целиком (о фактических размерах которых уже говорилось выше). В начале 2017 года во время подготовки доклада для SQADays-21 у меня возникла идея, что хорошо было бы усовершенствовать диаграммы Flowchart поиском дубликатов, а в результате это предложение смогли сделать лишь в виде правила проверки кода. Хоть и не графически, но всё-таки помощь юзерам
CS сделали. Конечно, с отображением и навигацией пока есть проблемы: из списка дубликатов сложно понять с каким конкретно скриптом и строкой имеются дублирования, а также при клике по этим строкам в результатах анализа перенос курсора работает не только в неописанном в хелпе способом, но и логически не понятном. Так что, новшество получает лишь 0.5 балла.
NEW: Quality Trend. A graphical chart representing a trend of issues detected during code analyses.
Новшество: Направление качества. График отображает скачки проблем, выявленных во время анализа кода.
Опять же, мне придётся доделать работу
тех.писательницы и пояснить где и что конкретно появилось. В интерфейсе и отчёте по проекту добавлен график в число General, который формируется в трёх разрезах (скрипт, папка, проект), по фактическим датам анализа и показывает четыре линии (количество критичных и важных срабатываний проверок правил кодирования, количество красно-флаговых метрик кода, объёмы технического долга, количество ошибок парсера). Цветовая гамма и стиль графиков не имеют пользовательской настройки, а значения по-умолчанию далеки от логики и ассоциативного ряда. Также нет никакой возможности добавить или изменить графики чарта, поскольку у разных команд разработки качество может определяться и по иным параметрам. Демо-проект, поставляемый с инсталлятором
CS показывает пустоту, хоть в истории проекта и скриптов имеются 1-2 анализа. Это признак того, что билд не проверялся даже в такой элементарности, как
smoke-test for trial user. С большой натяжкой даю 0.5 балла.
IMPROVEMENTS 1.5+2.5+2.5+0+1.5+0+0+0+1+0+1+1+0+0.5=11.5 из
4+3+4+3+4+1+1+1+1+1+1+1+1+1=27 возможных,
-0.5-6-0.5-1-0.5=-8.5 баллов за баги
Core 0.7+0+0.3+0.5=1.5 из
4 возможных,
-0.5 за баг
•
The new trial version of ClearSQL is now available without feature limitations and is active for 5 days.
Новая триальная версия CS теперь доступна без ограничения функционала и работает 5 дней.
Это значит, что триал сократился с 30 до 5 дней. Но с ограничениями функционала есть проблема: на самом деле только 300 строк кода каждого анализируемого скрипта могут быть отражены в результатах анализатора, то есть если вы надумаете перепроверить имеющийся скрипт "PACKAGE BODY ET_DEBUG" в демо-проекте, то результат Code Review и Structure View триальщику будет доступен лишь наполовину, потому что в скрипте изначально более 600 строк текста, то есть около 500 строк кода. Проверим регрессию. Диаграммы и матрицы визуализации кода все теперь без пустых блоков триала и ограничений в 300 строк. Также можно создать проект с количеством скриптов более 50 штук. А вот "градусник" оставшихся дней вводит в заблуждение, показывая 100% в первый день. Особое смущение юзера очевидно будет в несоответствии "градусника" на обновлённом старт-окне (заполняется то жёлтым, то оранжевым без показа процентов) и во всех иных местах продукта (синий уменьшается с величиной процентов и за два дня до окончания красится в красный). Конечно, ужесточение триала по времени сильное, но
ConquestSS параллельно стал предоставлять мерную лицензию за дёшево. Жаждущие быстрых денег бизнесмены из
ConquestSS подгоняют потенциальных покупателей коротким сроком триала, за время которого сложно понять надобность продукта. Изменение получает 0.7 балла за неполное описание, сдвиг функционала в отрицательную сторону для юзера.
•
The service Annual Maintenance & Support is no longer automatically renewed for another period. Now it will get expired in a year but can be extended for another period upon request.
Сервис технической поддержки теперь больше не обновляется автоматически на следующий период. Теперь он заканчивается через год, но может быть продлён на иной запрашиваемый период.
Странно, что полезная для юзера функциональность отменена. С точки зрения бизнеса мне более разумным была бы смена автопродления при своевременной оплате на год, а не как было ранее - 1 или 2 или 3 года. Если у группы разработки в планах выпускать больше новых платных версий в год, а не пятилетку, то годовое ограничение вполне обосновано. Но отмена автоматизации, когда весь мир к ней бежит семимильными шагами, рисуется мне просто глупым шагом разработчиков. Антиполезное изменение не могу проверить функционально, так как не имею соответствующих лицензий и доступа к внутренней базе покупателей. Не могу дать ни балла за подобное вредительство в сфере всеобщей цифровизации.
•
The usage of lines of code in a subscription is shown as a graph in the Startup and Analyzer Progress windows.
Использование строк кода по подписке показано графически в окнах старта CS и процесса анализа.
В рамках
CS 8 существует два понятия о строках кода: функциональное количество по каждой подпрограмме и суммарное количество проанализированных строк всех проектов и скриптов. Скорее всего в этом пункте
RNs речь идёт о втором варианте. Поскольку окно старта приложения и окно процесса анализа можно настроить невидимыми (выключить показ при запуске
CS, а анализ запускать мгновенно и закрывать сразу по окончании), то информацию о параметрах мерной лицензии необходимо отображать в более привычных местах - "Options / Preferences / License Key" и "Help / About". Полагаю, в качестве графики имеется ввиду интерфейсный элемент "градусник", работающий аналогично с измерением оставшихся дней триала. Для проверки этого элемента стоит брать классы эквивалентности по дням лицензии (триал=0, 1, 2-27, 28-31, 32 и более) и количеству проанализированных строк (0, 1-99999, 100000, 100001 и более) по отдельности и в технике pairwise - совмещением периодов и количеств. К граничным значениям стоит приглядеться очень внимательно, потому что
программисты в
ConquestSS страдают проблемой знаков больше-меньше-равно. Функционально рекомендую проверить это изменение при отсутствии подключения к Интернету, поскольку сильно подразумеваю, что мерность лицензии контролируется на сервере
ConquestSS. А в качестве перекрёстных тестов стоит перепроверить отображение количества проанализированных строк запуском модулей "OSD Check Messages and Updates". Не смотря на то, что у меня нет в наличии соответствующей лицензии, из-за неполноценного описания и реализации изменение получает лишь 0.3 балла.
•
New startup window:
** Added the ability to buy a subscription plan from the application.
** Added a graph representing the status of the subscription plan.
** Redesigned the look&feel of the window.
Новое окно старта:
- Добавлена возможность покупать приложение по плану подписки.
- Добавлен графический показ статуса плана подписки.
- Изменён внешний вид окна.
По-моему, третий подпункт более информативен и по праву должен быть первым, поскольку окно кардинально сменило интерфейс с информативного на функциональный. Теперь в окно старта состоит из двух последовательно появляющихся и в них можно не только выбрать рабочий проект, но и лицензию. Не смогу вас заверить, что окно соответствует по UI и функционалу всем типам лицензий, поскольку не имею их в наличии. Но если у вас появится такая возможность (кроме встроенного триала купите мерную и постоянную лицензии и пакет
AMS), то проведите комплекс тестов внешнего вида (UI-, usability-tests), полноты информации (access-test), точности и своевременности данных (function-test), скорости отклика и прорисовки (performance-, load-, stress-tests), вкупе с тестами предыдущего пункта изменений. Поскольку из приложения напрямую теперь можно докупать лицензию, то проверьте этот функционал при отсутствии и наличии подключения к Интернету. Цена на продукт
ConquestSS обычно состоит из двух частей - лицензия и техподдержка, но обновлённое окно не доделано, потому что об
AMS информации и обновлении забыли разработчики. Функционал кнопки "Open recent"
не в состоянии позиционировать на нужном выборе, список моргает и курсор автоматически кликает без ведома юзера по ближайшему к нему проекту. Из всего вышеперечисленного могу дать за изменение только 0.5 балла и сниму -0.5 за баг.
Analyzer View 1+0.5+1=2.5 из
3 возможных
•
Identification numbers of code review rules are now shown in the rationale panel on the Code Review tab.
Идентификационные номера правил проверки кода теперь показаны на панели с пояснениями к правилу на закладке результатов проверки правил кодирования.
Поскольку список контролируемых правил кодирования значительно увеличился в одной из прошлых версий и появилась возможность исключать проверку правил кодирования в конкретном скрипте по его номеру, то моим предложением было отобразить в списке выявленных проблем или в пояснениях к ним номер правила, который проще найти в общем списке, нежели полное наименование правила. Да и для исключения правила из скрипта важен лишь номер, а не наименование, который вписывается в специальный комментарий. Для проверки изменения откройте в интерфейсе
CS панели "Script: Editor and Analyzer Info / Code Review" и "Summary / Code Review / Top Violated Code Review Rules", разверните их правые подпанели, переходите по таблице с результатами анализа слева и наблюдайте за изменением "Rule ID" справа. Для убедительности в корректности инфы сравните содержимое правой подпанели со списком правил кодирования в "Options / Code Analyzer Options / Code Review Options / General / Rule ID" сопоставляя их Title. Изменение полезное и выполнено, поэтому получает полный балл.
Поскольку однажды выданные номера встроенным правилам были распределены случайным образом, а пользовательские правила хоть и имеют нумерацию свыше 1000, но также сгруппированы по важности и назначению. Поэтому номера правил в самой таблице результатов анализатора не нужны. Для настройки исключений достаточно информации в панели
Rationale.
•
When a folder is selected, the Analyzer View tabs are now hidden as irrelevant. The tabs are shown only when a script is selected.
Когда выбрана папка закладки результатов анализа теперь скрываются как неуместные. Закладки показываются только для выбранного скрипта.
Поясню, что папки и скрипты выбирает юзер в дереве проекта, а закладки никуда не исчезают, а лишь очищают содержимое и выводят предупреждение о необходимости выбрать скрипт. На самом деле панели аналогично функционировали и ранее, а изменению подверглись лишь сообщения в пустых окнах. Поэтому пункт
RNs получает лишь 0.5 балла.
•
Added the section “Anonymous blocks” to “Structure View > Module Analysis”.
Добавлена секция анонимных блоков в структуру по анализированным модулям.
Для тестирования новшества понадобится скрипт с анонимными блоками. К сожалению, в демо-проекте нет соответствующего скрипта, поэтому сделайте его самостоятельно, скопировав в него любые несколько блоков BEGIN-END. После анализа такого срипта можно проверить результат на информативность и локализацию по клику. Не забудьте некоторые блоки префиксовать декларативной частью. Дополненный функционал получает балл.
Summary Info 0.3+1+0.7+0.5=2.5 из
4 возможных, за баги
-6 баллов
•
Thousands, millions, etc., in the summary results are now shown with the multiplier suffix, e.g. 100k, 2m.
Тысячи, миллионы и т.д. в суммарных результатах теперь показываются с мульти-суффиксом, например, 100к, 2м.
Суммарные данные по проекту
CS вполне могут быть более четырёх знаков, поскольку рабочие скрипты обычно намного больше ста строк и проекты могут состоять из сотен тысяч подпрограмм. Поскольку триал теперь ограничивается лишь 300 строками кода в каждом скрипте, то попробуем создать проект с количеством скриптов, более 50, а лучше несколько тысяч. Для генерации данных нагрузочного теста можно экспортнуть ("Tools / Export / Export Scripts" с включенной опцией "Keep project folder structure in the target folder") все скрипты (60 штук) демо-проекта в файловую систему, там сделать двадцать копий головной папки (~1200 скриптов и 380 папок) и уже эту кучу папок и файлов импортнуть ("Tools / Import / Import Files" с включенной опцией "Folders and files" и выключенной опцией "Ignore wrapped") в новый проект. Тут подметим сопутствующий баг в мастере импорта скриптов, который
перестал отслеживать одноимённые файлы скриптов. После полного анализа такого монстр-проекта обследуем результаты в окне
Analyzer Progress, на закладках
CRUD2,
All Flowcharts,
All Call Trees,
Project Analysis History,
Summary,
Project Report и экспортированные таблицы и диаграммы. Этот список намного превышает единственную закладку итогов анализа, потому что данные во всём приложении должны отображаться консистентно, иначе это приложение нельзя считать единым продуктом, а лишь набором различных утилит. В окнах
Analyzer Progress,
Project Analysis History и экспортируемых таблицах никакие цифры не округляются суффиксом, да и понятно почему - в этих случаях важны точные данные. Но попутно выявился интерфейсный баг
выравнивания числовых данных не по правому краю, а по левому, что не соответствует общепринятым правилам.
|
Желтым отмечены числа без новых постфиксов, сиреневым - неудобное выравнивание цифровых величин |
CRUD2 результаты получились сильно
урезанными из-за неучтённых копий скриптов, а
линки на объекты из матрицы ведут лишь
на первый в дереве проекта объект.
Деревья диаграмм и матриц так и продолжают показывать количества без мульти-суффикса, причём одноимённые объекты расширены нумерацией лишь в списке
All Flowcharts. Из всех чартов и таблиц на закладке Summary только пять ("Folders, Scripts, Script Statuses", Code", "Diagrams", "Duplicates" кроме тех.долга, "Synchronizatuon") приобрели вышеозначенные суффиксы. Идентично данные показаны и в
Project Report, который странным образом
подвисает при стопроцентной готовности. Вроде бы изменение сделано, но при этом утеряна точность данных, которые можно было бы показать полностью в хинте либо добавить настройку в приложение для отображения больших чисел в диаграммах на манер с суффиксом или полностью с определённой точностью. В очередной раз не вижу исправления на закладке
Summary, все подзакладки которой открываются
без вертикального скроллинга. Выход из положения есть - максимизировать и вернуть размер какой-нибудь диаграммы, но это приходится выполнять после каждого открытия программы и об этом нигде не сказано. Как пользователь, не вижу приобретённых удобств в приложении, заведующем качеством кода. Не полноценное описание пункта
RNs и фактически бесполезное изменение продукта добавляет билду лишь 0.3 балла, а из-за выявленных багов билд теряет 6 баллов.
•
Pointing on the parts of a pie chart now shows hints with the corresponding values.
Указатели на частях чартов теперь показывают подсказки с соответствующими величинами.
Это изменение только интерфейсное, поскольку интерактивность панелей с чартами работает по клику на легенде диаграммы. Описанное сделано и билд получает балл.
•
Moved the toolbar to the top of the Summary tab.
Тулбар закладки перемещён наверх.
Значительное изменение интерфейса - замена панели с подписанными кнопками на тулбар иконок - чуть добавили высоты этой закладке. Функционально изменилось лишь то, что теперь тулбар можно перенастроить, а кнопки печати по-умолчанию не видно. Поскольку эти подробности не описаны, то пункт
RNs получает лишь 0.7 балла.
•
Information about duplicate code is now shown on the Summary tab.
Информация о дубляжах кода теперь показывается на закладке суммарных итогов.
Подробнее - диаграммы на подзакладке
General пополнились ещё одной
Duplicates, показывающей количество повторяющихся строк, блоков и скриптов в проекте. Но понять эти цифры довольно сложно на примере демо-проекта, потому что срабатывающий
фильтр на 6 скриптов отсеивает только три, тогда как в списке "Summary / Code Review / Top Violated Code Review Rules / Avoid duplicate code" для не фильтрованного дерева проекта перечислены 6 скриптов. Считаю это приобретённым багом. Изменение приносит лишь 0.5 балла.
SQL*Plus 0+0+0=0 из
3 возможных
•
Optimized work of SQL*Plus.
Оптимизирована работа SQL*Plus.
Чем-то похоже на то, что это и следующее изменения были лишь копией программирования в
предыдущей версии
CS, поэтому в текущей версии о них не стоило упоминать. Но здесь формулировка весьма амбициозна, поскольку
CS всего лишь отдаёт текстовый файл на исполнение в рамках стороннего!!! приложения. Неужели
программисты ConquestSS вмешались в разработку от крупного вендора Oracle? Но, скорее всего, это всего лишь непонимание
тех.писательницей того, что рассказал
программист. Если бы вместо "of" было "with" в тексте
RNs, то подобной претензии не было бы. Примечание: синхронизация линкованных объектов базы не использует SQL*Plus. Поскольку не указано, что именно изменилось (ускорено обращение с большими файлами, заменены или добавляются служебные символы [@/;], добавлена кодировка unicode или что-то иное подобное), то и проверять нечего. Двойная (опечатка, нет конкретики) проблема от
тех.писательницы не даёт ни балла.
По-хорошему, давно пора отдать на волю юзера
CS настройку для выбора стороннего приложения компиляции скриптов: SQL*Plus, sqldeveloper, SQLDetective.
•
Improved messages related to the SQL*Plus feature.
Усовершенствованы сообщения, касающиеся фичи SQL*Plus.
Этот пункт был уже реализован в рамках последнего
билда предыдущей версии, поэтому не получает ни балла.
•
SQL*Plus options are now available on the Code Editor pop-up menu.
Опции SQL*Plus теперь доступны из контекстного меню редактора кода.
В данном случае
тех.писательница допустила ошибку, выбрав термин
options, а не
features, потому что из контекстного меню редактора кода невозможно открыть страницу "Options / Preferences / SQL*Plus", но допустимо, как и в прошлом билде, запустить или закрыть
SQL*Plus. Поэтому не дам ни балла.
Import Wizard 1+0.5+0+0=1.5 из
4 возможных,
-0.5 за баг
•
Accelerated the work of the options that hide/show system and sample schemas.
Ускорена работа опций, которые прячут/отображают системные схемы и примеры.
Опять
тех.писательница "функционал" обзывает "настройками", поэтому ей в назидание сниму -0.5 за баг, путающий восприятие пользователя. Текущее изменение можно проверить нагрузочным тестом производительности, замерив скорости заполнения (перепостроения) дерева объектов при различных фильтрах на множество схем базы Oracle. Для полноты тестов и выявления регресса их необходимо сделать на всех поддерживаемых версиях БД (Oracle 9i и выше). Технически, такая правка заключается в сокращении ресурсов, необходимых для исполнения запроса к базе и в усовершенствовании интерфейсного элемента Delphi, отрисовывающего результаты этого запроса. Замеры времени можно выполнять тестами статики, беря у
программиста напрямую тексты запросов или перехватывая их спец.утилитами, например, "SQLDetective / Session Navigator / Current Statement". К сожалению, у тестировщиков нет утилиты для измерения времени полной прорисовки и формирования интерфейсного элемента, поэтому нагрузку интерфейса проверять можно только собственными глазами и секундомером. На моих тестовых данных разницы в обращении к базе с прошлым билдом не замечено, а визуально подмечено лишь отсутствие лишних прорисовок для каждой ноды. Поэтому дам балл.
•
Added the ability to search for files and objects in the file system and database.
Добавлена возможность искать файлы и объекты в файловой системе и базе данных.
Во-первых, поиск объектов и файлов появился не только в мастере импорта, но и в мастере для формирования нового проекта. Во-вторых, окно поиска имеет статус "поверх всех", за счёт чего
перекрывает сторонние приложения. Поиск в файловой системе непонятно работает с деревом,
отфильтрованным по расширению файлов, и не находит файлы по символам-заменителям (звёздочка, знак вопроса). Аналогичные проблемы и в дереве объектов базы. Новшество хоть и добавлено, но оно такое корявое, что от него никакой пользы. Поэтому даю лишь 0.5 балла.
•
File extensions used in the filter are now shown on the status bar of the wizard.
Расширения файлов, использованные в фильтре, теперь показаны на строке состояния мастера.
Это абсолютно не является ни новшеством, ни правкой бага. Отображение расширений файлов, как фильтр существовало с самого начала. Пункт
RNs - приписка, поэтому не дам ни балла.
•
Updated the messages shown on trying to import scripts that already exist in the project.
Обновлено сообщение, показываемое при попытке импортнуть скрипты, которые уже есть в проекте.
Поскольку с
предыдущим билдом нет никакой разницы, то этот пункт является дубликатом от параллельной разработки текущей и будущей версий
CS. В этой версии не стоило включать его в
RNs, поэтому ни балла.
Project Manager 0 из
1 возможного
•
Html tags no longer appear in the captions of the Code Review filter.
HTML тэги больше не появляются в заголовках фильтра правил кодирования.
На самом деле это не нововведение и неисправление бага. Для воспроизведения бага откройте закладку
Project Manager у дерева проекта, включите чекеры "Filter Enabled" и "OK Alert", выберите одно правило кодирования в комбобоксе блока "By Code Review", примените фильтр нажатием кнопки
Apply. Затем перейдите в дерево проекта и наведите курсор на его строку статусов в области подписи "Filter:". В появившемся хинте отобразится лишний тэг. Пункт не прибавляет билду ни балла, являясь припиской.
Analyzer Progress 0 из
1 возможного
•
Updated the information message shown before running a project analysis.
Обновлено информационное сообщение перед запуском анализа проекта.
Перед началом анализа может появиться несколько предупреждений в зависимости от выбранных параметров анализа (с форматированием или без, быстро или обычно, с диаграммами или без и тому подобные), но ни одно из них не изменило текст после
предыдущего билда. Поэтому за приписку к
RNs не могу дать ни балла.
Project Tree 0 из
1 возможного,
-1 за старый баг
•
On trying to save a project to another file, the user is now prompted to save changes to the current project.
При попытке сохранить проект в другой файл пользователя теперь просят сохранить изменения в текущем проекте.
Поскольку проект
CS это не один файл, а целая композиция папок и файлов, то текст
RNs не корректен: либо речь о переименовании проекта, либо о создании копии проекта с иным именем, либо о создании копии проекта в другом месте. Кстати, до сих пор
невозможно сохранить проект с тем же именем, но в иной папке. За этот забытый баг имею право снять с билда балл. В
предыдущем билде при наличии каких-либо изменений в проекте перед переименованием и сохранением копии проекта предлагается предварительно сохранить их. В текущем билде предупреждения работают аналогично, из чего заключаю, что пункт
RNs - приписка, за которую нельзя дать ни балла.
Project Report Assistant 1 из
1 возможного
•
When the project is filtered, the option to select the whole project for a report is now called “Include whole project (filtered)”.
Когда проект отфильтрован, опция выбора всего проекта для отчёта теперь называется "Включить весь проект (отфильтрованный)".
Примечание: переименована только опция в мастере генерации отчёта, а пункт главного меню не переименовывается. Это не баг, а логичное поведение приложения. Дополнение полезное и исполнено. Даю балл.
Project Report 0 из
1 возможного
•
Removed group names from the Observations pages.
Удалены наименования групп из страниц замечаний.
К сожалению, мне - знатоку продукта с первых его дней - абсолютно не понятно о чём речь. Никаких наименований групп на страницах замечаний в отчёте по проекту никогда не было. За приписку баллов не даю.
Code Analyzer 1 из
1 возможного
•
Package body variables are now included in Instrumented Code.
Переменные тела пакета теперь включены в инструментированный код.
Для исследования новшества можно воспользоваться "PACKAGE BODY ET_DEBUG" из демо-проекта, у которого есть переменные всего пакета, а не только у отдельных его подпрограмм. Для проанализированного скрипта откройте закладку "Script: Editor and Analyzer Info / Instrumented Code" и найдите в дереве ноду "Package Bodies / [ObjectName] / Assigns" и сверьте все её ветки со списком переменных, объявленных в теле пакета. Дополнение имеется и повышает готовность билда на балл.
Export Wizard 1 из
1 возможного,
-0.5 за баг
•
The image export format is now shown on the wizard’s status bar.
Формат экспорта картинок теперь показан на статусной строке мастера.
Стоит подсказать, что речь идёт только об экспорте диаграмм, возможном для
Flowchart и
Call Tree в разрезе скриптов и проекта, но не для чартов
Summary. По-умолчанию, формат экспорта берётся из четырёх настроек для генерации диаграмм "Options / Code Analyzer Options / Diagram Options / Output Diagram Format", но при экспорте выбранных диаграмм формат можно поменять в мастере экспорта на закладке "Diagram Settings" - из пяти для
Flowcharts или шести для
Call Trees. Если в мастере экспорта диаграмм был изменён выходной формат, то эта опция
не сохраняется/восстанавливается после переоткрытия окна/приложения. Это давнишняя недоработка после изменения интерфейса мастера добавлением настроек экспорта. Старая проблема снимает -0.5 балла с текущего билда. А полезное дополнение своим внедрением добавляет билду балл.
Code Editor 0 из
1 возможного
•
The object owner is now added to default comments generated by ClearSQL on object import.
Владелец объекта теперь добавляется к дефолтным комментариям, генерируемым CS при импорте объекта.
В
предыдущем билде в комментариях к импортируемому объекту имеются две строки без значений об имени объекта и его владельце. Такие же пустые комментарии добавляются и в текущем билде. Поэтому пункт
RNs считаю припиской и балла не даю.
Project Analysis Report 0.5 из
1 возможного
•
Added a new total value: the number of times a project has been analyzed.
Добавлена новая итоговая величина: количество анализов проекта.
Общее количество анализов проекта или некоторых его скриптов существовало давно в "Project Analysis History Report" отчёте, доступном из главного меню "Analyze / Analysis History Report". Но в текущей версии эта информация в конце таблицы обзавелась более подробной подписью. За такое несоответствие описания исполнению дам только 0.5 балла.
BUGS FIXED 0-1+0.5+1.3+0+1.8+0+0+0+0.7+0.7+0.7+0+0+0+0=4.7 из
2+2+5+4+2+2+1+2+2+1+1+1+1+1+1+1=29 возможных,
-0.5-1.6-1-0.3=-3.4 за дополнительно выявленные баги
Core 0+0=0 из
2 возможных
•
An access violation error no longer occurs when an application with a long title is running in Windows.
Ошибка доступа больше не случается, когда приложение с длинным заголовком запускается в окнах.
Во-первых, следовало уточнить, что под термином "Окна" имелась ввиду операционная система OS Windows. Во-вторых, это уточнение излишне, так как
CS может работать только в OS Windows, а в иных операционных системах необходимо предварительно запустить эмулятор OS Windows. Но, возможно баг проявлялся лишь в 32-битном или 64-битном приложении, поэтому присмотримся к обоим вариантам. Поскольку заголовок приложения состоит из имён
CS и открытого в нём проекта, то для воспроизведения бага создадим проект с одним скриптом (или без них вообще) и очень длинным именем этого проекта в
предыдущем билде или версии
CS. Но в самом
CS создать имя проекта, допустимое для папок и файлов операционной системы не получится, так как имеется обработка (предупреждает о 260 символах, но позволяет меньше). Поэтому для подобного негативного теста придётся в файловой системе вручную переименовать папку и файл рабочего проекта длиной в 259 символов, а в приложении выбрать этот проект. Да, как и предполагалось, 32-битное приложение прошлой версии ругается ошибкой про кодировку, а 64-битное - ошибкой доступа.
|
Максимально длинное имя проекта |
Но ошибка на самом деле не в отображении длинной строки в заголовке приложения, а в попытке записать эти предельно большие данные во внутреннюю базу приложения. Так что, при формулировке бага
тех.писательница оплошала дважды. Проверяя баг в текущем билде обоих вариаций битности, обнаруживаем полное отсутствие фикса. К тому же, окошко процесса
загрузки проекта в приложение не может вместить
полное наименование проекта. С полной ответственностью могу заявить, что данный пункт
RNs - приписка, поэтому не даю ни балла. А если бы это был тривиальный случай, а не негативный тест, то можно было бы и снять балл.
•
A project copy is now saved under a new name with the postfix “copy”.
Копия проекта теперь сохраняется с новым именем, оканчивающимся словом "копия".
В одном из предыдущих тестов уже говорилось, что
CS не позволяет делать копии проектов с тем же именем в любом месте (текущая папка или любая иная, в том числе и на ином диске). Дело в том, что внутренняя база приложения уникальность поддерживает лишь по имени проекта, а не его расположению. И пока этот архитектурный механизм будет оставаться глупым легаси,
программисты из
ConquestSS будут вынуждены "костылить". Видимо поэтому пункт
RNs не в числе новшеств, а в группе багов, хотя по тексту явно тянет на усовершенствование, тем более, что исполнено было в одном из фикс-билдов
предыдущей версии. Поэтому за дубляж не даю балл.
Call Trees -1+0=-1 из
2 возможных,
-0.5 за баг
•
Fixed generation of Call Trees for standalone procedures imported to a ClearSQL Project including their object owners.
Исправлена генерация деревьев вызовов для самостоятельных процедур, импортированных в проект CS с включенной опцией владельца объекта.
Из текста
RNs не очень понятен смысл фикса. Будем разбираться через исследования. Для теста нам понадобятся не пакетные процедуры, обращающиеся к объектам БД (таблицы, подпрограммы), префиксованные именем владельца. Не обязательно импортировать такую процедуру из базы, достаточно написать пару вызовов вручную. Хотя в рамках комплексного тестирования можно перепроверить работу
Мастера Импорта и его опции про владельца объекта. Предлагаю в качестве примеров следующие скрипты:
-------скрипт 1 с указанием владельцев объектов
create or replace procedure my_owner.my_proc
as
begin
insert into my_owner.my_table (num, prm) values (1, 'yes');
my_owner.my_func(5);
end;
-------скрипт 2 без владельцев объектов
create or replace procedure my_proc
as
begin
insert into my_table (num, prm) values (1, 'yes');
my_func(5);
end;
------скрипт 3 вызываемый объект с именем владельца
create or replace function my_owner.my_func (val1 in number) return varchar2
as
begin
return ('ok');
end;
------скрипт 4 вызываемый объект без имени владельца
create or replace function my_func (val1 in number) return varchar2
as
begin
return ('ok');
end;
Создаём проект в
предыдущей версии
CS, анализируем все четыре скрипта и оцениваем все объекты с Деревьями вызовов. Далее открываем текущий билд, анализируем этот же проект дважды - первый с удалением
Call Tree диаграмм и второй с их генерацией для полной уверенности, что они переформируются. В
предыдущей и текущей версиях самостоятельная (не пакетная) функция оказалась в группе пакетов, где
имя владельца функции распозналось как имя пакета.
|
Разница и одинаковые проблемы в деревьях вызовов |
Это баг парсера и фактически показывает, что в основном-то баг и не исправлен. Для полной убедительности в отсутствии фикса добавим два скрипта вызываемых процедур и допишем в первые два скрипта их вызовы. Самостоятельные функции и процедуры с указанием владельца всегда парсируются как
пакетные объекты, вместо самостоятельных. В том виде, как фикс описан в
RNs, он абсолютно не исправлен, поэтому не только не дам балл, но и сниму ещё один за некорректную работу парсера. Единственное заметное изменение в дереве вызовов - это добавленные подпапки со списком зависимых объектов. Но такое новшество должно было быть описано в группе усовершенствований. И поскольку этого нет в
RNs, то сниму с билда ещё -0.5 балла.
•
Fixed highlighting of Call Tree diagrams in SVG format.
Исправлена подсветка диаграмм вызовов в формате SVG.
Если сгенерить диаграммы кода в формате SVG, то при изменении позиции курсора доступна функция смены цвета связанных блоков. Для теста нам пригодятся скрипты, созданные ранее. Для проверки текущего фикса надо включить опцию "On mouse over: highlight connected elements (SVG type only!)" на странице "Options / Code Analyzer Optuons / Diagram Options / Call Tree", проверить выбранность формата SVG на странице "Options / Code Analyzer Optuons / Diagram Options", для применения глобальных установок выключить опцию "Options / Preferences / Project Analysis / Keep diagram/matrix local settings" и перегенерить диаграммы. Но поскольку
тех.писательница не пояснила частность случая, то никаких перемен заметить не получится. Поэтому билд теряет балл за приписку.
Import Wizard 0+0+0-0.5+1=0.5 из
5 возможных
•
Enabling “Hide system schemas” now removes all relevant nodes from the tree.
Включение опции "Спрятать системные схемы" теперь убирает все соответствующие ноды из дерева.
Правильнее было бы разместить этот пункт в числе усовершенствований и перечислить схемы, которые в определённых версиях базы расширили список системных объектов. Результаты тестов одного из предыдущих пунктов могло быть достаточно, если они проводились в разрезе поддерживаемых версий базы. К сожалению, у меня нет всех версий баз и исследовать подробности фикса мне не на чем. И поскольку
тех.писательница не потрудилась описать подробности изменения функционала, то билд недополучает балл.
•
Importing package specs with their package bodies no longer raises the warning message that such objects already exist.
Импортируемые спецификации пакета с пакетными телами больше не вызывают предупреждения о существовании такого же объекта.
Абсурд, что подобный баг мог быть. При импорте из базы скриптам со спецификацией и телом пакета даются различные расширения файлов и они получаются разноимёнными, даже если выключена опция "Options / Preferences / Main Window / Project Tree / Show file name with extension", распространяющая своё действие и на правое дерево в
Мастере Импорта. Естественно, баг не воспроизводится в
предыдущем билде и не приносит текущему балл.
•
Scripts that have comments defined between the object type and object name are now imported correctly.
Скрипты с комментариями между объявлением объектного типа и именем объекта теперь импортируются корректно.
Поскольку импорт скиптов из файловой системы может лишь добавить комментарии в заголовок, то скорее всего этот фикс про импорт из базы данных. Зная, что содержимое (DDL) хранимых подпрограмм хранится в базе (смотрите системные вьювера SYS.ALL[DBA/USER]_SOURCES) построчно, начиная со служебного слова о типе объекта. Создать объект с комментариями между его объявлением и именем можно в
Stored Program Editor продукта
SQLDetective, но последующее переоткрытие такого объекта в этом редакторе может уничтожить добавленные комментарии. Создайте два объектных типа с однострочным и многострочным комментариями непосредственно перед именем и после служебного слова TYPE. Импорт из базы портит такие скрипты удалением многострочного комментария и недобавлением служебных слов CREATE OR REPLACE в скрипт с однострочным комментарием в одном из билдов
предыдущей версии. А поскольку
последний билд предыдущей версии импортит объектные типы с комментариями без порчи функциональности DDL, то текущий билд недополучает балл.
•
Objects with similar names but different owners are now imported correctly.
Объекты с одинаковыми именами, но разными владельцами, теперь импортятся корректно.
Вопрос сразу к термину "корректно" - в чём может быть правильность и глючность такого процесса? Они попадали в единую папку или проверка источника не учитывала отдельные параметры?
Тех.писательница прикрыла свою малограмотность запретным термином, при этом не раскрыла причины проблемы, что могло служить обходным путём на время существования бага. В
предыдущем билде пытаемся воспроизвести ошибку для уточнения
RNs. Мои тесты показали, что в процесс импорта одноимённых объектов от разных владельцев добавлена излишняя проверка на совпадение имён объектов, импортируемых в разные папки проекта. Ни о какой корректности речи не может быть. Балл дать за лишние проверки не могу, даже надо снять за такое -0.5.
•
The option “Uncheck All” on the “From Database” tab is no longer available when nothing is selected in the tree.
Опция "Выключить Все" на закладке "Из Базы" больше не доступна, когда ничего не выбрано в дереве.
Интерфейсное изменение-подсказка о том, что ни одна из нод дерева не выбрана, могла бы вполне дополнить группу усовершенствований. Но если посмотреть на проблему с точки зрения стандартов интерфейса, то это исправлен баг контекстного меню, как элемента экрана. Фикс сделан и приносит балл.
Preferences 0+0+0.5+0.8=1.3 из
4 возможных
•
Sorting of the summary code metrics is now reset to default correctly.
Сортировка итоговых метрик кода теперь возвращается к исходной корректно.
Интерфейс продукта показывает итоговые результаты анализа на закладке
Summary, настройка сортировки, фильтров и группировок которой устанавливается на странице "Options / Preferences / Main Window / Summary". Текущий баг касается последней опции на этой странице, для управления которой необходимо проскроллировать в самый низ страницы и в блоке "Code Metrics" найдёте таблицу колонок для установки сортировки. Поскольку в
Preferences устанавливаются опции глобально, то и они имеют некоторые свои исходные значения, которые можно восстановить тремя способами: удалить ветку реестра и файлы с настройками, либо выполнить "Reset / Reset All Pages to Default", либо "Reset / Reset Current Page to Default" в Preferences. Если пользователь
CS сменит сортировку в таблице "Summary / Code Metrics - Details / Code Metrics", то она синхронизируется с
Preferences. Примечание: настройки страницы "Options / Preferences / Main Window / Summary" никак не влияют на отображение итогов анализа по скрипту на дочерних закладках "Script: Editor and Analyzer Info". Тесты исправления проводить бесполезно, так как эта же правка числится в
последнем билде предыдущей версии. Это значит, что
тех.писательница не актуализировала
RNs перед выпуском текущего билда, за что билд теряет балл.
•
Default sorting of the summary code metrics in Preferences is set to Cyclomatic Complexity, descending and it no longer differs from the sorting on the Summary tab.
Сортировка суммарных метрик кода по-умолчанию в настройках приложения устанавливается по Cyclomatic Complexity в обратном порядке и она больше не отличается от сортировки на закладке Summary.
Аналогично с предыдущим пунктом
RNs, это является дубликатом из
последнего билда предыдущей версии
CS, поэтому текущий билд также теряет балл из-за неактуализированных
RNs.
•
The eye icon now works correctly in the “Password” field of the Internet Connection page.
Иконка глаза теперь корректно работает в поле пароля на странице настроек подключения к Интернету.
Этот баг был обнаружен мной в результате проверок
RNs двух предпоследних билдов
CS 7.1.2. Но в моём
ТО, кроме упомянутой страницы, речь шла и о поле пароля при подключении к базе данных. В обоих полях, открытых с имеющимся значением, при начале правки не стирались имеющиеся символы и не рисовалась иконка-глаз, а на странице настроек Интернета иконка-глаз вообще никогда не появлялась. Вторая проблема (регрессия) касалась сохранения введённого значения на странице настроек, когда оно не должно было запоминаться (окно закрывалось по крестику или кнопке
Cancel) и её решение будем проверять в следующем пункте
RNs. Текущий же фикс выполнен не полностью, то есть термин "корректно" здесь не уместен, потому что переключение со звёздочек на реальные символы возможно лишь при вводе значения в чистое поле. А редактирование имеющегося значения не отображает иконку-глаз и не стирает предыдущее значение, как это работает в окне подключения к базе данных и является наиболее правильным с точки зрения безопасности. За неполноценность правки даю лишь 0.5 балла. Но более логичнее было бы разместить это в блоке усовершенствований, как "добавление индикатора переключения кодировки вводимого пароля при настройке интернет-подключения".
•
Unsaved preferences are no longer restored after restarting ClearSQL.
Несохранённые настройки больше не восстанавливаются после перезагрузки CS.
В данном случае формулировка понятна лишь мне, как репортеру бага регрессии, выявленного в одном из
предыдущих билдов. Для воспроизведения бага лишнего сохранения опций на перезагрузке приложения придётся иметь лишь один-два предпоследних билда
предыдущей версии, в котором изменить (дописать) имеющееся значение пароля на странице настроек интернет-подключения, закрыть окно настроек по крестику или кнопке
Cancel, перезагрузить приложение без переоткрытия окна настроек и убедиться, что исправление в поле пароля сохранилось вне зависимости от того, что никакие данные не должны сохраняться при закрытии окна по нажатию на крестик или кнопку
Cancel. В текущем билде значения не восстанавливаются ни после перезагрузки приложения, ни после переоткрытия окна (перепроверили регрессию), если до этого их не подразумевалось сохранять (окно закрывалось по крестику в правом верхнем углу или по кнопке
Cancel). Примечание: окно настроек приложения не имеет отдельной кнопки
Apply для применения и сохранения опций. Поскольку описание бага не конкретизировано для всех пользователей
CS, то даю лишь 0.8 балла.
Code Analyzer Options 0+0=0 из
2 возможных,
-1-0.1-0.5=-1.6 за баги
•
The filter on the Code Review Options page is no longer hidden when DPI 125% and higher is applied.
Фильтр на странице опций правил кодирования больше не прячется при разрешении экрана в 125% и более.
Страница настроек анализатора со списком правил кодирования имеет множество интерфейсных элементов, часть из которых не масштабируются при смене разрешения экрана. Примечание: изменить настройки монитора без перезагрузки компа вы можете в операционной системе, каждая версия которой имеет свой путь к параметрам экрана. Изменять параметры экрана более корректно не при запущенном приложении. Поскольку опций на тестируемой странице стало много, то и минимальные размеры окна увеличились, но даже это не спасает страницу от пропадающих элементов. Кстати, минимальная ширина окна такова, что даже при 100%-ном разрешении экрана комбобокс фильтров всё-равно пропадает, если правая панель деталей развёрнута до малой видимости значений или левое дерево списка опций раздвинуто более необходимой ширины. Но эти вариации не стоит проверять, так как они не учтены
программистом. Тестировать будем минимальный случай: левое дерево со списком страниц имеет минимальную ширину или всё свёрнуто, правая панель деталей свёрнута, всё окно имеет минимальные высоту и ширину. Откроем в
предыдущем билде страницу настроек, сделаем снимок экрана, откроем эту же страницу в текущем билде и визуально сравним размеры видимых элементов. Они окажутся одинаковыми. Закроем
CS, сменим разрешение экрана и проделаем те же вышеописанные шаги. Поскольку у моего компа максимальная высота экрана 768 пикселей, то весь низ окна, включая кнопки панели фильтров и тем более кнопки основного функционала всего окна, оказывается
невидим без возможности скроллирования или изменения высоты окна. Это факт того, что блокирующий баг не позволяет мне протестировать текущий фикс. Поэтому билд недополучает балл за пункт
RNs и теряет балл за
блокер. А документацию продукта в области системных требований стоит расширить, введя минимальные размеры экрана, на котором пользователь смог бы работать в
CS полноценно. При мне было введено ограничение по максимальной высоте окон, допустимое для поддерживаемых на тот момент операционных систем и популярных мониторов. В данном случае это ограничение либо забыто разработчиками, либо изменено по каким-то аналитическим данным, но не отражено в документации для пользователей.
•
Clicking “Uncheck All” on the Code Review Options page and in the Rule Suppression Template Editor when a filter is applied now unchecks only filtered items.
Клик "Отключить все" на странице опций правил кодирования и в редакторе шаблонов скрываемых правил при применённом фильтре теперь отключает только фильтрованные позиции.
Функцию снятия выбора будем проверять раздельно и в пересечении (заодно перепроверим достаточно новый функционал на регрессию) на двух страницах настроек анализатора "Options / Code Analyzer Options / Code Review Options" и "Options / Code Analyzer Options / Code Review Options / Rule Violation Suppresion / Rule Supression Template Editor - Template [TemplateName]". Кстати, выявлена
опечатка в имени страницы опций: есть - "Rule Violation
Suppresion", надо - "Rule Violation Suppression". За такое сниму -0.1 балла. Страницу "Options / Code Analyzer Options / Code Review Options / Rule Violation Suppresion" также стоит проверить на аналогичный функционал, потому что конкретное действие выключения и включения всех подсвеченных позиций на ней предусмотрено пунктами контекстного меню "Enable/Disable Selected Rules". Стоит пояснить некоторые термины. Строки в этих таблицах подсвечиваются по экшену Select All контекстного меню (или кликом мыши при нажатых клавишах
Ctrl или
Shift), а чекеры в поле
Enabled выставляются экшеном "Enable/Disable Selected Rules" или "Check/Uncheck All/Selection". По результатам моих тестов ни установка, ни сброс чекеров ничем не отличаются в
предыдущем и текущем билдах при наличии и отсутствии фильтрации на всех трёх страницах. Это говорит о том, что
баг в его конкретной формулировке не существовал. А за приписки
RNs баллов не даю. Но также тесты выявили проблему с сохранением подсветки строк после смены условий фильтрации. Например, при нулевом фильтре подсветите несколько (10-20) первых строк, выберите фильтр с отсеиванием некоторых подсвеченных строк (Severity = Major). Как промежуточный результат теста вы заметите, что несколько первых отфильтрованных строк подсвечены. Далее выключите все подсвеченные правила (Disable All Selected), верните фильтр в нулевое состояние (Any = Enter filter criteria). Как подтверждение моей гипотезы о баге, некоторые первые строки, не вошедшие в предыдущий фильтр, не подсвечены и включены, а выключенные группой
в предыдущем фильтре всё ещё подсвечены. Выявленные подробности тянут на интерфейсное несоответствие общепринятым правилам и вычитание -0.5 балла.
Summary Info 1+0.8=1.8 из
2 возможных,
-1 за баг
•
The maximize button is now available on all panels.
Кнопка максимизации теперь доступна на всех панелях.
Четыре панели с чартами из группы
General закладки
Summary с графическими результатами анализа не имели возможности разворачивания на всю рабочую область в
предыдущем билде. Фикс сделан и приносит балл билду. Дефект был интерфейсный, поэтому смежный функционал в
Project Report тестировать не имеет смысла. Но в то же время пришлось в очередной раз помучаться от бага на всех интерфейсных закладках
Summary, не позволяющего просмотреть все имеющиеся данные. Дело в том, что при первом открытии в каждой сессии приложения на всех закладках
Summary отсутствует вертикальный скроллер, а чтобы его активировать приходится максимизировать какую-нибудь из панелей закладки. За старый неправленный интерфейсный баг сниму балл.
•
Script statuses now correctly fit in the “Folder, Scripts, Script Statuses” panel.
Статусы скриптов теперь корректно размещены на панели папок, скриптов и статусов.
В прошлом билде легенда чарта могла не полностью умещаться в минимальном размере панели. Но этот глюк можно приметить лишь на проектах со всеми возможными статусами скриптов. Эта конкретика не была прописана
тех.писательницей, что приводит пользователя к недопониманию. Из-за такого наплевательского отношения кюзерам правка приносит билду не полный балл.
Project Tree 0 из
1 возможного,
-0.3 за баг
•
Clicking “Select None” now leaves one node selected, and the status of the “Analyze” and “Syntax check” options is now validated depending on the type of selection.
Выключения всех выборов теперь оставляет выбранной одну ноду и статусы опций для анализа и проверки синтаксиса теперь валидируются согласно типу выбора.
В дереве проекта существует довольно сложная система подсветки и выбора нод: для анализа скрипта и отображения аналитической информации достаточно на него поставить курсор или подсветить несколько нод (CTRL/SHIFT + MouseClick; удерживая левую кнопку мыши обозначить область выделения - LeftMouseDrag - так можно подсветить ноды скриптов и папок, но без выбора папок), выставление чекера папки выбирает все входящие в неё скрипты и саму папку для последующего анализа или отображения, печати результатов анализа. Подсвечивание папки без включенного чекера не позволяет проанализировать или вывести в отчёт её содержимое, но показывает суммарную информацию в интерфейсах. При выполнении экшена по снятию всех выделений текущий курсор мыши может быть на папке, скрипте, корзине или пустом пространстве дерева. Если подсвечено несколько нод, то текущую визуально можно определить по серо-точечному контуру. К сожалению, все тестовые вариация показали идентичную работу
предыдущей и текущей версий дерева проекта. За отсутствие изменений балл дать не могу. К тому же остался интерфейсный баг, когда
нода корзины излишне подсвечивается после снятия всех выделений. Ещё одна проблема с выбором нод приводит к казусу, когда
корзина никак
не подсвечена, но
в отчёт почему-то пихают её, а не верхнюю папку.
|
Отчёт по невыбранной корзине? |
Старые баги снижают билд на -0.3 балла.
Project Report 0+0=0 из
2 возможных
•
Added explanation hints to the links on the Report Summary page.
Добавлены поясняющие хинты к линкам на странице итогов отчёта.
В отчёте по проекту первая страница состоит из итогов интерактивного отчёта. В нескольких таблицах собраны суммарные значения, к почти каждому из которых имеется линк, фильтрующий дерево отчёта. Если вы получите два отчёта по одинаковым демо-проектам, хоть и в разных версиях
CS, но никакой разницы в наличии хинтов или их текстов обнаружить не получится. Так что, билд недополучает балл.
•
Invalid or outdated diagrams and matrices in a project report are now marked with a red warning message.
Инвалидные или устаревшие диаграммы и матрицы в отчёте проекта теперь отмечены красным предупреждающим сообщением.
Странно, что это дополнение к отчёту проекта расположено в числе багов. Поясню два термина. Устаревшими диаграммы и матрицы становятся при внесении изменений в текст скрипта без последующей его компиляции. А инвалидными становятся при валидации имевшихся диаграмм и матриц без их генерации во время анализа изменённого кода. Устаревшие визуализаторы кода никак не отмечены в интерфейсе. Но если включена опция "Options / Preferences / Main Window / Visibility of Instant Help for Analyzer View Panels / Miscellaneous / Modified script warning", то в интерфейсе выдвигается целая панель с предупреждением, но в отчёте так ничего и не появилось. А инвалидные визуализаторы кода стали помечаться в отчёте ещё в начальных билдах
предыдущей версии. Факт, но ничего описанного не сделано. Поэтому ноль баллов.
Split/Rename Project Script 0+0=0 из
2 возможных
•
Fixed the error that is shown on trying to rename a non-txt script.
Исправлена ошибка, которая показывается при попытке переименовать нетекстовый скрипт.
Мастер переименования скрипта не доступен для нетекстовых скриптов, которыми могут быть canvases из числа
Oracle Forms. Если же скрипт имеет любое не
txt расширение, то это не мешает работе мастера по переименованию. Возможно более конкретное описание фикса или его причин позволили бы мне поглядеть на текст ошибки, но
тех.писательница поскупилась на пояснения, из-за чего билд недополучает балл.
•
Fixed the error message shown on trying to rename a script according to its object type.
Зафиксировано сообщение об ошибке, показываемое при попытке переименовать скрипт, согласно его объектного типа.
Скорее здесь имеется ввиду не имя самого скрипта, а в большей степени - расширение файла, которое настраивается в двух местах: 1) для импорта объектов из базы "Options / Preferences / New Project, Import and Link Manager / Database Source / Database Object File Extension Assigment"; 2) "Options / Code Analyzer Options / Code Review Options / File Extensions" - для сверки правила кодирования "78 - The object type doesn't correspond to the file extension". Переименовать скрипт можно вручную по двойному клику по ноде скрипта в дереве проекта или через контекстное меню "Rename", либо по правилу кодирования через мастер переименования, доступный из контекстного меню "Rename Script by Object Name and Type". О чём может быть сообщение при ошибочном переименовании? К сожалению,
тех.писательница не уточнила, а наша тестерская фантазия и опыт может накидать безумное множество вариантов. Попробуем пару из них: присвоить имя или расширение, которое не соответствует правилу; переименуем в одноимённый, уже имеющийся в проекте или папке. Мастер переименований по правилу кодирования жёстко не ограничивает вручную введённое имя и расширение, а значит никаких сообщений об ошибке получить не сможем, кроме проверки на полное совпадение по имени и расширению с другим скриптом в этой же папке. Также сожалею, но никакой разницы в тексте этой ошибки в прошлой версии
CS и текущей нет. Поэтому считаю пункт
RNs припиской и балла не даю.
Project Manager 0.7 из
1 возможного
•
Fixed the order of code review rules in the “By Code Review” filter.
Исправлен порядок правил кодирования в фильтре по ним.
Фикс является дубликатом из последнего билда прошлой версии. Для воспроизведения отсутствия сортировки правил по-алфавиту внутри каждой группы воспользуйтесь предпоследним билдом
предыдущей версии приложения. За дубликат фикса и не конкретное описание могу дать лишь 0.7 балла. Примечание: для просмотра списка правил при настройке фильтра дерева проекта включите две галки "Project Manager / Filter / Filter Enabled" и "Project Manager / Filter / OK Alert", а потом сможете развернуть комбобокс в блоке "Project Manager / Filter / OK Alert / By Code Review".
Analysis History 0.7 из
1 возможного
•
Summary charts are no longer duplicated.
Суммарные чарты больше не дублируются.
История анализов с отображением чартов интерфейсно имеется в двух разрезах - скриптовом и проектном. О какой из закладок анализатора речь -
тех.писательница поленилась уточнить. Поэтому нам придётся искать баг в обеих. Полагаю, что это был какой-то частный случай, поскольку функционал довольно старый и в нём давно ничего не менялось. Поэтому вполне можем высказать
тех.писательнице своё "фи-и-и" за отсутствие подробностей или причин бага. Ещё один минус этого пункта
RNs в том, что сам фикс является дубликатом из последнего билда прошлой версии
CS. По результатам моих исследований текст фикса должен был звучать иначе: "Легенды суммарного чарта больше не дублируются, а перерисовка всей панели графиков скриптового и проектного анализа больше не оставляет выключенные графики". Баг появился при переходе на два компилятора разной разрядности операционной системы. Почему его так долго не правили? Скорее всего никто из тестировщиков его не успел выявить, поскольку
РМ понятия не имеет о правилах и объёмах регрессионного тестирования, но задачи отделу тестирования распределяет ежедневно сам. Полный балл дать никак не могу.
Analyzer View 0.7 из
1 возможного
•
Fixed handling of the toolbar visibility, so the Analyzer View tabs no longer blink while a new license key is applied in Preferences.
Исправлена поддержка видимости тулбара, теперь закладки просмотра результатов анализа больше не моргают пока применяется лицензионный ключ в настройках приложения.
К сожалению, не уточнено, о каком конкретно тулбаре речь (главный, дерева проекта, на какой-то из закладок с результатами анализа), поэтому наблюдать будем за главным. Также не конкретизированы закладки с результатами анализатора, поэтому для теста возьмём итоговую
Summary. Процесс применения лицензионного ключа можно запустить для любого файла особого наименования, поэтому можем взять файл триального ключа (в рабочих папках
CS - "cs_unlck_71.trl" и "cs_unlck_80.trl") и переименовать их в "cs_80_MyLic.lic" для текущего билда и "cs_71_MyLic.lic" для
предыдущего. Откроем "Options / Preferences / License Key" так, чтобы видеть главный тулбар и закладки анализатора, в поле "Select License Key File / Manually:" выберем файл лицензии и понаблюдаем за интерфейсом приложения, позади текущего окна. Далее, на странице "OSD Update/Messenger" поправим удобные настройки обновлений (если тестируете
CS на машине без Интернета, то переведите в Manual оба типа проверок обновлений). Если не успеваете ничего заметить, то запишите все свои действия над интерфейсом в видео-файл, например, приложением
UVScreenCamera или
Free Screen Video Recorder. Не знаю зачем, но в прошлом билде перерисовывался главный тулбар и некоторые закладки анализатора (CRUD2, All Call Trees), а в текущем билде осталась перерисовка только главного тулбара. К чему эта излишняя процедура? Похоже, что
программист забыл выставить флаги о правах на элементы приложения и проверить их скопом после изменения лицензии, а вместо этого
перепроверяет каждый элемент интерфейса для любого выбранного ключа.
|
Больше шагов, но быстрее отображает |
|
Меньше кода, но дольше работает |
Это тот случай, когда дешёвый код
программиста приносит юзеру
дорогие проблемы по затрате времени и ресурсов. В итоге, конечно, "костыль" сделан, но полный балл дать не могу.
Code Review Options 0 из
1 возможного
•
The option “Revert Modifications” now works correctly.
Опция возврата редактирования теперь работает корректно.
Контекстное меню списка правил кодирования на странице "Options / Code Analyzer Options / Code Review Options" имеет функцию возврата изменений. Что именно имелось ввиду под термином "корректно", мне не удалось выяснить. Даже элементарный тест - выбрать одно включенное правило, сменить его важность, вернуть изменения - привело не только к возврату важности, но и зачем-то выключило его. Аналогичный результат теста в
предыдущем и текущем билдах дают мне право считать пункт
RNs припиской и не давать балл билду.
Toolbar 0 из
1 возможного
•
The options “Unlink all scripts from the linked sources” and “Unlink selected items from the linked sources” no longer appear in the list of options that can be added to the Project Tree toolbar.
Опции "Отвязать все скрипты от источников привязки" и "Отвязать выбранные единицы от источников привязки" больше не появляются в списке опций, которые могли быть добавлены в тулбар дерева проекта.
Какая-то бурная фантазия
тех.писательницы придумала этот текст, потому что настройка тулбара дерева проекта никогда не позволяла отобразить кнопки для массовой отлинковки. К тому же, она допустила ошибку, назвав функциональное действие опцией (настройкой). Да, перевод слова
option подразумевает синоним действия, но в IT-документациях, как и в любых юридических документах, синонимами стоит оперировать очень аккуратно, чтобы не исказить смысл. За голимую приписку баллов не даю.
GUI 0 из
1 возможного
•
Captions on the Code Review tab are now shown correctly when the Splash window is open.
Заголовки на закладке правил кодирования теперь показываются корректно, когда открыто временное окно.
Закладка по правилам кодирования имеется в двух местах: результаты анализа в разрезе скрипта, суммарные результаты анализа.
Splash-окном в
CS всегда считалось окно старта приложения, управляемое опцией "Options / Preferences / General / Application Startup (Launch) / Show splash (startup) window". В прошлой версии
CS при открытии приложения всегда активной была закладка скрипта, то есть проблему никак не могли зарегистрировать на таблицу правил кодирования в рамках панели
Summary. Текущий билд, как и
предыдущий, при открытии
CS отображает пустые панели результатов анализа скрипта, так как в любом открываемом проекте первоначально активна верхняя нода, равная папке. Никаких заголовков на пустой закладке не было и нет. Нечёткое описание фикса лишает билд балла.
Autofixes 0 из
1 возможного
•
Autofixes are no longer lost when a new script version is created.
Автофиксы больше не теряются при создании новой версии скрипта.
Версия скрипта может добавиться в трёх случаях: вручную на закладке "Script: Editor and Analyzer Info / Versions", после инструментирования кода на закладке "Script: Editor and Analyzer Info / Instrumented Code", после синхронизации линкованного скрипта с его источником в файловой системе или базе данных. Для получения списка автофиксов скрипта достаточно проанализировать хранимую подпрограмму без указания её имени после служебного слова END в конце кода. Первый вариант никуда не девает автофиксы и оставляет статус скрипта. Второй вариант оставляет автофиксы и меняет статус скрипта в изменённый. Третий вариант обнуляет список автофиксов и меняет статус скрипта в изменённый. Все три варианта одинаковы в
предыдущей и текущей версиях
CS. Вывод: баг не исправлен, описание не конкретизировано. Баллы давать не за что.
Итого по билду: набрано
2+11.5+4.7=18.2 баллов из
4+27+29=60 возможных, что даёт
18.2/60~30% готовности, но при этом за баги билд теряет
-8.5-3.4=-11.9 баллов.