среда, 22 января 2020 г.

ТО о CS 9.2.1.136

Тест-отчёт о ClearSQL 9.2.1 (build 136), выпущенном 15 января 2020 года, основан на Release Notes и его кратком списке "What's New?" (доступен через главное меню "Help / Release Notes").  Судя по количеству пунктов RNs за месяц с момента публикации последнего билда предыдущего минора сделано очень много, но рассмотрим подробнее каждый фикс и новшество.

IMPROVEMENTS 0.3+3.5+2+1.8+0.5+0+0.5+0.8+1+0.8+0.8+1+0.9+0-1=12.9 баллов из 1+5+3+3+1+1+2+1+1+1+1+1+1+1+1=24 возможных, -2 балла за баги
Core 0.3 из 1 возможного
Projects are now automatically saved after being updated to a new version.
Проект теперь автоматически сохраняется после обновления до новой версии.
Полагаю, что под обновлением имеется ввиду проект, а не приложение. Для теста нам нужен проект, созданный в предыдущих версиях CS (например, 6 или 7), но ещё ни разу не открывавшийся в текущей версии CS. При открытии такого проекта в предыдущем билде появлялся диалог для подтверждения конвертации, теперь же в трейе выскакивает примечание без возможности отменить или подтвердить конвертацию. 
Конвертация проекта без сохранения
Но никакого автоматического сохранения проекта при этом не происходит, как и ранее. Это значит, что тех.писательница описала какое-то иное усовершенствование. А этому могу дать лишь 0.3 балла. Также стоит отметить, что подобное изменение вполне можно квалифицировать ухудшением юзабилити, так как задержавшись в углу трейя на несколько секунд предупреждение может так и остаться незамеченным юзером. Впрочем, об этой проблеме будет сказано подробнее чуть позже.
New Project / Import Wizard 0.5+0.8+0.5+0.8+0.9=3.5 из 5 возможных, -0.5-1.5=-2 за баги
* Redesigned work and user interface of the Import Wizard:
Переделана работа пользовательского интерфейса в мастере импорта.
Пять следующих подпунктов в мастере импорта скриптов и объектов в проект рассмотрим по отдельности.
Renamed the "Add" button to "Add&Link" and added the "Add" option to the drop-down menu.
Переименована кнопка "Добавить" в "Добавить и Слинковать" и добавлена опция "Добавить" в ниспадающее меню.
Разработчики CS опрометчиво посчитали, что пользователи продукта чаще создают проекты на линкованных объектах и не сделали импорт по аналогии с анализом настраиваемым - с линкованием или без. Это серьёзная недоработка аналитиков. Пользователи CS, которым известна вся опасность от синхронизации линкованного проекта с исходниками, особенно при отправке проанализированных скриптов в исходники, для безопасности в большинстве случаев создают проекты без линковки. Да, за счёт такого интерфейсного объединения двух кнопок в одну увеличился размер дерева объектов, но усовершенствование более тянет на ухудшение, нежели на улучшение. Также тех.писательница опрометчиво использовала термин option вместо action или feature, что серьёзно путает понимание юзера. Поэтому даю лишь 0.5 балла.
Added the ability to import items and remove them from the Project Tree by double-click and using drag&drop.
Добавлена возможность импортировать пункты и удалять их из дерева проекта по двойному клику или перетаскиванием.
Очень хорошее удобство реализовано, но к сожалению не описано в хелпе. К тому же, перетаскивание папок работает, а двойной клик по ним ничего не даёт. Поэтому новшество заслуживает только 0.8 балла.
На этом этапе выяснилось, что файлы и объекты базы потеряли чеккеры для выборки на импорт, что уменьшило возможность группового импорта. За такое отрицательное юзабилити можно снять полбалла.
Removed the "Link/Relink" buttons and added these options to the pop-up menu.
Убраны кнопки линковки и перелинковки, и эти опции добавлены в контекстное меню.
Могу согласиться, что линкование при импорте не является первоочередной функцией. Но немного обескураживает факт доступности фичи, когда тип выделенных нод не совпадает, то есть в одном дереве курсор стоит на папке или несколько нод выделено, а в другом дереве подсвечен лишь один скрипт. Опять же, тех.писательница использовала термин option вместо action или feature, что сильно смущает обычного юзера. И этот пункт прибавляет билду только 0.5 балла.
Removed the customization of how the items are selected. Now items are imported exactly the way they are organized in the source.
Убрана настройка выбора элементов. Теперь все ноды импортируются в точности так, как они структурированы в исходнике.
Это изменение больше не позволяет импортировать часть объектов с их верхней папкой, а в остальном его можно считать положительным: рабочего места стало больше, пропала путаница и сложная логика выбора иерархии нод. На полный балл новшество не тянет.
А ещё, в процессе тестирования предыдущих пунктов выявился баг интерфейса. В дереве импортируемых файлов есть чеккеры у папок. Если их включить и выключить, то после импорта и удаления других выбранных папок на первоначальных чеккерах устанавливается промежуточное состояние. Если показать на примере, то
1. Ставим чеккеры на ноды А, В, Д.
2. Снимаем чеккеры с папок А, В, Д.
3. Ставим чеккеры на папки Б, Г.
4. Нажимаем кнопку "Add and Link".
5. Перетаскиваем поочерёдно папки Б и Г из правого дерева в левое.
6. В левом дереве обнаруживаем, что чеккеры папок А, В, Д приняли третье состояние частичной выборки вложенных подпапок и файлов.
А в дереве объектов базы идентичные действия приводят к весьма неприятному и неожиданному результату, когда вместо двух папок с десятком объектов импортируются все папки схемы со всеми сотнями или тысячами объектов в них и даже те, папки которых не трогались, а случается и из соседних схем объекты залетают в импорт. За такие баги стоит снять -1.5 балла.
Added the "Use Schema Name as Prefix" and "Include Object Owner" commands to the pop-up menu and removed the "Import to Project Tree" group box.
Добавлены команды префиксования именем схемы и включения владельца объекта в контекстное меню, а их группа опций удалена.
Соглашусь, что такие настройки редко меняются и их достаточно иметь в легкодоступном меню. Усовершенствование добавляет билду неполный балл, поскольку в хелпе нет этих примечаний.
Diagrams (Flowcharts, Call Trees, CRUD Matrices) 0+1+1=2 из 3 возможных
Diagram object trees are now populated much faster.
Дерево диаграмм объектов теперь формируется намного быстрее.
Большинство закладок с графическими результатами анализа кода состоят из двух частей - дерева диаграмм или объектов и самих рисунков/таблиц. В данном фиксе речь идёт о левой части закладок - дереве, которое формируется при смене локализации курсора в главном дереве проекта или при открытии закладки с результатами анализа. Для тестирования нам понадобится проект и скрипт с большими количествами диаграмм и матриц. Записываем на видео формирование деревьев диаграмм и матриц на всех закладках проектного и скриптового уровней в прошлом и текущем билдах. При проигрывании записей отмечаем время для сравнения. Таков тест производительности. Мои результаты тестов на больших количествах диаграмм и матриц не различаются с прошлым билдом, поэтому не могу дать балл.
Highlighting in SVG diagrams is now enabled by default.
Подсветка диаграмм в SVG-формате теперь включена по-умолчанию.
Поясню: опция подсветки настраивается в "Analyze / Code Analyzer Options / Diagram Options / Flowchart / On mouse over: highlight connected elements (SVG type only!)" и "Analyze / Code Analyzer Options / Diagram Options / Call Tree / On mouse over: highlight connected elements (SVG type only!)", а для возврата к дефолтным настройкам достаточно их обнулить по кнопке Reset или удалением файла, имя которого имеется в заголовке окна настроек анализатора. Это изменение стоило сделать давно, когда дефолтным форматом диаграмм был принят SVG.
Added the quick filter to the object trees in the "All Flowcharts", "All Call Trees", "CRUD2", "Flowchart", and "Call Tree" tabs.
Добавлен быстрый фильтр в дерево объектов на перечисленных закладках проектного и скриптового уровней.
Странно, что этого не сделали изначально при введении функции быстрой фильтрации. В одном из прошлых билдов функционал быстрого фильтра уже тестировался, поэтому всего лишь упомяну, что все пункты аналогичны.
Diagrams (Flowcharts/Call Trees) 1+0.8+0=1.8 из 3 возможных
Removed the "All Diagrams" option from the pop-up menus of the diagram tabs.
Убрана опция всех диаграмм из контекстного меню на закладках диаграмм.
Стоит пояснить, что эта опция отображения всех диаграмм распространяется только для выбранных нескольких диаграмм в дереве. При этом в области картинки дублируется список диаграмм, а область картинок теперь всегда отображает все диаграммы, то есть убирая опцию её включили перманентно. Если у вас возникнут сомнения на счёт дублирования списка диаграмм, то успокою вас тем, что второй список имеет ссылки на соответствующие картинки для быстрой навигации.
All diagrams are now always shown if multiple objects are selected; in a report; in an HTML-file opened in a browser.
Все диаграммы теперь всегда отображаются при многочисленном выборе объектов в интерфейсе, отчёте и открытом в браузере html-файле.
Этот пункт RNs является дополнением предыдущего. Нам остаётся только проверить проектный отчёт и отображение диаграмм во внешнем браузере. Примечание: экспорт диаграмм в html-формат остался по функционалу неизменным, то есть каждая диаграмма экспортируется в отдельный файл. По поводу отчёта по проекту не могу сказать, что новшество улучшило отображение диаграмм в отчёте, потому что это уменьшило размер окна с текущей диаграммой. Поэтому балл снижу.
Diagrams are now shown much faster when multiple objects are selected.
Диаграммы теперь отображаются намного быстрее, когда выбрано несколько объектов.
Поскольку теперь нет переключения между отображением одной диаграммы или всех из-за удаления опции по первому пункту RNs текущей группы, то объективный тест производительности проделать уже невозможно. Поэтому и балл дать нет возможности.
Tray Notifications 0.5 из 1 возможного
Notifications are now shown in the Windows 10 notification area.
Нотификации теперь показываются для Windows 10в её области предупреждений.
В некоторых случаях этот перевод сообщений в трей удобен, но по-моему, в большинстве вариантов всё-таки стоило оставить привычное их появление. Особенно это неудобство заметно стало, когда в списке трейя накопилось множество спама, да ещё и с кнопками для нажатия, например, после экспорта диаграмм, или же в тот момент, когда операционка заглючила и не вывела ни одного сообщения в течение часа, а потом изрыгнула весь список, даже для уже давно закрытых приложений. При этом разработчики с лёгкой совестью переведут стрелки на операционную систему, если по клику уже нечему исполняться. Так что новшество никак не умещается в юзабилити и приносит лишь 0.5 балла.
Code Review Rules 0 из 1 возможного
Redeveloped "Show Suppressed Rule Violations" to "Hide Suppressed Rule Violations."
Переделан показ скрытых случаев правил в их прятание.
Не смотря на то, что мне известен функционал скрывания правил кодирования, но по столь скудному описанию RNs я никак не могу понять, что и где изменено, а также как такое тестировать. Поэтому билд недополучает балл.
Export Wizard 0+0.5=0.5 из 2 возможных
The Pseudocode Wizard now shows only scripts with pseudocode comments.
Мастер псевдокода теперь показывает только скрипты с комментариями псевдокода.
Разницы в отображении скриптов в мастере псевдокода не выявлено между текущим и предыдущим билдами. Ещё более странным является причисление пункта RNs про псевдокод к группе мастера экспорта, потому что экспорт скриптов и диаграмм производится во внешние файлы, которые позже открываются внешними для CS редакторами. Такая путаница со стороны тех.писательницы не приносит билду балл.
Added the ability to open the target folder from the notification shown after export is completed.
Добавлена возможность открывать папку с экспортированными объектами через нотификацию об окончании экспорта.
В рамках одного из предыдущих тестов про трей операционки о факте реализации усовершенствования уже было упомянуто.
Pseudocode 0.8 из 1 возможного
Removed the ability to turn on/off the generation of pseudocode comments. Pseudocode is now always generated by default.
Убрана возможность переключения генерации комментариев псевдокода. Псевдокод теперь генерится всегда по-умолчанию.
Мне потребовалось немало времени, чтобы понять смысл новшества. На самом деле никаких изменений в редакторе кода, мастере псевдокода и его диаграмм нет, а всего лишь убрана опция "File / Preferences / Project Analysis / Generate Pseudocode". То есть теперь при анализе скрипта по специальным комментариям всегда генерится псевдокод. Всего лишь маленькая приписка от тех.писательницы о том, что анализ скрипта теперь по-умолчанию обрабатывает служебные комментарии, могла бы позволить дать за изменение полный балл.
Project Report 1 из 1 возможного
If a diagram or matrix is not included in the report, it is now indicated in the script status hint.
Если диаграмма или матрица не включена в отчёт, то она теперь отмечена в хинте статусов скрипта.
Настройки отчёта позволяют формировать его без картинок, то есть страниц с диаграммами. Это регулируется в группе "Project Report Assistant / New Report / Code Audit Options / Code Audit / Diagram Options" для облегчения отчёта по скорости формирования и объёму. Статусы скрипта в отчёте отображаются в дереве проекта и в правом верхнем углу основной страницы каждого скрипта. К хинту каждой иконки префиксовано выражение о недобавленных диаграммах и матрицах, а страница CRUD2 проектного уровня нигде не отображается без дополнительных подсказок.
Project Report Assistant 0.8 из 1 возможного
Added the "Yes to All" and "No to All" buttons to the confirmation message shown on deleting multiple reports.
Добавлены кнопки для подтверждения и отказа всех удаляемых отчётов в сообщение.
Тех.писательница не уточнила, но подозреваю, что имеется ввиду работа со списком готовых отчётов на странице "Project Report Assistant / Report History". Поскольку этот список является самостоятельной базой данных и удаление строки из него не обязательно означает физическое удаление файлов отчёта с диска хранения, то удаление одного или нескольких отчётов из списка сопровождается диалогом для подтверждения об оставлении или удалении соответствующих файлов. Но тех.писательница не права, сказав про момент удаления отчётов вместо факта отсутствия файлов при наличии строки отчёта в базе. То есть вместо фразы "on deleting multiple reports" надо было написать "for deleted report files on window opening". Для тестирования вам не надо фактически удалять файлы готовых отчётов, достаточно переименовать их папку в месте хранения, стандартно "%AppData%\Roaming\ClearSQL\Data\[Project_Name]\Reports\", а потом открыть мастер отчётов. Неполный балл даю из-за недостоверного описания.
Main Toolbar 0.8 из 1 возможного
The main toolbar icons no longer blink when the toolbar is being customized.
Иконки главного туллбара больше не мигают, когда туллбар перенастраивается.
На самом деле под миганием подразумевается перерисовка интерфейса, которую невозможно аннулировать совсем. Фикс, а не усовершенствование, всего лишь уменьшил длительность перерисовки экрана. Также во время тестов меня смутил факт того, что комбинации кнопок главного туллбара различны для предыдущего (9.1) и текущего (9.2) миноров. Два замечания дают право снизить балл.
Summary Info 1 из 1 возможного
Added a quick filter to "Summary > Code Review > Top Violated Code Review Rules."
Добавлен быстрый фильтр для списка основных нарушений правил кодирования.
Как уже ранее говорилось функция быстрой фильтрации добавлена в некоторые списки. Но на этой закладке теперь два типа фильтрации - по стандартному списку и по вводимым юзером символам.
Structure View 0.9 из 1 возможного
"Structure View > DML Analysis" now shows more detailed analysis information.
Информация о результатах анализа DML теперь показана более детально.
Для теста достаточно сравнить любой из скриптов демо-проекта с имеющимися DML выражениями. В детали теперь, кроме самой команды, попадает всё содержимое означенной строки кода. Но возможно текст тех.писательницы обещает нечто иное, например, какую-нибудь дополнительную расшифровку. Поэтому не могу оценить изменение в полный балл.
Global Search 0 из 1 возможного
The search results list is now reopened on the second click in the search field.
Список результатов поиска теперь переоткрывается на втором клике по полю поиска.
По такому описанию усовершенствования никак не понять смысл изменения, да и функционал в предыдущем и текущем билдах однообразен. И список введённых символов для поиска, и результаты поиска появляются одинаково. Так что либо тех.писательница подобрала неточные термины, либо программист неточно пояснил ей изменения функционала. Поэтому не могу дать ни балла.
Toolbar Customizer -1 из 1 возможного
Applied alphabetic sorting to the toolbar button names on the list.
Применена сортировка по-алфавиту для имён кнопок туллбара в списке.
Настройщик туллбара состоит из двух списков кнопок: левый - исходники, правый - результат выборки. Ранее левый список был разделён на логические группы и имел несколько разделителей. Теперь же он является сплошным списком, отсортированным по алфавиту наименований, что совершенно нарушает логику функциональной совместимости близлежащих элементов. Так что, это изменение является облегчением только для программиста, а для пользователя - явным ухудшением юзабилити. Поэтому я в праве отнять балл вместо добавления.

