среда, 30 октября 2019 г.

ТО о SD 5.1.1.212

Отчёт о тестировании SQLDetective 5.1.1 (build 212), выпущенном 25 октября 2019 года. Проверка осуществлялась по Release Notes, которые не слишком велики, а значит этот билд был выпущен для исправления важного бага, обнаруженного пользователем. После просмотра всего отчёта, надеюсь, вы легко ответите на вопрос "какого бага билд?".

IMPROVEMENTS 1 из 1 возможного
Online Support Desk
⦁ The process of the update downloading is now indicated on the Windows taskbar.
Процесс скачивания апдейта теперь отображается на системном таскбаре.
Такое интерфейсное новшество стоит проверять на всех доступных операционных сестемах (они перечислены в файле Readme.htm или на сайте продукта в блоке System requirements, на сегодняшний день это "Microsoft Windows 7 and above") и их вариациях (стандартная или пользовательская тема расцветки и контрастности, масштабирование). Для теста не обязательно ждать появления следующего билда, а достаточно выбрать ручной режим обновления. Для этого в окне OSD Updater включите опцию "Allow available items to be selected manually". Новшество можно увидеть не только при наличии интернета и скачивании апдейта с сайта, но и при апдейте из файловой системы. Как тестировать, выбирайте сами: либо машину с установленным SD подключить к интернету (не стоит забывать, что в этом случае ваши данные будут переданы на сайт поставщика безусловно и без дополнительных предупреждений), либо скачайте zip-файл с апдейтом (не инсталлятор) и тестируйте много раз на разных системах без тревоги за то, что данные о вашей машине куда-то утекут. Во время копирования апдейта на кнопке приложения, что отображается на таскбаре операционки, заметно течение данных. Имплементация получает балл, хоть и проверен только один случай.

BUGS FIXED  0+0=0 из 5 возможных, -1.5-0.2=-1.7 за баги
Core  0+0-1+1=0 из 4 возможных, -1-0.5=-1.5 за баги
⦁ The error “ORA-00933: SQL command not properly ended” is no longer raised on a script execution if a DDL statement contains an empty string.
Теперь не случается ошибка о неожиданном окончании sql-команды при исполнении скрипта с пустыми стоками в выражениях.
Поскольку баг в группе Core, то проверять исполнение sql-команды придётся не только в SQL Editor, но и через диалог запуска подпрограмм, что доступен из Stored Program Editor. К сожалению, формулировка фикса никак не поясняет какие скрипты невозможно было исполнить, поскольку термин empty string имеет двоякий смысл: толи это просто пустые строки в тексте скрипта, толи это пустые литеральные команды (параметр для выражения EXECUTE IMMEDIATE), толи это пустые значения символьных переменных или ещё что подобное. Ошибка базы ORA-00933  чаще случается для команд, у которых потерялся конец, поэтому возмём простейший случай и вставим пустую строку между служебными словами SELECT и FROM, из череды которых сформируем небольшой скрипт (3-4 выражения, разделённые слешем или точкой с запятой). Например,
select 1

from dual

;
select 2

from dual

/
select 3

from dual
;


Если проверять диалог выполнения подпрограммы из Stored Program Editor, то в предыдущем билде описанная ошибка не проявляется. Если проверять SQL Editor, то выполнять скрипт необходимо не только по четырём доступным кнопкам на тулбаре редактора (весь скрипт, скрипт от курсора, одно выражение под курсором, одну команду под курсором), но и через запуск файла (через команду @). Мне не удалось получить ошибку ORA-00933  в предыдущем билде, поэтому этот пункт RNs считаю припиской и балла не даю. К тому же выяснилось, что так и не исправлен баг с подвисанием окна процесса в SQL Editor (выполните предложенный скрипт в редакторе через Ctrl+Enter, окно процесса не закроется само после окончания выполнения, а при попытке закрыть его и редактор вручную вам будет предложено отправить Eureka-лог ошибки приложения). Поэтому снимаю балл.
⦁ The error “FROM clause not found in SQL” no longer occurs on trying to execute a statement with the apostrophe in a q-notation.
Ошибка необнаружения служебного слова в выражении теперь не случается при выполнении выражения с апострофом в q-нотации.
Стоит вспомнить, что альтернативные кавычки для символьных переменных бажили и в позапрошлом билде. Для теста придётся составить символьное выражение с апострофом внутри (кстати, апостроф и одинарная кавычка - это разные символы) и вложить его в dml-команду с последующим служебным словом FROM (это может быть как и простая команда SELECT, так и вложенные INSERT, DELETE, UPDATE, MERGE), например, select q'[`]' from dual. Поскольку тех.писательница ошиблась и включила пункт RNs не в блок SQL Editor, то верну вас на тропу истины и ограничу тестируемые модули одним редактором, в котором одном можно было бы воспроизвести баг. К сожалению, предыдущий билд не дал описанную ошибку, поэтому и этот пункт причисляю к припискам. 
⦁ Fixed the highlighting of a literal if the opening bracket of a q-notation is followed by a break.
Исправлена подсветка символов, если открываемая кавычка q-нотации следует за переводом строки.
Подсветка текста осуществляется в окнах для просмотра или редактирования кода. Значит этот пункт RNs затерялся в группе Core. За это минус в карму тех.писательницы. У тех, кто фиксил это, должны быть красными уши, потому что вместо улучшения подсветки сделано её ухудшение. В некоторых случаях остаток команды подсвечивается как продолжение символьного выражения в альтернативных кавычках.
Было хорошо, а стало хуже
Такое исправление функционала даёт мне основание отнять балл, а не присудить.
⦁ A single-line comment is now highlighted correctly when it goes after a number.
Однострочный комментарий теперь подсвечивается правильно, если он следует после количества (номера, цифр).
Опять же странное расположение пункта RNs в группе Core, потому что подсветка текста применима в окнах для просмотра и редактирования кода (Code Editor, Text Viewer, SQL Editor, Stored Program Editor, ..). Вторая проблема с пониманием исправления тоже создалась от безалаберности тех.писательницы в выборе терминов. Что имелось ввиду под словами after a number? Толи предыдущая строка кода оканчивается цифрой, толи имелись ввиду номера строк на левом поле, а может и что иное. Для теста в редакторе кода наберём простенький текст:
select 5
--test
 from dual

и поиграем с местом однострочного комментария:
select 5--test
 from dual

Действительно, подсветка закоментированного остатка строки, следующего за цифрой без пробела между ними, не соответствовала ожиданиям в прошлом билде.
Символы после двух минусов в строке считаются комментариями для SQL Oracle
Поэтому даю балл и даже, по доброте душевной, прощаю использование запрещённого слова correctly.

Но поскольку в каждом пункте тех.писательница запутывала юзера, то за все эти промахи сниму полбалла.
Code Insight 0 из 1 возможного, -0.2 за проблемы
⦁ Ctrl+click now works correctly in INSERT and UPDATE statements.
Функциональный клик теперь работает корректно в выражениях INSERT и UPDATE.
Стоит пояснить, что в SD функциональный клик мышью по имени объекта или переменной позиционирует курсор на месте объявления переменной или подпрограммы (если редактор имеет Code Explorer, например "Trigger Wizard / Body" или "Stored Program Editor") и открывает мастер объекта или позиционирует на нём в Object Navigator. Недавно функциональный клик исправляли для нестандартных имён объектов, а теперь для каких-то составляющих или самих команд. Странно, что в список команд не попали остальные dml-выражения (например, MERGE). Поэтому для теста генерим простейшие все dml-выражения, хотя бы через контекстное меню Object Navigator для любой имеющейся у вас таблицы (или вьювера). Из SQL Editor, в который встроили Code Explorer, функционльный клик открывает без изменений мастер таблицы/вьювера для имени схемы и объекта, но ничего не находит для имён столбцов. То есть, никаких фактических изменений, а тем более корректных, найти мне не удалось. Аналогично без изменений остался и Stored Program Editor для перечисленных команд с объявленными и использованными переменными. Поэтому этот пункт однозначно считаю припиской и не даю ни балла. А использованный термин correctly без отсылки к стандартам и отсутствие конкретики при перечислении команд отнимает -0.2 балла.

Итого билд получает 1+0=1 балл из  1+5=6 возможных, то есть исполнен на 1/6=16%. А за баги теряет ещё -1.7 баллов. Предыдущий билд #210 был опубликован неделю назад, то есть этим фикс-билдом команда пыталась загладить свою вину перед пользователями. А как вы считаете, можно ли такими анти-фиксами получить положительную оценку юзеров?



О правке бага вендором

Более трёх лет назад у меня появилась операционная система Windows 10, одним из элементов которой является текстовый редактор Notepad (в простонародье - Блокнот). Поскольку скорость его открытия для создания новых документов (логи при сбое проги, мелкие сообщения без надобности форматирования) очень нравилась мне для регулярной работы - тестирования ПО, то меня сильно огорчил баг в Блокноте Win10. Окно редактора не закрывалось, если новый документ сохранялся по нажатию крестика в верхнем правом углу. Меня сильно раздражало обязательное двухступенчатое закрытие окна, поскольку это удлиняло мои действия и крало столь полезные рабочие минуты.
И, о чудо! Спустя три года моих жалоб в разные инстанции, наконец-то функционал вернулся к привычному и удобному. Теперь не надо отдельно сохранять новый файл и отдельно закрывать окно редактора.
Спасибо, конечно, инженерам по качеству Microsoft, но срок избавления от бага таким крупным вендором никак его не красит. QA и техподдержка более рядовых компаний работают намного быстрее, и в этом плане нам не стоит брать пример с подобного монополиста.

суббота, 26 октября 2019 г.

Балаболство


Прослушав очередные под-касты от QAGuild мне стало обидно за слушателей, которые впустую тратят время. Ребятки-миллениалы абсолютно не знакомы с правилами подачи информации. Кстати, этим же страдают не мало докладчиков IT конференций.
Друзья, вспомните всё то, чему вас учили в школе: сочинение должно иметь определённую структуру, а учитель при подаче новой темы всегда имел стандартный план. Мои познания в поурочных планах были оценены красным дипломом Пед.ВУЗа, поэтому стараюсь соблюдать общепринятое правило и ожидаю этого же от других.
Если предмет разговора (доклада, подкаста) имеет только наименование, но не поставлены чёткие цели, как результат стремления, то польза от действа - нулевая, как организатору, так и участникам. Если вы не договорились о методе подачи информации (лекция, семинар, МК, беседа, …), то не удивляйтесь обилию троллинга или позаботьтесь о наличии профессионального фасилитатора в числе организаторов. Если в начале разговора используемым терминам не даны однозначные определения, то общение не заинтересует участников диалога, либо понимание станет извращённым, а то и негативным. Ваши идеи не воспримут должным образом. Поскольку парни в основном из Украины, то даю им скидку на убогое использование русского языка с многочисленными вкраплениями новоявленных англоязычных слов для межнационального общения. Благодаря обилию узкоспециализированных терминов они стараются выделить себя в особую касту IT-шников. И не подмечают, что их речь доступна только ограниченному числу слушателей. Так зачем же распространять нечто непонятное всем и каждому, если оно так и остаётся абракадаброй? Если вы желаете поделиться своими знаниями и наработками с кем-то, то по законам педагогики сначала определяете уровень аудитории и постепенно поднимая его доводите до своей высоты.
В одном из моих постов предлагалось совмещать прослушивание под-кастов и докладов с основной работой. Так что, моё время не столь пострадало от трат на "ПиSDET - не мешки ворочать" и "Про тестирование контрактов". А вот полезных знаний так и не прибавилось. Кем стоит быть и что следует знать, чтобы стать SDET-ом? Что такое "контрактное" тестирование и чем оно отличается от unit-tests? Вопросы задавались, но ответов так никто и не дал.
Да, они правы сами про себя: "Нашему поколению миллениалов лишь бы хайпануть." Названием под-каста заинтересовали слушателей, но удовлетворить запрос не смогли. Значит сами делают некачественный продукт (Качество = запрошенные Требования исполнены + Вовремя доставлены + по сходной Цене), поскольку не дают то, что прорекламировали. Полагаю, им стоит полностью перейти на трансляцию только для тех, кто их спонсирует. Есть такие, которые ещё и вкладываются в подобное балаболство.  

пятница, 25 октября 2019 г.

ТО о SD 5.1.1.210

Отчёт о тестировании SQLDetective 5.1.1 (build 210), опубликованному 17 октября 2019 года. Все тесты основаны на пунктах Release Notes.
Три месяца прошло после публикации предыдущего фикс-билда #160, номер релиза или минора не изменился, а значит за этот период накопились фиксы багов без значительных улучшений. Попробуйте угадать "какого бага билд?", то есть какой критичный баг перевесил точку кипения юзеров и команда ConquestSS попыталась умаслить недовольство пользователей?

IMPROVEMENTS  0.5+0.8+0+0.5+0+0.5+1+0.3=3.6  из 1+1+1+1+1+1+1+1=8 возможных и багов на=-0.5-1.5=-2 балла
Core 0.5 из 1 возможного
⦁ Oracle Client is now automatically downloaded and installed if no installation is detected on the PC.
Клиент Oracle теперь автоматически загружается и инсталлируется, если на компе обнаружено полное отсутствие инсталляций.
Поскольку инсталлятор и функционал подключения к базе являются глобальными модулями, то описание тестов аналогично тем, что были проведены для CS 9.1. В рамках же SD лишь убедимся, что реализация и баги идентичны для обоих продуктов.
Нет детекции или забыто отображение результатов
Также стоит отметить, что инсталляция клиента базы Oracle не входит в рамки инсталлятора продукта, а окно подключения к базе автоматически появляется при запуске SD. Поскольку SD существует только в 32-битном исполнении, то и линк для загрузки клиента предлагается только 32-битный. Учтите, что в архивном файле предлагается не инсталлятор, а просто папка instant-client 19-й версии, которую всего лишь надо скопировать себе на диск (или любой доступный) и в переменных окружения в PATH добавить путь к этой папке. Об этом нигде (RNs или Online Help) не сказано. Реализация не совсем соответствует описанию (не блок опций коннекта к базе), расположение инсталлятора сомнительно (не на сайте вендора базы), отсутствие клиентов не проверяет остальные установки (никаких индикаторов о переменных окружения, пакете Microsoft, нет красных NO у лейбл клиентов), поэтому новшество также получает лишь полбалла.
SQL Editor 0.8 балла из 1 возможного
⦁ Added the ability to search for text occurrences in the DBMS Output tab.
Добавлена возможность поиска текста по результатам DBMS вывода.
Для теста подключаемся к любой базе и выполняем в SQL Editor простенький pl/sql блок с выводом dbms-пакета. Например, "begin  dbms_output.put_line('it is my test for search feature');  end;". Если на закладке DBMS Output в SQL Editor пусто после исполнения кода, то проверьте включенность вывода на этой же закладке или в "Preferences / Code Editors / DBMS Output". Далее проверим сам функционал поиска. В предыдущей версии SD не было ни пункта в контекстном меню, ни появления какого-либо диалога по стандартной горячей клавише "Ctrl+F" при активности курсора в окне результатов dbms-пакета. Стоит заметить, что поиск осуществляется интерфейсом, специально разработанным для SD, поэтому поддерживает все возможности, доступные в других текстовых редакторах приложения. К сожалению, хелп-топик закладки DBMS Output почти что не имеет содержимого, поэтому и новая фича не описана. Ещё одна странность этого новшества в том, что оно реализовано только в SQL Editor, а идентичная закладка в Stored Program Editor осталась не у дел. За что и получает новшество лишь 0.8 балла.
Compare Databases 0 из 1 возможного
⦁ Improved the comparison of system generated objects.
Усовершенствован механизм сравнения системных объектов.
Системными объектами в базе Oracle считаются не только те, что схемах SYS, SYSTEM, но и те, чьи имена автоматически генерятся, поэтому либо начинаются с "sys", либо заканчиваются "$$". В большинстве случаев это индексы, констрейнты, иногда таблицы и вьювера, а с 12-й версии базы - колонки таблиц. Так что очень сложно по вышеописанному определить, что конкретно изменилось в сравнении баз. Значит можно не заморачиваться с тестами и пометить этот пункт припиской, не дав балла.
Rename Object +0.5 из 1 возможного, -0.5 за нереализацию
⦁ Added the ability to
  ⦁ automatically rename tables indexes.
  ⦁ rename tables and indexes of another user.
Добавлены возможности автоматически переименовывать индексы таблиц и менять имена таблиц и индексов в чужих схемах.
Экшен переименования объекта доступен лишь в двух местах:  в главном меню Object или контекстном меню для ноды выбранного объекта в дереве Object Navigator. Описание новшества неточно описывает изменение. Радикально добавлено переименование индексов. Переименовывать можно не только табличный индекс, но и кластерный. Совместно с таблицей переименовываться по опции будут лишь индексы, совпадающие по имени с родительской таблицей. К тому же хелп-топик "Working with database objects – Renaming objects" не отредактировали согласно изменениям функционала.  Для проверки наличия новшества открываем вышеозначенные пункты меню для перечисленных типов объектов. Если достаточно прав у текущего пользователя, то выполняем команду RENAME. Для проверки переименования чужих объектов изучаем команду RENAME для используемой версии базы данных, выдаём тест-юзеру необходимые роли и объектные привилегии. Ещё одно неописанное новшество - возможность предварительно просмотреть полный текст исполняемой команды - внесло в SD интерфейсные баги. Текстовый редактор, являясь глобальным модулем, теперь с новыми огромными иконками для кнопок тулбара, заимствованных из CS 9. А на время его открытия исчезает окно, из которого текстовый редактор был вызван. Для текущего юзера оказывается, что переименовать индексы вместе с таблицей нельзя - нет опции, доступной при переименовании чужой таблицы. Единичное переименование своих и чужих индексов работает. Единичное переименование своих таблиц осталось неизменным. Чужие таблицы с массовым переименованием индексов терпит неудачу из-за неверно формируемого блока на исполнение, в котором индексам не присваивается новое имя. То есть для таблицы выполняется команда 'ALTER TABLE old_table_name RENAME TO new_table_name', а для индексов база ругается на существование одноимённого объекта для команд 'ALTER INDEX old_index_name RENAME TO old_index_name'. По результатам тестов могу дать только 0.5 балла и ещё 0.5 балла сниму за баг нереализации.
Dataset/Datagrid 0 из 1 возможного
⦁ Focused cells are now always highlighted in datagrids.
Фокусированные ячейки теперь всегда подсвечены в гридах данных.
Стоит упомянуть, что в SD компонент Datagrid используется повсеместно, но к нему не относятся таблицы без красного символа "?" в левом верхнем углу, например, на ContentSelector окна Object Navigator закладки Data и Columns относятся к числу гридов данных, а таблица на закладке Properties - нет. Больше всего меня в описании смущает слово "всегда", потому что оно откидывает пункт в блок исправленных багов и означает весьма обтекаемое свойство модуля. Дополнительный когнитивный диссонанс вызывает сочетание множественного числа с фокусом. В фокусе (визуально - с красными точками по бордюру) может быть только одна ячейка, даже если выделено несколько (по-умолчанию, цвет подложки - синий, цвет текста - белый). Если проверять фокусировку, то набор тестов будет для одной ячейки. Если проверять подсвечивание, то набор тестов будет касаться нескольких ячеек одновременно (строка, блок или вразброс выбранные ячейки). Если дизайнить тесты по слову always, то следует обращать внимание на интерфейс грида при открытии его самого, на прорисовку его элементов при работе с редактором ячейки (текстовый редактор для символьных полей, калькулятор для числовых, календарь для дат и прочее) или с вызываемыми утилитами (дублирование строк, экспорт/импорт данных и прочее). Все три типа тестов не показали разницы с предыдущим билдом, поэтому заключаю, что этот пункт RNs - приписка, не заслуживающая ни балла.
Taskbar 0.5 из 1 возможного
⦁ Applied the autofit to the taskbar buttons.
Применяется авто-подбор ширины для кнопок тулбара.
О каком тулбаре идёт речь? О главном или о всех в рабочих окнах? Или только о тех, где размер комбобокса со строкой подключения автоматически меняет ширину? Для тестирования будем открывать Icon Dictionary для главного тулбара, редактора и окон с результатами выполнения скрипта утилиты SQL Editor, какой-нибудь утилиты администратора (Session Navigator, Storage Manager, и т.д.) и простое окно без комбобокса сессий (Smart Dataset, Stored Program Editor). Тесты можно проводить параллельно в двух приложениях SD (прошлый и текущий билд), но каждое окно следует переоткрывать в своей рабочей сессии, чтобы применились настройки. Поскольку с предыдущим билдом разницы не выявлено, то считаю этот пункт исправленным багом, воспроизводимом в SD 5.0, но давно исправленном в SD 5.1, а не в текущем билде. Даю только полбалла за неконкретное описание, ошибочное место (не импрув), запоздалое включение в RNs. Запоздалые RNs получаются в команде без своевременного тестирования, когда задачи закрываются тестировщиком уже после выпуска, не поддерживается период заморозки кода.
Code Insight +1 за исполнение и -1.5 за баги
⦁ Added a horizontal splitter so that the height of the Details panel can be customized.
Добавлен горизонтальный сплитер для изменения высоты панели с деталями.
Модуль Code Insight является глобальным и все изменения идентичны, описанным для CS 9. Убедимся в наличии реализации, вызвав подсказчик кода в редакторе SQL Editor или Stored Program Editor. Аналогичность изменений подтвердила и идентичность багов, выявленным в CS 9. Поэтому за исполнение балл, а за баги -1.5 балла.
Query By Example 0.3 из 1 возможного
⦁ Renamed the “Query by Example Editor” command to “Query by Example (filter and sorting).”
Переименована команда вызова "редактора запроса по примеру" в установление "запроса по примеру с фильтром и сортировкой".
Вышеназванный экшен доступен в главном меню Dataset и в контекстном меню всех Datagrid. Стоит заметить, что переименование касается только пункта меню, но не окна редактора. В RNs новшество попало чисто для массовости, потому что изменение было сделано не в прошлом билде, а в прошлой версии продукта. И не только в интерфейсе, но и в хелпе. Так что получает не более 0.3 балла.