BUGS FIXED 2+0.8+0+0.7+0+1.3+0.8+0+0.9+0+0+0+0+0.5+1+0.8+0+1=9.8 баллов из 4+4+3+4+2+3+1+3+3+1+1+1+1+2+1+1+1+1=37 возможных, -0.2-0.5-1-0.3-0.5=-2.5 баллов за баги
Project Tree 0.8+0.9+0.3+0=2 из 4 возможных
Added an indicator that scripts from Oracle libraries/forms cannot be moved outside the library/form.
Добавлен индикатор скриптам из числа библиотек и форм Oracle, которые не могут быть удалены из библиотек и форм.
Странно, что это новшество в числе фиксов багов. Для теста воспользуемся демо-проектами для предыдущего и текущего билдов. Визуально никакой разницы не бросается в глаза. Лишь при попытке переместить перетаскиванием какой-нибудь скрипт из папки Oracle Forms в другую папку проекта мне удалось понять смысл фикса. Иконка скрипта при перетаскивании не изменяется со "стоп-сигнала" на "листик", поскольку такой переброс запрещён. Запутанное описание фикса не увеличивает билд на полный балл.
Fixed the ability to drag&drop multiple scripts into a folder or Recycle Bin.
Зафиксирована возможность перетаскивания нескольких скриптов в папку корзины.
Изменение функционала более похоже на усовершенствование, потому что теперь появилась возможность перетащить в корзину несколько выбранных скриптов, а не только один. Такое примечание снижает стоимость.
The parent node no longer stays checked when its child items are deleted.
Родительская нода больше не остаётся отмеченной, когда её дочерние элементы удалены.
Дочерними элементами папки могут быть скрипты и подпапки. Выбором папки наверно в этом случае считается установленный чеккер в её чек-боксе, а выбором скрипта является его курсорная подсветка. Для теста нам понадобится свой проект с различным содержимым папок (только скрипты, скрипты с подпапками, только подпапки, которые не обязательно должны быть с содержимым). Поскольку удалённые элементы могут быть сложены в корзине, из которой доступно восстановление, то вполне можно обойтись единственным проектом для старого и нового билдов. В предыдущем и текущем билдах родительская нода, в которой есть только скрипты, помечается чеккером при выборке всех скриптов. А родительские ноды только с подпапками или смесью подпапок и скриптов не помечаются чеккером при полной выборке поднод. К тому же, в текущем билде даже клик с удерживаемым CTRL не позволяет выбрать две и более подпапки, о чём нигде не указано. А это является явным ухудшением юзабилити. То есть текущий фикс породил регресс. Поскольку исправлена лишь треть заявленного, то и баллов даю столько же.
Fixed highlighting of the imported items.
Зафиксирована подсветка импортированных элементов.
Абсолютно никакой разницы в подсветке импортированных элементов в главное дерево проекта не обнаружено. Поэтому никаких баллов. А вот если бы тех.писательница уточнила, что в копии дерева проекта, расположенном в мастере импорта скриптов, теперь оставлено позиционирование курсора на прежнем элементе, а не перескакивает на вновь импортированные, то билд бы может и заслужил балл.
Code Editor 0+0+0+0.8=0.8 из 4 возможных
Fixed the Code Editor panel in the closed state.
Зафиксирована панель редактора кода в закрытом состоянии.
Видимость панелей с результатами анализатора можно настраивать самостоятельно. Но панель редактора кода никогда не закрывается. Поэтому абсолютно не понятно, что было исправлено, а значит и не за что прибавлять баллы. Тех.писательница что-то намудрила или напутала в описании, тем самым обнулила работу программиста.
Negative error code of the EXCEPTION_INIT pragma is now displayed correctly.
Код отрицательной ошибки прагма-исключения теперь отображается правильно.
Для теста возьмём примеры из документации Oracle. Прошлый и текущий билды отображают строки кода идентично. Ни о какой правильности речи быть не может, поскольку тех.писательница не уточнила, на что надо опираться при проверке. Поэтому билд недополучает балл.
Fixed code folding for external stored programs.
Зафиксирована группировка кода для внешних хранимых программ.
CS предназначен для анализа PL/SQL кода. Что подразумевается под внешними хранимыми программами в данном случае - не совсем понятно. Либо это код действительно внешней программы, текст которой может быть импортирован в проект через файловую систему, но тогда нет никакой гарантии, что код будет действительно на нужном языке программирования. Либо речь идёт лишь о строках поддерживаемого кода с вызовами внешних программ. Либо имеются ввиду единый скрипт с несколькими хранимыми программами, вызывающими друг друга. Если взять примеры из документации Oracle, то никакой разницы в прочерченных скобках нет между прошлым и текущим билдами. Поэтому пункт RNs считаю пустышкой.
Code folding is now available for the script’s DML statements outside of PL/SQL.
Сворачивание кода теперь доступно для DML выражений в скриптах за пределами PL/SQL.
Формулировку тех.писательницы невозможно однозначно понять. То ли речь о каких-то DML выражениях, не входящих в структуру языков PL и SQL. То ли имеются ввиду сложные скрипты, состоящие из PL/SQL блоков и отдельных DML выражений. Для тестов поглядим скрипты "SQL statements #1" и "SQL statements #2" демо-проекта. По ним видно, что сложная структура DML выражений теперь доступна для частичного сворачивания кода. Но за смутное описание билд не добирает полный балл.
New Project / Import Wizard 0+0+0=0 из 3 возможных
The database object tree no longer stays empty once the database connection is done manually.
Дерево объектов базы данных больше не остаётся пустым, когда соединение с базой сделано вручную.
Подозреваю, что под ручным подразумевается коннект к базе, который производится из отдельного пункта главного меню, а не автоматическое подключение при открытии окна нового проекта или импорта объектов в проект. Поскольку никакого обнуления дерева в прошлом билде не наблюдается, то ни о каком исправлении бага нечего и говорить.
The error "Cannot create file" is no longer raised on creating a new project if the filename contains irrelevant characters.
Ошибка невозможности создать файл больше не появляется при создании нового проекта, если имя файла содержит неуместные символы.
Физически проект на диске является файлом и папкой, имена которых идентичны вводимому юзером при создании проекта. Операционная система имеет свои ограничения на имена файлов и папок. На эти правила и стоит опираться. Но никакие примеры не пригодятся, потому что обработка имени проекта производится на первом этапе создания проекта, ещё до фактического создания папок и файлов. Поэтому фикс фиктивный.
Fixed the layout of the UI elements on the "From Database" tab.
Зафиксировано отображение интерфейсных элементов на закладке "Из базы".
Визуально левое дерево при импорте из базы претерпело изменения, проверенные нами ещё в числе новшеств. Не указано лишь перенос влево кнопки настроек. Никакого иного исправления в области отображения элементов выявить мне не удалось, поэтому фикс засчитать не могу.
Project Report 0+0+0+0.7=0.7 из 4 возможных
Flowchart and Call Tree status icons are no longer active unless the diagrams are included in the report.
Иконки статусов диаграмм больше не активируются до момента включения их в отчёт.
Когда недавно тестировался отчёт без матриц и диаграмм можно было приметить, что текущий описанный фикс является фикцией. Если диаграммы нет в отчёте, то её иконка раскрашена обычным образом и клик по ней обрабатывается идентично в прошлом и текущем билдах.
Clicking on an object now correctly shows a relevant diagram when a report page is scrolled to the bottom.
Клик по объекту теперь правильно показывает соответствующую диаграмму, когда страница отчёта прокручена к нижнему краю.
Текст RNs не конкретизирует страницу проекта, местоположение и тип объекта, по которому следует кликать. Поэтому абсолютно невозможно распознать место и смысл фикса. Такое безразличие к исполнению своих должностных обязанностей со стороны тех.писательницы снижает готовность билда к публикации.
Fixed the work of the "Show/Hide header" option.
Зафиксирована работа опции по показу и прятанию заголовка.
Сразу же вас остановлю в поиске настройки о заголовке. Тех.писательница опять опрометчиво назвала функциональность термином option, который имеет двоякое значение. На самом деле работа заголовка проекта заключается в переключении его полной видимости и однострочной. В стандартном браузере никаких изменений не замечено, поэтому вина за нулевой фикс лежит на том, кто умолчал о конкретике исправления.
The error "No mapping for the Unicode character exists in the target multi-byte code page" is no longer raised on report generation.
Ошибка о мапировании юникодных символов на мультибайтовой странице больше не случается при генерации отчёта.
Исходя из смысла текста ошибки для теста нам потребуется проект со скриптами или объектами, в именах которых встречаются юникодные символы. Но скорее всего специфичным в этом случае является тип внутреннего объекта (скрипт, папка или связанный объект), что не упомянуто в RNs. На моё счастье в закромах тестовых проектов нашёлся один скрипт, который порождал описанную ошибку при генерации отчёта. Для точной локализации проблемы нужно слишком много времени. Может быть когда-нибудь позже я его выделю, а сейчас только отмечу исправление, но не полным баллом из-за отсутствия конкретики.
Diagrams (Flowcharts, Call Trees, CRUD Matrices) 0+0=0 из 2 возможных
Fixed the object list panel in the closed state.
Зафиксирована панель списка объектов в закрытом режиме.
Смыслов исправления множество, потому что не ясно о какой закрытости идёт речь. То ли сложенность панели дерева, то ли убирание всей панели диаграмм из области результатов анализа имелось ввиду, но ничто не дало разницы в работе между прошлым и текущим билдами. Поэтому не могу дать ни балла.
Going back to the previous history step when multiple objects were selected now correctly restores the selection in the object tree.
Возврат назад в истории, когда несколько объектов выбрано, теперь верно восстанавливает выборку в дереве объектов.
Подозреваю, что имеется ввиду функционал навигации по скриптам и папкам проекта в главном дереве проекта в качестве шагов по истории, а под деревом объектов подразумевается список диаграмм на каждой из закладок с результатами анализатора. Итак, для теста отметим несколько диаграмм в дереве с результатами анализа, сменим активный скрипт в главном дереве проекта и кликнем на кнопку возврата в главном туллбаре к предыдущему выбранному скрипту. При этом должна активироваться прежняя закладка с результатами анализа и подсвечено прежнее количество диаграмм. Восстановление выборки идентично отрабатывает в прежнем и текущем билдах, поэтому нельзя причислить фикс к текущей версии. Возможно, исправление было сделано не за последний месяц, а раньше, просто в RNs его дописали только сейчас. Но это примечание не позволяет прибавить балл.
Diagrams (Flowcharts, Call Trees) 0+0.8+0.5=1.3 из 3 возможных, -0.2 за баг
Fixed the background color of an active diagram when the UI theme is changed.
Зафиксирован цвет подложки активной диаграммы, когда интерфейсная тема изменена.
Напомню, что в CS можно выбрать одну из пяти расцветок рабочей области "View / Theme / [Aqua Light Slate | Charcoal Dark Slate | Light | Slate Classico | Windows]". Для тестирования откроем любую из закладок с диаграммами и выберем одну (а лучше несколько) из них, затем попереключаем темы рабочей области, подмечая раскраску подложки в дереве диаграмм и в области картинки. Никакой разницы, даже на видеозаписи, не выявлено, поэтому не засчитываю правку. А параллельно выявилась проблема тёмной темы, которая не показывает все выбранные элементы дерева, а только подсвечивает активный. За это сниму, как за старый баг.
Fixed the multiple selection of diagrams when a folder gets into the selection.
Зафиксирован множественный выбор диаграмм, когда папка входит в выборку.
Не могу сказать, что мои случайные клики подтверждают в точности фикс. Для теста была открыта закладка All Flowcharts, в дереве которой первым кликом была выбрана нода диаграммы, вторым кликом с нажатой клавишей CTRL ещё одна диаграмма, а третьим и удерживаемой CTRL - их верхняя папка. В прошлом билде на третьем клике область картинок обнулилась. Это и считаю исправлением - активация папки при множественном выборе диаграмм больше не очищает область картинок. Если бы тех.писательница именно так составила текст RNs, то билд бы пополнился полным баллом.
Diagrams are now correctly shown in the SVG format in Firefox and Chrome.
Диаграммы теперь правильно показываются в SVG-формате в означенных браузерах.
Для тестирования переформируем диаграммы в прошлом и текущем билдах. Затем в настройках приложения "File / Preferences / General / Open HTML with Browser" выберем поочерёдно браузеры и пооткрываем эту диаграмму через контекстное меню "Open in Browser". Теперь открытие диаграмм в Firefox производится благополучно, но в Chrome с запрещённым исполнением Java скриптов всё ещё невозможно увидеть картинку диаграммы. Странно, что в список браузеров не попал MS Edge, в котором тоже был аналогичный баг. Поэтому даю лишь полбалла.
CRUD Matrices 0.8 из 1 возможного
Fixed work of the "Regenerate", "Show Header", and "Show Legend" options.
Зафиксирована работа опций перегенерации, показа заголовка и легенды.
Двоякое значение термина options вынуждает нас тестировать настройки анализатора и интерфейсную закладку с матрицами, отчёт по проекту думаю нет смысла перепроверять. Настройки в "Analyze / Code Analyzer Options / Diagram Options / CRUD" никаких изменений не претерпели. Также не обнаружено каких-либо исправлений в работе перегенерации, добавлении или удалении заголовка и легенды матриц CRUD1 (скриптового уровня). Единственно, на закладке CRUD2 (проектного уровня) замечены изменения в работе тем, что после отработки перечисленных действий из контекстного меню навигация в дереве объектов не перескакивает на первый элемент, а область содержимого матрицы не опустошается, а реально изменяет внешний вид матрицы. Отсутствие уточнения в тексте RNs снижает стоимость фикса.
Export Diagrams 0+0+0=0 из 3 возможных
The "Zoom Diagram" label is now inactive when no zooming is possible.
Лейбла зума теперь неактивна, когда невозможно никакое зумирование.
Зумирование имеет нижний и верхний пределы, выход за которые по-моему является единственным ограничением. Но если вам известны иные условия возможности зумирования, то прошу ими поделиться. Зум приложения имеется в интерфейсе, а в стороннем браузере после экспорта диаграммы работает уже свой зум браузера. Поэтому выбор модуля (мастер экспорта диаграмм) для пункта RNs выглядит очень странно. Эта претензия скорее всего относится к оформителю бага. Функционально в интерфейсе на закладках диаграмм имеется множество способов зумирования: "градусник", кнопки лупы с "+" и "-", пункты выпадающего меню, горячие клавиши. Никакие из них не переходят в статус неактивности при достижении лимита. Поэтому не могу засчитать фикс в той формулировке, как есть. А если бы тех.писательница сказала, что при открытии диаграмм во внешнем браузере зум приложения, перетянутый в заголовок картинки, перестал быть доступным, то можно было бы дать хоть часть балла.
A hand cursor is no longer shown on pointing to a diagram block in SVG format as there is nowhere to navigate.
Курсор-кисть больше не показывается при указании на блок диаграммы в SVG-формате, если от него некуда навигировать.
Интерактивность диаграмм в CS подразумевает автоматическую навигацию из диаграммы на строку кода. Но некоторые блоки дерева вызовов могут быть не связаны с кодом. Именно такие и возьмём для теста. Но результат теста показал иное изменение. Несвязанные элементы имеют одинаковые формы курсора, а вот объекты данных (таблицы, вьювера), с данными которых работает код, обогатились ссылками на матрицу CRUD2 уровня проекта. Это новшество нигде не описано. Фикса в интерфейсе нет, значит и балла не может быть. Если же тестировать диаграмму, экспортированную в HTML-формат, как это приписано модулем, то и этот вариант не показывает наличие исправления. Поэтому балл давать не за что.
Fixed object links in Flowcharts and Call Tree diagrams opened in a browser.
Зафиксированы линки объектов в диаграммах, открываемых в браузере.
Как уже ранее говорилось, CS - интерактивное приложение и формирует отчёт также интерактивный с линками из диаграмм в код. А вот при одноразовом открытии диаграммы во внешнем браузере или после её экспорта в линках на код нет никакой необходимости. Как уже было проверено в предшествующем пункте RNs, экспорт давно формируется без линков. Нам остаётся только проверить открытие во внешнем браузере диаграмм в форматах, отличных от SVG. В них тоже не выявлено никаких изменений, то есть билд недополучает балл.
Toolbar Customizer 0.9+0+0=0.9 из 3 возможных
The dynamic part of the caption is no longer shown for the "Go Back" and "Go Forward" options.
Динамичная часть заголовка больше не показывается для опций перехода вперёд и назад.
Для тестирования создадим данные, кликнув несколько раз по различным интерфейсным элементам рабочей области (ноды в дереве проекта и закладки анализатора), а также по кнопке или горячей клавише (Alt+Right, Alt_Left) для возврата к предыдущему положению курсора. Чтобы проверить фикс откроем мастер настройки главного туллбара и сравним наименования кнопок для перехода по элементам рабочей области приложения. Подписи должны быть короткими, без приписки о последнем шаге. Если бы тех.писательница вместо "the dynamic part of the caption" (термин динамичности заголовка пришёл из словаря программиста, но вполне может быть не понятен юзеру) назвала объект более просто "action name" или "button name" и описала изменение как "unnecessary data of last step is not added any more to the action name in the list of the toolbar customizer", то мне не пришлось бы столь подробно описывать тест.
The error "List index out of bounds" is no longer raised on double-clicking in the Toolbar Customizer.
Ошибка превышения индекса больше не появляется по двойному клику на мастере настройки туллбара.
Поскольку не сказано, в какой именно области окна надо кликать дважды, то пришлось манки-тестить. Но это всё-равно не воспроизвело баг в прошлом билде. Поэтому фикс - фикция.
The error "List index out of bounds" is no longer raised on a moving visible toolbar button.
Ошибка превышения индекса больше не появляется на перемещении видимых кнопок туллбара.
Поскольку сказано о видимых кнопках, то единственным моим предположением является наличие проблемы в правом списке (мастер состоит из двух списков кнопок: левый - исходный по-алфавиту для отбора, правый - выбранные в порядке юзера). Но, опять же, никакие сдвиги не дали мне увидеть баг, то есть фикс - фикция.
Code Analyzer 0 из 1 возможного
An access violation error no longer occurs on trying to analyze a huge project with lots of code comments in scripts.
Ошибка доступа больше не случается при попытке проанализировать огромный проект с большим количеством комментариев в скриптах.
Явно, что необходимо иметь данные для теста производительности. Что такое "огромный проект" и какое количество комментариев можно считать большим? Объём комментариев скрипта можно вычислить по формуле Maintainability Index. А объём проекта для анализатора составляют две величины: количество скриптов в проекте и количество строк в каждом скрипте. Также стоит учитывать объём оперативной памяти и тип анализа с форматированием или без. Дело в том, что после обработки кода парсером, вычленяющим комментарии, и анализатором, структурирующим код по функциональному предназначению, ссылки на строки кода из результатов анализа необходимо расставить правильно, а поскольку анализатор работает с чистым кодом без комментариев, то их возврат в код требует большого объёма оперативной памяти. Список технических условий CS давно не обновлялся, даже необходимый объём свободной памяти (10Мб) с первого билда версии#9 отстаёт от реального, не говоря уже о никогда не замеряемых объёмах проекта и скрипта, которые в ConquestSS называют огромными. Так что, у меня нет никакой уверенности, что какой бы-то ни было проект даст баг в прошлом билде. А значит и не получится подтвердить наличие исправления.
Code Synchronization 0 из 1 возможного
An access violation error no longer occurs on clicking the "Selection Sync Settings" link on the Sync History tab.
Ошибка доступа больше не случается при клике по линку настроек синхронизатора в закладке с историей синхронизаций.
Закладка с историей синхронизаций имеется у каждого скрипта среди прочих с результатами анализа. Данные в ней, а также все интерфейсные элементы, становятся доступны только для линкованных скриптов. В прошлом билде ни для какого скрипта из демо-проекта никаких проблем не случается при клике на линк с настройками. Билд недополучает балл из-за фиктивного фикса.
Link Manager 0 из 1 возможного
ClearSQL no longer hangs on closing the Link Manager when a huge project is used.
Приложение больше не подвисает при закрытии менеджера линковки, когда огромный проект используется.
Опять же, нет никаких пределов и соотношений по размерам проекта. При работе с менеджером линковки и мастером импорта скриптов в проект сильно задействуется оперативная память для отката изменений. Поэтому тестировщикам ConquestSS давно пора опубликовать (а может сначала и составить) соотношение объёмов оперативной памяти, количества скриптов и строк в них, которые способен обработать CS. В своё время аналогичную работу мы проводили для дерева объектов в CDB и рабочих окон в SD. По старо-известному принципу формирования данных для нагрузочного тестирования мне так и не удалось отловить баг в прошлом билде. Поэтому не могу дать балл.
Duplicate Code 0 из 1 возможного
Detected duplicate code lines are now sorted by the number of code lines, in the descending order.
Обнаруженные дублированные строки кода теперь сортируются по количеству строк кода в обратном порядке.
Когда только появилась функциональность по обнаружению дубликатов, мне было не просто понять результаты анализа, поскольку они на первый взгляд сами по себе казались дублированными. И только когда удалось разглядеть мелкое различие в количестве и номерах совпадающих строк, удалось понять пользу правила кодирования. Подскажу, что нам нужно сравнить результаты анализа на закладке Code Review по правилу №182 "Avoid duplicate code". Поскольку по-умолчанию проверке подвергаются более пяти совпадающих строк, то и примеры нужны соответствующие. В демо-проекте вы их не найдёте, но из его скриптов легко можно составить необходимые данные, которые обязательно проанализировать при включенном правиле. Сравнение результатов анализа показало, что никаких изменений не сделано: по прежнему они сортируются сначала по номерам строк кода, а внутри по количеству совпадающих строк в обратном порядке. Поэтому никаких баллов билду прибавить не могу.
Navigation History 0+0.5=0.5 из 2 возможных
The error "Cannot create HTML file" is no longer raised on navigating from CRUD2 to Code Editor using the "Go Back" option.
Ошибка невозможности создания HTML-файла больше не появляется при навигации из матрицы CRUD2 в редактор кода, используя опцию возврата действий.
Матрица CRUD2 из числа проектных, а редактор кода является закладкой уровня скрипта. При этом вместе с редактором кода активируется какая-нибудь закладка с результатами анализа скрипта. Это примечание критично, поскольку в тексте ошибки упоминается HTML-формат, на котором отрабатывают только закладки диаграмм. Так что для пополнения истории кликов тест сделаем так: откроем скрипт и одну из его закладок с диаграммами, откроем закладку CRUD2, нажмём кнопку главного туллбара для возврата к предыдущему элементу рабочего стола. В прошлом билде баг не воспроизводится, а значит нельзя отметить наличие исправления. Вероятно правилось что-то другое, а не описанное.
Ctrl+Click actions are now always recorded in the navigation history.
Действие Ctrl+Click теперь всегда записывается в историю навигаций.
На сколько я знаю, эта спец.комбинация в редакторе кода переводит курсор на вызываемый объект внутри кода и в дереве проекта. Других предназначений этой горячей клавиши на иных закладках я не знаю. поэтому проверять будем только эти варианты. Смена скриптов по горячей клавише и ранее записывалась в историю кликов, а вот внутри кода - добавлено. Также теперь в истории имеются и обычные перемещения по дереву проекта, о чём почему-то тех.писательница умолчала. Фикс сделан наполовину.
Global Search 1 из 1 возможного, -0.5 за баг
The search field is now fully visible after resetting the main toolbar to default.
Поле поиска теперь полностью видно после восстановления главного туллбара к изначальным параметрам.
Восстановлению главного туллбара он подвержен двумя способами: через его контекстное меню и по кнопке в мастере настройки. Внимание! Настройка главного туллбара по-умолчанию не является единственной, взятой при первой установке приложения, поскольку набор и расположение кнопок принимается дефолтным по их расположению всякий раз перед исполнением "View / Reset Workspace to Default". По кнопке же восстановления в мастере настройки туллбара он на самом деле всего лишь откатывается к состоянию до открытия мастера. Так что для чистоты теста откроем приложение, добавим какую-нибудь кнопку в туллбар, а потом выполним Reset to Default из контекстного меню главного туллбара. В прошлом билде окно поиска в правом верхнем углу уезжало куда-то за пределы окна. Но в обоих билдах по прежнему сложно вызвать контекстное меню туллбара из-за хинтов кнопок и большинства кнопок в активном состоянии. Это неудобство оцениваю в -0.5 балла.
Structure View 0.8 из 1 возможного, -1 за проблему
The structure view analysis results are now displayed correctly for projects created in the recent ClearSQL versions.
Результаты анализа для просмотра структуры теперь отображаются правильно для проектов, созданных в последних версиях CS.
С какими правилами справляться в данном случае, сказать никак не могу. Разве что, может результаты совсем не отображались. По крайней мере, этого не уточнила тех.писательница. Для теста нам понадобятся проекты, созданные и проанализированные в недавних версиях CS 8 и 9.0 для 9.1, 9.0 и 9.1 для текущего минора. При простом открытии конвертор проекта ничего не меняет в дереве структуры кода, а вот переанализ этих же скриптов перегруппировывает дерево структуры кода кардинально. Скорее всего это не исправленный баг, а нововведение, которое может серьёзно повредить накопленные данные анализатора у постоянных юзеров CS. Помню, от подобного изменения был великий скандал в группе разработки ConquestSS, когда юзер требовал возврата потраченных средств не только за продукт, но и за его время на восстановление данных. Подобные правки никак нельзя вставлять в билд дерективно, только выбор по опции может предотвратить негативное отношение потребителей к продукту. За неполноценность описания даю 0.8 балла, а за отсутствие о кардинальном изменении функционала сниму -1 балл.
GUI 0 из 1 возможного, -0.3 за баг
Fixed how instant help icons look in the dark theme.
Зафиксировано как иконки встроенной помощи выглядят в тёмной схеме.
Для показа встроенных подсказок (не основного хелпа и хинтов) в интерфейсе CS существует маленькая кнопка с буквой "i" в голубом кружочке. Раньше такая кнопочка была на каждой закладке рабочей области, но сейчас она встречается лишь в таблице с метриками кода и их настройками. Ни скриншоты, ни видеозаписи не показали разницы в пикселях иконки. А вот почти полная невидимость кнопки-стрелки для разворачивания и сворачивания колонок в таблице метрик кода в логические группы явно имеется и до сих пор не исправлена в тёмной теме. Так что, ни балла за фикс, ни -0.3 за выявленный баг билд не добирает.
Main Toolbar 1 из 1 возможного, -0.5 за баг
The command "Reset to Default" is now active only when the toolbar is not in the default state.
Команда восстановления к исходному состоянию теперь активна только когда туллбар не в дефолтном состоянии.
Как уже было ранее сказано, дефолтное состояние главного туллбара отсчитывается от момента последнего возврата (View / Reset Workspace to Default) рабочей области к его дефолтному. Поэтому считаю бессмысленным отключать пункт контекстного меню, с помощью которого единственным образом можно обнулить настройки главного туллбара. Это бесполезное изменение стоило заменить иным, в результате которого настройки туллбара возвращались бы к тем, которые имеются в "нулевом состоянии" приложения, то есть когда CS установлен впервые на машину. Как бы мне не нравилось давать баллы за ненужное, но придётся. Но за нелогичность функционала сниму -0.5 балла.