BUGS FIXED  4.6+1+0+1+0.5+1.5+1+1+1.8+0.8+0=13.2 из  7+2+2+1+1+2+2+1+2+1+1=22 возможных и багов на=-4.5-1.2-2-0.3=-8 баллов
Core 0+1+0.8+1+0+1+0.8=4.6  из 7 возможных, -1-2-0.5-1=-4.5  за баги
⦁ Fixed highlighting of search results in lines that include the TAB character.
Исправлена подсветка результатов поиска в строках с символом табуляции.
Поскольку пункт RNs не в блоке "Редактор", то придётся тестировать и недавнее новшество поиска по гриду вместе с поиском по текстовому редактору. В качестве данных для теста возьмём текст, содержащий символ табуляции в начале строки, в конце строки, в строке без иных символов, в строке между символами, несколько знаков табуляции в одной строке до искомого значения. Все эти варианты проверяем в текстовом редакторе, в гриде, в текстовом редакторе с предварительным выделением поисковой части. Отдельно проверяем поиск по регулярному выражению (\t  - табуляция (HT/TAB), можно также \x09), поскольку описание можно двояко понять. Поскольку в редакторах текста невозможно включить режим отображения символов табуляции, чтобы убедиться в их наличии после копирования и вставки, и буфер памяти не всегда (или не везде) вставляет все символы в точности, то перед вызовом диалога поиска набивайте вручную табуляторы. После исполнения тестов выяснено, что на самом деле сделан анти-фикс: раньше все подряд находились значения, а теперь через раз, раньше рядом с подсветкой курсор позиционировался, а теперь через несколько символов от найденной позиции. Вдобавок до сих пор проявляется интерфейсный баг диалога поиска в гридах, когда курсор мигает не в окошке ввода поискового значения, а где-то в районе радио-кнопок, имеющих подписи регионального языка операционной системы.
Пугающее юзера положение мигающего курсора
Не могу дать ни балла за изменение, да ещё сниму балл за общее число сопутствующих проблем.
⦁ The words “left”, “right”, “outer”, “inner”, and “cross” are now treated and highlighted as reserved words.
Служебные слова left, right, outer, inner, cross теперь интерпретируются и подсвечиваются как зарезервированные.
Перечисленные слова используются в DML и DDL, код которых отображается в SynEdit (не простые текстовые редакторы, а редакторы кода с раскраской символов). А именно, мастер объекта, просмотр DDL или скрипта в некоторых утилитах, SQL Editor и Stored Program Editor. Настройка шрифта и расцветки зарезервированных слов доступна в "Preferences / Code Editors / Color / Elements / Keywords" (комбобоксы блока Color и чек-боксы блока Text Attributes). Устанавливаем особенные значения шрифта и вводим в доступных редакторах перечисленные слова без кавычек, а для подтверждения работоспособности просмоторщиков кода без права модификации придётся создать объекты с использованием перечисленных слов. Для создания необходимых объектов обращаемся к документации базы Oracle. Это довольно удобно осуществить в Oracle Documentation Browser, встроенном в SD. Поиск по документации предложит статьи из цикла SQL Language Reference, а поскольку большинство слов употребляется в рамках DML, то можно создать вьювер, пусть и инвалидный, по примерам из документации. Странно, что пункт RNs не в группе редактора кода и в багах вместо новшеств, а в остальном заслуживает балл за исполнение.
⦁ Alternative quoted literals are now highlighted correctly.
Теперь корректно подсвечиваются символы в альтернативных кавычках.
Опять странное расположение пункта RNs не в блоке редактора кода, который поддерживает расцветку текста. Никакие иные графические элементы не раскрашивают символы, вводимые через альтернативные нотации. Не рекомендую искать термин альтернативной нотификации в документации Oracle, а просто ознакомтесь с термином Literals, либо воспользуйтесь примерами от разработчиков базы. Если вставите тексты в прошлой версии Stored Program Editor и текущей, то заметите, что последующий текст не раскрашивается в стринговые значения (по-умолчанию, красный цвет шрифта до следующего одинарного апострофа). Но о корректности подсветки говорить нельзя, поскольку нет отсылки к общепринятым или узаконенным стандартам (кстати, даже страница с примерами вендора имеет смущающую расцветку текстов). За введение пользователя в заблуждение дам только 0.8 балла.
⦁ The error “FROM clause not found in SQL” no longer occurs on trying to execute a statement that includes alternative quoting.
Ошибка о ненайденном FROM слове в SQL теперь больше не случается при попытке выполнить выражение с альтернативными нотациями.
В качестве примера выполним запрос "select q'[It's test]' from dual" в предыдущем билде, получим оракловую ошибку с выводом лога Eureka. То есть была двойная ошибка: парсер кода падал при обработке апострофов и оракловая ошибка излишне вызывала отладчик Eureka. В текущем билде запрос выполняется без багов парсера и DOA, но, к сожалению, до сих пор исполнение запроса может быть заблокировано окном подвисшего процесса, закрытие которого вызывает не обработанную ошибку с логом Eureka. И уже в OSD Messenger выясняется баг комплексного тестирования: глобальная osd.dll скомпилирована из CS 9 с новыми огромными иконками, но без возможности быстрого просмотра писем в дереве osd сообщений (нижнее окно всегда пустое). За фикс балл дам, но пару сниму за старый недоправленый и новый баг сборки.
 Ampersand is no longer duplicated in the tab’s caption in the SQL Editor.
Символ амперсанда больше не дублируется в заголовке закладки SQL Редактора.
Пункт RNs по ошибке не в блоке редактора, подозреваю потому, что это интерфейсный баг, а модуль GUI в ConquestSS считается глобальным. Касательно окна SQL Editor, только одна закладка с переменными имеет амперсанд в своём заголовке изначально. Заголовки же закладок с кодом или данными после выполнения запроса никогда не отображали и до сих пор пропускают один амперсанд, то есть никак не дублируют, а наоборот пропускают. Так что из-за описания, абсолютно не соответствующего исполнению и вводящего пользователя в заблуждения с пониманием, не дам ни балла и сниму -0.5.
⦁ The error “SQL command not properly ended” no longer occurs on trying to execute a statement with the nested procedures in the WITH clause.
Ошибка о неверном завершении команды больше не случается при попытке выполнить выражение с сылочной процедурой в WITH выражении.
Пункт RNs ошибочно попал в группу Core, поскольку выполнением выражений заведует глобальный модуль DOA. А на самом деле скрипт со структурой WITH можно выполнить только в SQL Editor.  К тому же термин nested стоило заменить на inline, как это описано в документации БД версии 12c. Для теста найдите в примерах оракловых форумов запрос с inline procedure in with clause. Выполнив его в предыдущем билде и текущем, убеждаемся в реальности фикса бага. Балл заслужен.
⦁ The CLOB field now has an inplace combo box with the IS [NOT] NULL, [NOT] LIKE operators.
CLOB поля теперь имеют встроенный комбобокс с операторами IS [NOT] NULL, [NOT] LIKE.
Пункт RNs однозначно потерялся и попал вместо блока "Improvements / QBE" в блок "Fixed Bugs / Core". Для теста создаём таблицу с CLOB полем и данными, в редакторе фильтров и сортировок пытаемся выставить ограничения на поле CLOB. Новшество реализовано в редакторе фильтров для грида данных, причём термин field стоило заменить на column, а список условий не стоило перечислять, так как раньше вообще никакие не были доступны. За недостатки описания вынужденно даю только 0.8 балла.
В рамках комплексного тестирования выяснилось, что появилась регрессия в Table Wizard: создание любой таблицы, даже самой простенькой, завершается неожиданной ошибкой. За что с билда снимаю балл.
DDL новой таблицы - минимально стандартный скрипт. 
А что приложение предлагает базе - секрет программиста.
SQL Editor 0+1=1 из 2 возможных, -1-0.2=-1.2 за баги
⦁ Timestamps with time zones are now shown correctly in the Data and Output tabs.
Время с зоной теперь отображается корректно на закладках Data и Output.
В SQL Editor окне существует закладка Data Output, а не Data, и ещё три закладки имеют постфикс Output. Поэтому записываем минус в карму тех.писательницы и проверяем все четыре вывода.  Для проверки фикса на Data Output создаём таблицу с полем TIMESTAMP WITH TIME ZONE, но данные придётся добавить в неё вручную, так как SmartDataset всё ещё не позволяет редактировать данные такого типа. Либо берём из документации Oracle пример "SELECT FROM_TZ(CAST(TO_DATE('1999-12-01 11:00:00', 'YYYY-MM-DD HH:MI:SS') AS TIMESTAMP), 'America/New_York') AT TIME ZONE 'America/Los_Angeles' "West Coast Time" FROM DUAL;" и на его основе выполняем запрос в закладки Data Output и SQL Output, pl/sql блок с обращением к dbms-пакету, а через html-редактор создаём процедуру с выводом в HTML Output закладку. Результаты тестов показали идентичность отображения в предыдущем и текущем билдах. Из чего заключаю, что либо этот пункт RNs - приписка, либо тех.писательнице стоило более полно и понятно описать фикс. Полагаю, второй вариант побудил её использовать термин correctly без аппеляции к каким-либо правилам. Фикс ничего не получает. А билд теряет балл за проблему с полем в SmartDataset.
⦁ The application no longer hangs after the replacement of multiple text occurrences.
Приложение больше не виснет после замены множественных текстовых вхождений.
Стоит пояснить, что речь идёт о поиске и замене в тексте, а значит пункт RNs по ошибке попал не в блок любого текстового редактора или поиска по тексту. Для теста открываем текстовый файл побольше размеров в SQL Editor или в Stored Program Editor. Содержимое файла может не быть SQL, поскольку выполнение или компиляция нас не интересует. Предварительно в редакторах подправьте настройки так, чтобы содержимое файла не перезаписалось при закрытии окна или закладки. Вполне удобно в таком случае взять скрипт на вставку нескольких тысяч строк в таблицу и запустить переименование всех названий схемы на другую. В предыдущем билде диалог процесса замены всех найденных сочетаний не позволял параллельно работать в остальных окнах приложения, но в текущем билде изменение таково, что окошко процесса совсем исчезает, позволяя полноценно работать в других окнах. Это явно не исправление бага, а улучшение интерфейса, но слегка не доработанное из-за невозможности следить или прервать процесс массовой замены. Даю балл полезному новшеству, но снимаю -0.2 за недостатки.  
Object Navigator +0+0=0 из 2 возможных и -2 за баг
⦁ Parent nodes are now automatically refreshed once a new object is created.
Родительские ноды теперь автоматически обновляются при создании нового объекта.
У нод верхнего уровня существует два индикатора, меняющихся при добавлении объектов внутрь: количество и наличие символа "+". Их изменением управляет опция "Preferences / General / Object Navigator / Refresh tree on object change". Изменять или создавать объект можно через мастер объекта или в редакторах кода (SQL Editor, Stored Program Editor). К большому сожалению, тех.писательница не уточнила для какого уровня и типа данных сделан фикс. В число верхнеуровневых нод входит не только нода коннекта, моей схемы, всех схем, несхемных объектов и прочие. Также верхнеуровневыми считаются подпапки с подобъектами параметров редактируемого объекта, например, папка колонок или триггеров для таблицы. Также нет уточнения по поводу типа объекта и статуса папки (пустая или есть хоть один подобъект, свёрнутая или развёрнутая). Так что придётся проверять всё, да ещё в множестве сочетаний. Минимально таблица может выглядеть так:
создан объект в мастере создан объект в SQL Editor создан объект в Stored Program Editor
включена опция Preferences / General / Object Navigator / Refresh tree on object change
выключена опция Preferences / General / Object Navigator / Refresh tree on object change
создаётся первый объект (нода пустая)
создаётся последующий объект (нода не пустая)
нода не разворачивалась
нода раскрыта
моя схема
все схемы
системный объект
папка схемных объектов
подпапка схемного объекта
Для пары наугад выбранных типов объектов все тесты не показали никакой разницы, поэтому пункт RNs выкидывается в ранг приписок, а билд недополучает балл.
⦁ The reset action is no longer available for collections.
Операция восстановления больше не доступна для коллекций.
В дереве объектов коллекция - это объектный тип (в документации Oracle он называется Standalone varying array (varray) type). Они расположены в отдельной подпапке у Types. Операция восстановления - это возврат к версии объекта эдишена. Для лучшего понимания изучите Editions, как объект базы данных и команду Alter Type с параметром Reset. А по-минимуму для теста достаточно иметь хоть один объект коллекцию и раскрыть контекстное меню для него в навигаторе объектов. К сожалению, до сих пор невозможно создать объект-коллекцию ни через мастер (в 5-й версии SD он исчез), ни через Stored Program Editor (в нём открываются существующие коллекции, вместо мастера). Так что создайте коллекции через SQL Editor по скриптам из документации базы. И вы убедитесь, что восстановление разрешено для коллекций. Кстати, в документации Oracle нет ограничений на коллекции, поэтому этот пункт - глупая и ненужная приписка. Балл не могу добавить, а вот снять пару за долговечную проблему с мастером коллекций и введение в заблуждение об объектах базы стоит.
Dataset/Datagrid +1 за фикс, -0.3 за недоделки
⦁ The “ORA-01480: trailing null missing from STR bind value” no longer occurs on trying to commit a table  with over 500 characters in the field.
Ошибка предшествующих пробелов у символьных переменных больше не случается при попытке сохранить данные таблицы с более 500 символами в одном поле.
К сожалению, не упомянут тип поля, поэтому проверять придётся таблицу со всевозможными символьными полями, длина которых может быть более 500 символов. Создавая таблицы для тестов не забудьте ограничение на сочетание полей разных типов в одной таблице. Сохранять будем значения с пробелами в начале, конце и середине текста, текст из пробелов и пустой. Типы полей для проверки: varchar2 byte, varchar2 char, char byte, char char, long, clob, nclob, nvarchar2, nchar. Можно также расширить список типов за счёт ANSI и User Defined. Но фактически достаточно иметь таблицу с полем varchar2(4000). Описанная ошибка больше не случается, но текстовый редактор не обрезает слишком большие значения, а база ругается "ora-01461: can bind a LONG value only for insert into a LONG column", не смотря на то, что текст в редакторе обрезается. Встаёт вопрос: на каком этапе (закрытие редактора, вставка из буфера, ручной ввод, post in visible grid или commit  в базу) и кто (приложение или база) должен мониторить и подправлять предлагаемый объём данных к имеющимся возможностям для хранения? За исполнение, соответствующее описанию, балл дам, но за неполноценность разработки сниму -0.3 балла.
Database Connection Window 0.5 из 1 возможного
⦁ Oracle homes changed for the database connection are now saved and restored correctly after restarting the application.
Оракловый хоум, изменённый при очередном коннекте к базе, сохраняется и восстанавливается при следующем запуске приложения.
Для теста нужно иметь проинсталированными хотя бы два клиента разных версий (не забудьте про дозволенное сочетание версий клиента и базы) или типов (полный или облегчённый). Одна сессия приложения разрешает только одного клиента для всех баз, поэтому термин changed имеет двоякий смысл: либо вы вручную выбирали клиента, либо приложение автоматически сменило клиента для второго и последующих подключений. Стоит ещё вспомнить функционал окна подключения: строки считаются разными, если отличаются имена пользователей или баз, тип подключения (нормальный или администратор). Минимальный приёмочный тест: открываем предыдущий билд, подключаемся к одной схеме с клиентом_1, отключаем коннект, подключаемся к одной схеме с клиентом_2, закрываем приложение, открываем приложение и убеждаемся, что в списке запомнен коннект с клиентом_1. Теже самые шаги в текущем билде дают запомненный коннект с клиентом_2. Если проводить расширенное тестирование для автосмены клиента приложением, то результат будет отрицательным, то есть описанный фикс касается только ручной смены клиента. Поэтому слово correctly, использованное в описании фикса, не приемлемо. Когда появился баг - не знаю, но в ранних версиях всем последующим коннектам клиент менялся автоматически. Поэтому за фикс могу дать лишь полбалла.
Table Wizard +0.5+1=1.5 из 2 возможных
⦁ An access violation error no longer occurs on trying to truncate a selected partition.
AV-ошибка больше не случается при попытке очистить выбранную партицию.
Перед тестом стоит изучить команду Alter Table, в частности её параметр truncate partition. Но поскольку тех.писательница проявила неуважение к пользователям и не пояснила, что именно было багом, и что конкретно изменено, почему пункт в группе мастера таблицы, а не навигатора объектов или главного меню (там тоже доступна команда очистки), то сниму несколько долей балла. Говоря, что исправлена av-ошибка, тестировщик или программист ленится актуализировать баг для выяснения его причины и возможных улучшений продукта. В процессе моего тестирования выяснилось, что баг появился в SD 5, а исправление в текущем билде внесло регрессию: если вы подключились к базе с подтверждением DDL команд, то диалог предупреждения появляется при очистке партиции только из главного меню или контекстного меню навигатора объектов, а мастер таблицы лишился подтверждения на выполнение DDL команд. По совокупности оплошностей фикс получает лишь полбалла.
⦁ On creating a new table, the table name is now immediately shown in the window title once the “Object Name” filed is filled in.
При создании новой таблицы её имя сразу показывается в заголовке окна при вводе символов в поле имени объекта.
Сомнительно, что пункт RNs в блоке исправленных багов, так как его описание более похоже на улучшение интерфейса. При воспроизведении не забудьте режим максимизации окна, когда заголовок мастера таблицы и заголовок главного окна приложения являются одним и тем же элементом интерфейса. Изменение сделано и получает балл. За регрессию о сопутствующем баге при создании таблицы уже был снят балл ранее.
Code Folding +1+0=1  из 2 возможных
⦁ Fixed code folding for the lines with parentheses.
Исправлено вложение кода для строк со скобками.
Напомню, что в некоторых редакторах кода на левом поле имеются интерактивные линии, отображающие вложенность кода по служебным словам и скобкам. Не знаю, для каких конкретно случаев скобки не учитывались в структуре, да и тех.писательница не удосужилась это пояснить. Поэтому берём первый попавшийся код (мне подвернулся объектный тип с телом) и смотрим его в Stored Program Editor, как наиболее часто используемом редакторе кода. Да, линии стали прорисовываться для большего числа случаев. В моём случае, если скрипт состоит из спецификации и тела, то линии структуры имеются и в прошлом, и в текущем билдах. А если скрипт состоит только из спецификации типа, то линии структуры прорисовываются для круглых скобок только в текущем билде. С большой натяжкой даю балл исправлению, которое вполне можно было разместить в группе улучшений.
⦁ Fixed the highlighting when statements are collapsed.
Исправлена подсветка для свёрнутых выражений.
Скорее всего термин подсветки относится к линиям структуры кода при нахождении активного курсора в пределах блока. Но речь может быть и о подсветке служебных слов либо выбранность курсором или поиском нескольких символов (строк). Посмотрим изменения и позже решим, о чём конкретно хотела уведомить пользователей тех.писательница. Для теста открываем одинаковый текст в прошлом и текущем билдах, сворачиваем одни и теже ноды и пытаемся найти отличия при перемещении курсора. Мне абсолютно не удалось приметить хоть каких-то отличий. Поэтому не дам ни балла.
Code Insight +1 из 1 возможного
⦁ Ctrl+click now works correctly for all object names.
Горячая клавиша для открытия объекта теперь работает корректно для всех имён объектов.
Не могу согласиться, что функционал открытия мастера объекта или локализации курсора в коде по спец.клику на его имени является частью подсказчика кода, а не фичей редактора или навигатора объектов. К тому же, описание фикса содержит ещё пару промахов. Что имелось ввиду под определением всех имён объектов? Мне известны следующие случаи: имя латиницей в нижнем/верхнем/смешанном регистре, имя латиницей в двойных кавычках, латиницей в нижнем/верхнем/смешанном регистре в двойных кавычках, на региональном языке в двойных кавычках и без кавычек (только utf-базы поддерживают), имена объектов с префиксом схемы через точку, имя подпрограммы с префиксом родительского объекта. Поэтому проверять пришлось все случаи, из которых исправленными оказались имена в двойных кавычках и на региональном языке. Фикс получает балл, а тех.писательница моё и обще-пользовательское "фи" в карму из-за лишних проверок.
Find and Replace +0.8+1=1.8  из 2 возможных
⦁ Fixed the look-and-feel of the dialog box that appears during the text replacement process.
Исправлен внешний вид диалога о процессе замены в тексте.
Поскольку нет уточнения о какой замене речь (единичная или множественная, прерывания для подтверждения или градусник без остановки), топроверяем все четыре варианта. При чём один уже сделан в рамках одного из предыдущих тестов про зависание. И он же единственный дал мелкое отличие в позиционировании окна с прогрессом замены: в текущем билде окошко центрируется относительно редактора, а было в прошлом билде прилеплено к левому верхнему углу главного окна приложения. Иных внешних отличий нет. Поэтому из-за неверного использования термина "внешний вид" вместо "позиционирование", а также из-за размещения улучшения интерфейса в группе исправленных багов даю 0.8 балла.
⦁ Clicking “Cancel” now breaks the text replacement process.
Нажатие кнопки Cancel теперь прерывает процесс замены в тексте.
По-моему, стоило объединить все четыре изменения заменителя текста в один пункт по совершенствованию диалога о процессе массовой замены. Потому что этот пункт RNs лишь дублирует проведённый тест и работоспособность кнопки при огромных объёмах замены. Уж не буду и здесь снимать балл за невозможность прервать процесс замены после временной активации иных рабочих окон, а просто пожалею группу разработки и дам балл за фикс.
Find Text / Find in Files 0.8 из 1 возможного
⦁ The progress dialog box that appears once the text replacement takes more than 5 seconds is now shown at the top of the main window, not in the SQL Editor workspace.
Окно процесса, появляющееся спустя 5 секунд с начала замены в текстах и файлах, теперь показывается в верхнем углу главного окна, а не в рабочей области редактора.
Фикс сделан, но совершенно наоборот описанному: процессинговое окно теперь легче обнаружить в рамках редактора, нежели оно западало за верхний край монитора. К тому же, исправление касается не только окна SQL Editor, но и всех других, поддерживающих массовую замену текста. Ещё одно заблуждение - помещение фикса в рамках модуля по поиску в файлах, поскольку он работает со своим текстовым редактором, а результат и процесс отображаются не в диалоге, а в приклеенной к низу главного окна специальной панельке. Так что из-за промашек тех.писательницы даю лишь 0.8 балла.
System Information 0 из 1 возможного
⦁ TNS_ADMIN registry values are now included in the system information.
Значения реестра TNS_ADMIN теперь включены в системную информацию.
Этот пункт RNs никак не соответствует терминологии багов, ему явное место в новшествах. При чём эти добавления (переменная окружения TNS_ADMIN, список имён баз из файла tnsnames.ora) были сделаны очень давно, но втихоря (тогда срочно нужна была инфа от юзера, а GDPR ещё не поддерживали). Полагаю, поскольку переменные окружения могут быть уровня системы и пользователя, то о значениях сказано в множественном числе. Либо тех.писательница перепутала термины "значение переменной окружения", "содержимое файла tnsnames.ora" и настройка пути к базам через "строковый параметр реестра". Или же последние версии Oracle кроме ветки "Software / Oracle" работают с иными параметрами реестра? Тогда стоило уточнить баг номером версии базы. Для инфы из реестра в файле с системной информацией продуктов выделен блок "OCI Information / Oracle Registry Data", куда попадает всё содержимое упомянутой ветки, а значит и параметр TNS_ADMIN. У меня так и не получилось выяснить, что же конкретно изменилось в содержимом этого файла, который собирается из множества источников и показывается через главное меню "Help / System Information". Также эти все данные передаются в техподдержку ConquestSS без архивации и шифровки вместе с OSD-сообщением. Видимо у разработчиков проявилась совесть или того требует GDPR, поэтому пункт RNs заявил об изменениях спустя несколько лет. Балл за исполнение дать никак не могу, при чём не столько из-за его невоспроизведения, сколько из-за запутанного описания.