Итого по билду: 12.9+9.8=22.7 баллов из 24+37=61 возможных дают 22.7/61=37% готовности к публикации за минусом -2-2.5=-4.5 баллов за баги.

вторник, 21 января 2020 г.

Ограниченность

Тестировщики в своей работе очень часто встречаются с ограничениями. Прописанные ограничения являются стандартами, на которые равняются результаты тестов. Начинающие соратники среди первоочередных задач называют проверки граничных значений. Недостаток ограничений всегда можно оформить в предложение.
Про то где и какие уместны проверки ограничений вполне доступным языком рассказала и показала лектор курса начинающих тестировщиков Нина Агеева (тренер курса «Погружение в тестирование. Jedi Point») в видео-уроках
К чему может привести отсутствие достаточных ограничений упомянуто на примерах в форуме тестировщиков.
А вчера в магазине случилась беда у кассира с покупателем из-за отсутствия ограничения. Программное обеспечение касс не отображает остатки на складе, поэтому кассир может проставить количество, превышающее имеющиеся и покупаемые позиции. Когда покупатель берёт несколько одинаковых мелких пакетиков, кассир может сканировать каждый из них, либо отсканировать один, просчитать вручную фактическое их количество и ввести это значение с клавиатуры. Но ручное пересчитывание грозит "человеческим фактором", что и произошло на моих глазах. Покупатель, обнаружив опечатку в количестве приобретённых позиций (забрал все остатки с полки, но их число оказалось меньше пробитого в чеке) не только нервничает и возмущается (ругается с персоналом универсама), но и задерживает очередь остальных покупателей для восстановления справедливости. Возврат оплаты и узнать баланс остатков может сделать только карта администратора магазина, то есть всем известное ожидание отражается не только на обманутом покупателе, но и на прочих клиентах. А ведь если кассир не смог бы ввести количество позиций, превышающее остатки, то сразу бы заметил собственный обсчёт и не устроил бы негативную ситуацию, нервы и деньги покупателей были бы в сохранности, впечатление о торговой сети не портилось бы.
Уважаемые тестировщики, пусть ваша ограниченность в знаниях предметной области не становится причиной отсутствия достаточных ограничений в программном обеспечении.