Ещё пара багов, до сих пор мозолящие глаза при инсталяции. За каждый из них снимаю по баллу из-за их долговечности и введении пользователя в заблуждение.
Инсталлятор продукта испортился давно, с одного из билдов версии SD 5.0 тем, что список инсталлированных предыдущих версий опустел и определяет наличие только версии 4.7.2.
Файл ReadMe.HTML имеет одну недоправленную ссылку "top..", взятую из аналогичного файла для CDB.
Линк на внутреннюю папку разработчика


Итоги по билду: набрано 3.6+13.2=16.8 баллов из 8+22=30 возможных, значит билд готов на 56%, выявленные баги снимают -2-8-2=-12 баллов.

четверг, 24 октября 2019 г.

ТО о CS 9.1.1.124

Отчёт о тестировании ClearSQL 9.1.1.124 (далее - CS), опубликованном 21 октября 2019 года, основан на Release Notes. Предыдущая платная версия была выпущена меньше месяца назад. Это значит, что текущий билд содержит некоторые существенные новшества, увеличившие номер минорной версии, даже не релиза или билда. Напомню, что предыдущая мажорная версия готовилась на протяжении полугода, а текущая - лишь тройку недель. Более похоже на то, что какое-то изменение придержали в последний момент, и вот теперь выложили, чтобы продать его подороже.

IMPROVEMENTS 0.8+0.9+0.5+1.7+0.7+0+0+0.5+0+0.7+4.1+1.8+0.5+0=12.2 из 1+2+1+2+1+1+1+1+2+1+5+2+1+1=22, -0.3 за баги
Core 0.8 из 1 возможного
Added the ability to navigate around the project using browser-like back and forward buttons. The navigation history is available from the navigation buttons drop-down lists.
Добавлена возможность навигации по проекту, используя подобие просмоторщика в кнопках назад и вперёд. История перемещений доступна в ниспадающем списке кнопок навигации.
Дерево проекта у реально работающих в CS может быть огромным, а из общих диаграмм проекта или результатов анализа можно перепрыгнуть на любой из скриптов в дереве. При этом бывает довольно сложно вернуться обратно или даже вспомнить, где работал до этого. Новшество довольно полезное, но его реализация абсолютно не интегрирована с другими фичами, например, фильтрацией. Но радует от факт, что история перемещений запоминает не только ноду в дереве, но и соответствовавшую ей закладку с результатами анализа. Удручает лишь кратковременность показа хинта вместо, как сказано, полного ниспадающего списка. Функционал навигации по кликам не нов для продуктов ConquestSS. Обидно только, что подобные полезные функции так долго не копировались в аналогичные приложения. Может теперь не долго уже осталось ждать, когда интерактивный отчёт по проекту приблизится к ClearDB Docu.
Code Editor 0.9+0=0.9 из 2 возможных
Added the ability to navigate to a variable, parameter, local subprogram, local type, subprogram of another package, and dataset by pressing Ctrl+Click on the identifier.
Добавлена возможность навигации на переменные, параметры, локальные подпрограммы, локальные типы, подпрограммы чужих пакетов и объекты данных по нажатию горячих клавиш на идентификаторах.
Почти двадцать лет назад, когда у редактора кода в SQLDetective появилось дерево кода, то появилась возможность и навигировать курсор через горячую клавишу по компонентам текущего кода за счёт прямой связи текста кода с его структурой в дереве. В CS дерево кода тоже существовало изначально, но поскольку редакторы кода в обоих продуктах создавались разными программистами, то тестировщику ужасно сложно было доказать упрямым разработчикам неконсистентность одинаковых модулей в продуктах единой компании ConquestSS. Наконец-то в этом, можно сказать политическом, деле наметились подвижки. С точки зрения программиста этот перенос функционала не составляет никакой сложности, а для обычного пользователя такое удобство несёт массу преимуществ по ускорению и упрощению работы с кодом. Единственное, что меня смутило в тексте RNs - переход на подпрограммы чужих пакетов. В SQLDetective это возможно, поскольку код в редактрах связан со всеми объектами базы через незакрываемый никогда Навигатор Объектов. В CS хоть и есть дерево проекта с именами скриптов, но для перехода на чужие объекты (не имеющиеся в текущем скрипте, но наличествующие в проекте) они должны быть префиксованы истинным именем объекта, а не скрипта. И переход, в отличие от SQLDetective, осуществляется не на объявление подпрограммы в спецификацию пакета или объектного типа, а в его тело на первую строку подпрограммы чужого пакета. Такое неожиданное поведение позволяет снизить балл.
An active line is now always highlighted even if it belongs to a suppressed block.
Активная строка теперь всегда подсвечивается, даже если она в свёрнутом блоке.
Мне абсолютно не удалось увидеть разницу между прошлым и текущим билдами, в обоих редакторах подсветка строки и позиция курсора отображаются идентично. Поэтому этот пункт RNs не могу считать сделанным.
Project Tree 0.5 из 1 возможного
Added the Import and Export commands to the Project Tree pop-up menu.
Команды экспорта и импорта добавлены в контекстное меню дерева проекта.
Глобальная переделка главного меню и сокращение главного тулбара привела к тому, что часть важного функционала пропала с поля зрения юзера. А теперь, возвращая более лёгкий доступ к частоиспользуемым фичам, тех.писательница называет это новшеством, вместо исправления бага регрессии. То есть программист в прошлом билде наворотил бед, а теперь выдаёт это за внедрение удобства пользования. Разве можно за такое не только бесполезное, но и вредоносное коверканье кода и структуры продукта давать балл?
New Project Assistant / Import Wizard / Link Manager 0.7+1=1.7 из 2 возможных
Added a quick filter to instantly filter the file system tree and data object tree. The filter is applied to the already expanded nodes and to those expanded after the filter is applied.
Добавлен быстрый фильтр для моментальной фильтрации дерева файловой системы и дерева объектов данных. Фильтр применяется к уже развёрнутым нодам и к тем, которые разворачивались перед применением фильтра.
Ранее не было возможности отфильтровать папки с файлами, кроме как через маску расширения и имени в настройках приложения "File / Preferences / New Project, Import and Link Manager / Files and Folders / Filter". Также в прошлых версиях фильтры на объекты базы (тех.писательница опрометчиво назвала объекты "базы" объектами "данных", с которыми CS не работает) создавались и хранились по-папочно и не пересекались. Теперь же отфильтровать можно наглядно и напрямую в окне, но перед этим приходится единожды развернуть папку, и лишь один фильтр одномоментно применим. Фильтры придуманы для того, чтобы не теряться в обилии нод и сделать наполнение дерева более быстрым. Но поскольку в системе формирования дерева уже сделано немало ускорений, то быстрые фильтры стали более уместными. Но функционал быстрых фильтров оказался не совместим с отбором файлов и объектов для последующего импорта или линковки, потому что чекер у выбранной ноды сохраняется и восстанавливается при смене фильтра, а кнопки добавления и линковки этого не замечают. Тем не менее, новые быстрые фильтры в дереве объектов срабатывают для всех вложенных нод, даже если они ещё не разворачивались и дерево не заполнялось объектами схем. К сожалению, за отсутствие интеграции с основным функционалом новшество никак не может быть оценено полным баллом.
Added the ability to break the process of items selection in the “From Files” tree.
Добавлена возможность прекращать процесс выбора позиций в дереве файлов.
В прошлых версиях при проставлении чекера в верхней папке дерева файлов сразу начинался процесс экспорта вложенных файлов в проект и этот процесс отображался только в статусной строке. Если в папке очень много файлов, то такой процесс невозможно было остановить или оборвать. Теперь же, если процесс выборки файлов затягивается более нескольких секунд, то прорисовывается окно движения процесса с кнопкой для его прерывания. При этом все уже состоявшиеся чекеры не обнуляются. Так, одним новшеством не только добавлено управление функционалом, но и исправлена интерфейсная погрешность, ранее вводившая в заблуждение о моментальном экспорте в проект вместо временного помечания файлов для последующего экспорта. Возможно, какому-то юзеру в новом диалоге будет не хватать кнопки для приостановки. Но это тянет на недоделку из-за непродуманности фичи разработчиком.
Export Wizard 0.7 из 1 возможного
Entirely redesigned the Export Wizard window.
Совершенно изменён дизайн окна мастера экспорта.
Мастер экспорта включает в себя экспорт скриптов и диаграмм, но вызывается как бы разными пунктами меню. Из интерфейса мастера убраны два дерева: одно для выбора принимающей папки, второе отображало содержимое принимающей папки вместе с готовыми файлами. Удобство нового интерфейса значительно в полном отображение настроек экспорта, а не прятании их по разным закладкам. Пожертвовав отображением списка экспортированных скриптов и диаграмм, интерфейс усовершенствован для удобства юзера, к тому же добавлена возможность фильтрации исходных скриптов и диаграмм. Но обратив внимание пользователей на этот модуль, разработчики забыли исправить его проблемы: экспорт комментариев псевдокода безусловно идёт в txt-файл, который сложно потом отыскать, учитывая исходное расширение скрипта - sql или иное. По-умолчанию, формат юникодности экспортированного файла коверкает его содержимое, добавляя лишние значки и символы. Поэтому полный балл дать не в силах.
Oracle Forms 0 из 1 возможного
Added support for Record Groups.
Добавлена поддержка групп записей.
Ранее в проект CS можно было импортировать такие объекты форм Oracle, как библиотеки и формы с их элементами, триггерами и прочими исполняемыми подпрограммами. Теперь к ним добавились группы записей, о которых вы можете узнать из первоисточника. К сожалению, объектов такого рода не добавлено в демо-проект или его скрипты, как это принято в хороших компаниях по разработке. В фильтре при импорте файлов в проект новых расширений файлов не обнаружено. В закладках с результатами анализа скрипта тоже не появилось отдельной для групп записей, как для canvases. Даже версия демо-проекта осталась прежней с прошлого билда, то есть нет смысла искать какие-то новшества парсера при импорте форм Oracle. Поэтому нет возможности протестировать хоть что-нибудь и дать за новшество подобающие баллы.
Analyzer Progress 0 из 1 возможного
Redesigned the message prompting the user about too long code analysis time, and added the ability to disable code detection and diagram generation right before the start of the analysis.
Переделано сообщение, предупреждающее юзера о слишком большом времени анализа кода, и добавлена возможность выключать опознание кода и генерацию диаграммы непосредственно перед стартом анализа.
В пред-предыдущих версиях CS действительно существовало предупреждение и настройка анализа по более быстрому методу. Но после рефакторинга анализатора ещё пару лет назад в этом отпала всякая необходимость, и даже опцию саму убрали. Что именно сделали на этот раз - никак пояснить вам не могу, поскольку нет никакой разницы при запуске анализа в предыдущем и текущем билдах. Изменение - фикция и баллов не получает.
Global Search 0.5 из 1 возможного
Added the ability to toggle the search for whole words only from the drop-down menu next to the search box. The options to open the search results in a tab or window were also moved to the drop-down menu.
Добавлена возможность переключать поиск по полному слову только из ниспадающего меню в диалоге поиска. Опции для открытия результатов поиска на закладке или окне также были перемещены в ниспадающее меню.
Странно, что два изменения записаны в один пункт RNs, потому что чуть позже увидите более мелкие правки, поделённые на самостоятельные. А вот про исчезнувшую опции о совпадении регистра почему-то вообще не сказано. Да, за счёт переноса кнопок в ниспадающее меню, строка для ввода условия поиска стала чуть длиннее, но подобное прятание интерфейсных компонентов ухудшает понимание предназначения приложения. Вышеописанные замечания не тянут на полный балл.
CRUD Matrices 0+0=0 из 2 возможных, -0.3 за смуту
Optimized the speed of CRUD matrix generation.
Оптимизирована скорость генерации матрицы CRUD.
В очередной раз программист сделал некоторые технические изменения, которые никак не отражаются на работе обычного пользователя, потому что нагрузочные тесты только могут показать итог улучшений. Этот текст время от времени копируется из одних RNs в текущие, даже без коррекции. Поэтому не могу дать и йоты, что на самом деле были какие-то правки.
Added the ability to navigate to CRUD matrices called from Call Trees.
Добавлена возможность навигации на матрицы CRUD, вызванные из дерева вызовов.
Примечание: из дерева вызовов никогда не существовало никакого перехода на матрицы и его никоим образом не добавили. А вот обратная навигация - из матрицы в дерево вызовов - существует давным-давно. Так что, этот пункт RNs - полная чушь, не заслуживающая ни балла, даже стоило снять несколько за введение в заблуждение.
Filter 0.7 из 1 возможного
Added a list with recent filter conditions to all the modules where the quick filter is used.
Добавлен список последних использованных фильтров во все модули, где применяется быстрый фильтр.
Число "всех" модулей с функцией быстрого фильтра ограничивается четырьмя окошками: главное дерево проекта, дерево кода рядом с редактором, дерево файлов для импорта в проект, дерево скриптов или диаграмм в мастерах экспорта. Да, это полезно иметь пополняемый список ранее набранных условий фильтрации. Каждый из них пополняется самостоятельно и хранится отдельно друг от дружки. Но интерфейсно такой функционал очень часто перекрывает рабочую область совершенно посторонних окон. Например, поставьте курсор в строку с фильтром дерева кода и откройте мастер заданий или генерации отчёта. В этом случае список условий фильтров останется висеть поверх всех окон, даже если это совершенно чужое приложение - интернет браузер или почтовый клиент, скриншоттер или видеоплеер. Поскольку тех.писательница не утруждала себя точным перечислением мест нововведения, и с новым компонентом выявился интерфейсный баг, то полный балл дать не за что.
Preferences 0.5+0.8+1+1+0.8=4.1 из 5 возможных
Preprocessor options in Preferences get inactive when the Preprocessor is enabled.
Опции препроцессора становятся неактивными в установках, когда препроцессор выключен.
Одно из правил зависимых опций - они должны переключаться согласованно, то есть если выключается "родительская" опция, то ни одна из её "дочерних" не должна терять своего значения, вместе с тем не иметь возможность к изменению и применению. Поэтому моё мнение тестировщика - это не улучшение интерфейса, а частичное исправление интерфейсной недоделки, потому что не все опции препроцессора стали зависимыми.
The folder where the preferences are saved or from which they are loaded is now restored on the next use.
Папка, где настройки были сохранены или из которой загружались, теперь восстанавливается для последующего использования.
Наконец-то программисты реализовали то, что должны были сделать изначально с самим функционалом сохранения и восстановления настроек. Это же как букварь для работ, касающихся папок и файлов. Существуют общепринятые правила полезности интерфейса: диалог для выбора папки и файла должен сохранять и восстанавливать последний использованный путь, по-умолчанию имя и расширение файла должно соответствовать функционалу и предлагаться по соответствующему шаблону. Так что, это новшество с точки зрения тестировщика следует считать исправлением недоделок.
Removed the Main Window page from Preferences as unnecessary.
Из настроек приложения убрана страница главного окна за ненадобностью.
В прошлых версиях CS убранная страница была предназначена для настройки в большей своей части подсказок. Поскольку система встроенных хелпов отработана с годами, то программисты посчитали их настройки ненужными. Изначально мне было не понятно, почему часть установок расположены на главной странице, а не в специальной интерфейсной. Но на момент их появления для них действительно не хватало свободного места, хотя логически им и сейчас не место на первой странице, где интерфейсность перемешана с функционалом. В качестве регресс-теста попробуйте восстановление настроек из файла, сохранённого в пред-предыдущей версии CS.
Moved the option to change the position of the code editor to the Code Editor page in Preferences, and renamed the option to “Display Code Editor below script analysis result.”
Перемещена опция для изменения позиции редактора кода на страницу настроек самого редактора и переименована.
В прошлой версии название опции ориентировалось на результаты анализатора и она была в числе настроек главного окна. Теперь наименование опции приближено к редактору, то есть в рамках приложения, делающего в основной своей массе анализ кода, этот самый процесс принижается до обычного редактора кода. В рамках теста стоит перепроверить сохранение и восстановление перемещённой опции, а также приведение к дефолтному состоянию. Странно, что дубликат опции на тулбаре редактора кода всё ещё имеется, хотя в настройках CS можно было бы и убрать её.
Renamed the “Code” page to “Code Editor” in Preferences.
Переименована страница кода в редактор кода.
Тех.писательница ошиблась в старом наименовании страницы, потому что вместо Code она называлась Editor. Но в хелпе и интерфейсе изменения сделаны логично. Это мелкий фикс из числа тех, что обычно не включают в RNs из-за низкой значимости. Но, тем не менее, балл билду приносит.
Online Support Desk 1+0.8=1.8 из 2 возможных
The process of the update downloading is now indicated on the Windows taskbar.
Процесс загрузки апдейта теперь отображается на таскбаре операционной системы.
Года три назад, когда один из программистов подправлял интерфейсный компонент, отображающий движение длительного процесса, это новшество уже актуализировалось. Но, видимо, после кардинальной смены интерфейса компонент сломался. Теперь старое вернули и называют его новинкой. Такой функционал интерфейса необходимо проверять на всех объявленных к поддержке версиях и разрешениях операционной среды (Windows 7-10, 100-150%, темы от стандартной до контрастной). Градусник на кнопке панели задач должен быть показан не только при активации иного приложения, но и во время параллельной активности CS на рабочем столе и в панели задач. Загрузку апдейта может проверить любой юзер, если включит режим ручного апдейта в окне OSD Updater и загрузит текущий билд.
Added the ability to attach files and images from the Clipboard.
Добавлена возможность прикреплять файлы и картинки из буфера обмена.
Очень полезное новшество давным-давно было предложено и наконец-то осуществлено по горячей клавише и из контекстного меню, как написано в хелпе. Картинкам автоматом присваиваются имена с порядковыми номерами, а другие файлы вставляются со своими именами и проверкой на дубликаты по имени. Одну странность не обработали - сообщение с только прикреплениями, но без заполненных других параметров, не предлагается к сохранению на закрытии окна. Поэтому балл не полный.
GUI 0.5 из 1 возможного
Renamed the “Export to/Import from” menu commands to avoid duplication in captions.
Переименована команда меню экспорта/импорта для избежания дублирования в заголовках.
Напомню, что в последних версиях в главном меню упразднён пункт утилит, а экспорт/импорт скриптов и диаграмм перенесены в "File". Новшество же заключается в том, что из подпунктов убрали префикс действия, уже имеющийся в верхнем пункте. Хоть и сущая мелочь, но изменение есть и приносит балл билду. Но о таких переименованиях нет смысла сообщать, поскольку они не несут никакой функциональной нагрузки. Странным считаю то, что в рамках этого RNs забыли о переименовании пункта логов анализа. Чтобы не снимать целый балл за забывчивость, лишь снижу стоимость текущего.
What’s New 0 из 1 возможного
The What’s New window is now shown only at the first application launch. To see this window each time, clear the selection of the “Don’t show this message again” check box.
Окно со списком новинок теперь показывается только при первом запуске приложения. Для того, чтобы увидеть это окно ещё раз, очистите галку о непоказе этого сообщения опять.
Окно с RNs почти изначально имело опцию для последующего скрытия без возможности её переключения через интерфейс продукта. Для возобновления показа при старте юзеру вручную можно обнулить опцию в одном из настроечных файлов. Чуть позже сделали показ только юзерам с купленной лицензией, а потом добавили пункт в главное меню для показа всем, но уже без означенной опции. А в последних версиях CS от этого списка в рамках продукта вообще смысла не стало, потому что десктопно показывается только первый пяток новшеств, а всё остальное надо искать на сайте ConquestSS. Конкретно это новшество является пустой припиской, поскольку абсолютно никакой разницы в версиях нет. Поэтому и баллов билду не приносит. А вот если бы тех.писательница сказала, что опция последующего непоказа теперь всегда включена, то можно было бы засчитать.

BUGS FIXED 1.5+0+0+0.5+0.6+0+0+1+1+1+0.8+0+0+1=7.4 из 7+2+1+1+2+1+1+2+2+2+1+1+1+2=26, -1-1=-2 за выявленные баги
Core 0.8+0+0.7+0+0+0+0=1.5 из 7 возможных, -1 за баг
A single-line comment is now highlighted correctly when it goes after a number.
Одностроковый комментарий теперь подсвечивается правильно, когда он идёт за числом.
Однострочный комментарий в Oracle начинается с двух символов минуса без пробела. Его шрифт и начертание определяется в "File / Preferences / Code Editor / Color / Elements / Comments". Может так случиться, что строка кода заканчивается числовым знаком, после которого приписан комментарий. В таком случае парсер CS в прошлом билде ошибался и воспринимал первый символ комментария обычным математическим знаком отнимания. Для лучшего понимания фикса тех.писательнице стоило вместо number использовать термин digit.
Fixed highlighting of search results in lines that include the TAB character.
Зафиксирована подсветка результатов поиска в строках, которые включают символ табуляции.
Странно, что модуль - не редактор кода, а общий основной. Для теста создадим текст в каждой строке которого вставим от нуля до пяти пробелов через символ табуляции. В каждой строке также должен быть набор искомых символов. Это может быть любой текст, совсем не похожий на код для анализатора. Вероятность того, что в вашем примере будет удачное сочетание символов и пробелов, конкретно для которых исправлен баг, близка к нулю. Подсветка всё также теряется, а курсор встаёт на соседнюю позицию от искомого сочетания. Никакого фикса не обнаружено, поэтому и балл дать не за что.
The words “left”, “right”, “outer”, “inner”, and “cross” are now treated and highlighted as reserved words.
Пять перечисленных слов теперь воспринимаются и подсвечиваются как служебные.
Для проверки фикса вставьте эти слова в любом порядке (лучше DML) без кавычек в текст кода и сделайте особые настройки в "File / Preferences / Code Editor / Color / Elements / Keywords = 'Text Attributes' + 'Text-typing conversion'" и "Analyze / Code Analyzer Options / Formatter Options / Case / Keywords". Проверьте применимость настроек в момент редактирования этих слов и после анализа скрипта с форматированием. Поскольку в мои примеры вошли запросы из документации Oracle, то выяснилось, что служебное слово "apply" из аналогичных DML не может быть обработан парсером CS, наряду с перечисленными. Вот и пример того, что фикс делается по принципу тупокодера, без включения мозгов и привлечения хотя бы юниора-тестировщика. Также выяснилось, что имелось ввиду форматирование кода на момент его ввода в редакторе, а не при форматировании анализатором продукта.
Fixed the highlighting of a literal if the opening bracket of a q-notation is followed by a break.
Зафиксирована подсветка литералов, если открытие скобок альтернативной нотации следует за прерыванием.
Этот баг касается лишь редактора кода, в котором единственном используется подсветка кода. Примечание: альтернативная нотация имеет специальные символы после апострофа. Абсолютно не могу понять, что имелось ввиду под словами, что нотация следует за прерыванием. Возможно, тех.писательница хотела сказать, что содержимое альтернативной нотации начинается с новой строки, но эта моя догадка не увенчалась успехом. Поэтому фикс засчитать не могу.
The error “Unable to retrieve memory usage structure” is no longer logged in the 64-bit version of the tool.
Ошибка невозможности изменить структуру использования памяти больше не логгируется в утилите 64-битной версии.
Лог приложения складируется в файле "%AppData%/Roaming/ClearSQL/CS.log" вне зависимости от используемой битности продукта. К сожалению, тех.писательница не соизволила описать условия, при которых могла случиться ошибка, и у меня нет идеи по воспроизведению. За пустоту не могу дать баллы.
The error “TSplashSteps.SetCurrent: item not in list.” is no longer raised on the application launch.
Ошибка окна старта, не вошедшего в список, больше не появляется на запуске приложения.
Судя по имени компонента, в окне не присвоено нулевое значение порядковому элементу. Такое возможно лишь при первом запуске CS на чистую машину. Но мой тест не показал устойчивое наличие бага в прошлом билде, поэтому никак не могу отметить его исправление.
An access violation error no longer occurs on closing the application right after it was started.
Ошибка доступа больше не случается на закрытии приложения сразу после его запуска.
CS никак невозможно закрыть сразу после запуска, потому что колесо открытия крутится довольно долго, а потом куча окон заставки и загрузки показывается. Так что, описанный баг - фикция и не приносит балл билду.
Project Tree 0+0=0 из 2 возможных
Fixed filtering by using wildcards.
Зафиксирована фильтрация с использованием пустых подстановок.
После того, как в дереве проекта менеджер фильтрации из набора опций превратился в единственную строку ввода, понимание его использования сильно усложнилось. При фильтрации в базе Oracle и в файлах используются разные символы подстановки, а о том, что их вообще можно использовать, сказано только глубоко в хелпе. По элементарным тестам у меня никак не получилось выяснить конкретику бага, поэтому не могу дать ни балла.
Fixed the direction of the arrow shown in the splitter when the Project Tree panel is closed.
Зафиксировано направление стрелки, показанной на разделителе, когда панель дерева проекта закрыта.
Направление стрелки на разделителе в прошлой и текущей версиях всегда соответствует логике, как при полном сворачивании дерева, так и при частичном. Поэтому описанный фикс никак не исправлялся и не получает ни балла.
Analyzer View 0 из 1 возможного
Updated the text shown in the Analyzer View panels when no project is loaded.
Обновлён текст, показываемый на панелях для просмотра анализатора, когда загружается проект.
Панелей анализатора очень много: Summary, Project Analysis History, диаграммы проекта (3 штуки), скриптовые панели (около 20 штук). Скорее всего текст слегка подкорректирован на одной из них, но тех.писательница поленилась уточнить. Проверять все 25 панелей смысла нет, поскольку вы запутаетесь в логике текстов. К сожалению, архитектура CS такова, что все панели не имеют стандартного шаблона для подобных сообщений и тестировщику придётся перепроверять каждое из них. Поскольку программист и тех.писательница не уважают своих пользователей и отписываются подобными общими фразами, то и заплатить за них следует лишь нулевым баллом.
Find Text / Find in Files 0.5 из 1 возможного
The progress dialog box that appears once the text replacement takes more than 5 seconds is now shown at the top of the main window, not in the Code Editor workspace.
Диалог прогресса, который однажды появляется при замене текста спустя 5 секунд теперь показан в верхней части главного окна, а не в рабочей области редактора кода.
Примечание 1: в CS существует две разные функции поиска - по тексту и по проекту с настройками. Примечание 2: поиск по тексту запускается через кнопки на тулбаре редактора кода в прошлой версии и через контекстное меню в текущей. Только по результатам тестов мне удалось выяснить, что текст фикса прямо противоположен сделанному. В прошлой версии градусник замен прорисовывался в верхнем левом углу всей рабочей области приложения, то есть на стыке дерева проекта и дерева кода, либо одной из закладок с результатами анализа скрипта, если редактор в нижнем положении. Теперь же диалог замен занимает более логичную позицию - по центру редактора кода. Для теста вам понадобится скрипт с возможной заменой более 1000 раз, например, явная вставка строк в таблицу или столько же дубликатов выборки (размноженная строка "select 1 from dual;") и замена во всех 1000 строках ("1" на "2"). Штраф за введение в заблуждение юзера - полбалла.
Analyzer Progress 0+0.6=0.6 из 2 возможных
When an analysis is running, click the close button in the Analyzer Progress window now shows a message suggesting the user to break the analysis.
Когда запущен анализ клик по кнопке закрытия в окне процесса анализа теперь показывает сообщение с предложением юзеру прервать анализ.
Во-первых, сразу при старте анализа кнопка закрытия окна всегда переименовывалась в прерывание. В этом плане текст фикса обманывает юзера. Во-вторых, предложение прервать анализ существовало изначально. То есть означенный фикс - пустая приписка в RNs, за которую не положено ни балла.
The options in the Analyzer Progress are now activated in the correct order on pressing TAB.
Опции в прогрессе анализа теперь активируется в правильном порядке при нажатии клавиши табуляции.
Называя интерфейсные элементы опциями тех.писательница сбивает юзера с толку тем понятием, что текст фикса воспринимается неоднозначно. Если точно следовать описанию, то по нажатию табулятора в окне прогресса анализа ожидалось бы переключение значений настроек анализа, а на самом деле активный курсор всего лишь переходит по элементам в более логичном порядке. Но и даже после этой правки активный курсор на один клик куда-то пропадает также на обеих закладках, не подсвечивая ни один из видимых интерфейсных элементов. Поэтому никак не могу дать полный балл.
Code Review Rules 0 из 1 возможного
The duplicated code detector no longer detects false-positive duplicates on the sets of string/numeric literals.
Определитель дубликата кода больше не находит фальшиво-позитивные дубликаты на установках символьно-числовых литералов.
К сожалению, формулировка фикса такова, что мне никак не удаётся впихнуть в неё все мои знания о встроенном правиле 182 "Avoid duplicate code". Тех.писательница так намудрила с терминами, что текст превратился в абракадабру. Поэтому билд теряет балл.
Project Report Assistant 0 из 1 возможного
The error “No mapping for the Unicode character exists in the target multi-byte code page” no longer occurs on trying to generate a report with international characters in the report name or path.
Ошибка об необнаруженных юникодных символах в принимающей мультибайтовой странице кода больше не случается при попытке сформировать отчёт с интернациональными символами в заголовке или пути отчёта.
Из описания бага может показаться, что для теста достаточно создать проект и его отчёт (File / HTML Report), имена которых будут содержать интернациональные символы, то есть обычную латиницу. Но на самом деле текст фикса является полной чушью, и проблема скорее всего была с каким-то особым символом или набором, о котором умолчала тех.писательница. Поэтому пункт RNs не приносит балла билду.
Search 0+1=1 из 2 возможных
The instant help button is now always shown in the header of the Search tab.
Кнопка мгновенной помощи теперь всегда показывается в заголовке закладки поиска.
Поскольку нет никакой конкретики, при каких случаях эта кнопка пропадала, то и нечего проверить. А значит и балл дать не за что.
Navigating to a search result item is no longer slowed down while the search is still in progress.
Навигация на элемент результата поиска больше не замедляет процесс поиска.
Для того, чтобы хоть как-то заметить ускорение процесса поиска, рекомендую выводить результаты не в отдельную панель, а на самостоятельную закладку. А для работы создать проект с огромным количеством скриптов, в которых запустите поиск. Но и эти данные для нагрузочного теста маловероятно покажут сделанное внутри изменение. Так что, дам авансом балл уже за то, что техническое исправление столь грамотно описано.
Analysis Logs 0.5+0.5=1 из 2 возможных, -1 за баг
Fixed positioning of the drop-down list.
Зафиксирована позиция выпадающего списка.
Напомню, что список логов анализа проектов доступен в новых версиях из главного меню "Analyze / Manage Project Analysis Logs", а настройки "File / Preferences / Project Analysis / Log". Осторожно! При первом открытии списка вам будет предложено удалить какие-то якобы несуществующие файлы, которые всё-равно удалятся, даже если вы откажитесь. Это довольно критичный баг, за который следует снять балл. Для сравнения внешних изменений окна достаточно сделать скриншот и убедиться, что лишний сплиттер исчез из под комбобокса, а ширина списка проектов стала настолько больше, что в этой пустоте могло бы имя проекта уместиться дважды. Странно, что программисты не применили здесь столь уместную функцию автоподбора ширины. Также подмечено, что в файлах с логами анализатора русский алфавит, особенно в полнопрописных датах, отображается исковеркаными символами. За тупой фикс без приложения сообразительности дам не полный балл.
Added the ability to resize the Analysis Logs window.
Добавлена возможность изменять величину окна с логами анализа.
Во-первых, это не исправление бага, а дополнительное удобство интерфейса. Во-вторых, установленные минимальные размеры слабо коррелируются с имеющимся контентом: никакой эргономики свободного пространства, элементы несоразмерные и перекрываются, автоподбор размера шрифта и рисунка не применяется. И так всегда, программист в попытке усовершенствовать наоборот портит изделие. Если бы этот пункт RNs был в новинках, то можно было бы дать балл, но поскольку фикс породил множество проблем, то, вместо снятия баллов за каждую погрешность, всего лишь недодам за этот.
Job and Schedule Manager 0+1=1 из 2 возможных, -1 за баг
Disabling the Preprocessor in the job’s Preferences no longer affects the state of the Preprocessor at the application level.
Выключение препроцессора в настройках заданий больше не отражается на статусе препроцессора уровня приложения.
Одно время система настроек задания была полностью отделена от глобальных установок приложения. Но в какой-то версии CS эта давно работающая система сломалась. Кроме статуса препроцессора мастер заданий портит и другие настройки приложения, например, переоткрытие CS всегда сопровождается показом старт-окна, если в предыдущей сессии хотя бы раз открывался мастер заданий. За этот баг есть смысл снять балл. А за отсутствовавший баг о препроцессоре в прошлом билде и его фиктивную правку ничего дать не могу, поскольку любые изменения опции в рамках задания "Analyze / Job and Scheduler Manager / Preferences (Job) / Preprocessor / Enable Preprocessor" никак не отражались и не отражаются на состоянии препроцессора, видимом в главном меню "Analyze / Preprocessor is ON-OFF".
It is no longer possible to save a job or schedule without a job name.
Больше нет возможности сохранить задание или расписание без имени задания.
В предыдущем и текущем билдах не было и нет возможности создать задание без имени, но если оно было случайно удалено в процессе правки, то последующее сохранение задания было возможным в прошлом билде. Зачем внесли обязательность наличия имени задания? Вероятно, последующее его исполнение или передача в операционную систему была затруднена и проверка обязательного поля добавлена к пересохранению объекта.
System Information 0.8 из 1 возможного
TNS_ADMIN registry values are now included in the system information.
Величины реестра об администраторских настройках tns теперь включены в системную информацию.
Немного теории о клиенте Oracle. Одна из разновидностей подключения к базе нуждается в настройке TNS через служебный файл "tnsnames.ora" и пути к нему, прописанные в переменных окружения, либо реестре. Если вы используете коннект к базе не через tns, но хотите увидеть фикс бага, то добавьте вышеозначенную величину в переменные окружения и реестр "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE", а после перезагрузки компа и приложения посмотрите в "Help / System Information". Только не стоит подключаться к базе, если вы не уверены в правильности введённых вами величин. Фикс сделан, но его место не в числе багов, поэтому снижу балл.
View Differences 0 из 1 возможного
The “View Differences” window no longer opens on trying to compare scripts linked to a database object that belongs to a database to which ClearSQL cannot connect.
Окно просмотра различий больше не открывается при попытке сравнить скрипты, слинкованные с объектом базы, которые нацелены на базу, с которой у ClearSQL нет коннекта.
Исходная ситуация такова: в проекте имеется слинкованный с базой скрипт, CS ещё не коннектился к базе, но юзер желает сравнить содержимое скрипта с его связанным объектом. Логичнее в таком случае сначала запросить из свойств скрипта параметры линковки, предложить или авто-подключиться к базе, найти в ней нужный объект, а в случае невозможности подключиться к базе сообщить причину отсутствия сравнения. Но программист пошёл по пути наименьшего сопротивления и просто прервал работу юзера, ничего для него не сделав. Да, это тоже фикс бага, но совершенно не удовлетворяющий качеству продукта с точки зрения пользователя. Моя же попытка увидеть баг в прошлом билде и его фикс в текущем не увенчалась успехом - работа CS ничуть не изменилась. Поэтому пункт RNs не приносит билду ни балла за ложь тех.писательницы и ничегонеделанье программиста.
Instrumented Code 0 из 1 возможного
The anonymous block numbers are now shown in the Instrumented Code tree.
Номера анонимных блоков теперь показаны в дереве инструментатора кода.
Инструментор кода - фича скриптовая, а поскольку речь в баге о некоем количестве анонимных блоков, то для теста нам понадобится сложный скрипт, не являющийся телом пакета, а всего лишь объединяющий несколько независимых PL/SQL блоков, не являющихся какими-нибудь подпрограммами. То есть, можно взять тело любого пакета или объектного типа, заменить все заголовки на служебное слово declare, тогда и останутся несколько анонимных блоков в одном скрипте. Если бы этот пункт RNs был в числе новшеств, то стоило бы поискать наличие блоков в инструментере кода, но поскольку это баг, то что-либо проверять бесполезно. На самом деле инструментор кода вообще не применим к скриптам с анонимными блоками. Так что, фикс - полная чушь, не приносящая билду столь желанный балл.
Preferences 1+0=1 из 2 возможных
Switching off the “Insert Mode” on the Code Editor page no longer raises an access violation error on the application launch.
Выключение режима вставки на странице редактора кода больше не даёт ошибки доступа при запуске приложения.
Поскольку в ConquestSS нет тестировщиков и отсутствует всякое тестирование, даже смоук, то меня ни чуть не удивляет, что такой страшный баг регрессии был в прошлом билде. CS абсолютно не запускался при выключенной опции вставки.
Fixed the ability to load preferences from a file.
Зафиксирована возможность загрузки настроек из файла.
К сожалению, тех.писательница не уточнила причину ошибки, поэтому нет никаких идей, в чём же конкретно загрузка настроек из файла глючила ранее. А поскольку не известно, как поймать баг в предыдущем билде, то и нет возможности увидеть правку. За нулевые исправления даю и нулевые баллы.


Итого по билду: 12.2+7.4=19.6 из 22+26=48 возможных, что составляет 19.6/48=41% готовности билда, -0.3-2=-2.3 баллов снимаю за баги.